yes
Sitemap
hide
show
hide
show
show
show
hide
hide
show
show
show
hide
show
ctrl-4 ctrl-Backquote
yes
hide
show
<div class="tc-control-panel">
<<tabs "[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]" "$:/core/ui/ControlPanel/Info">>
</div>
{
    "tiddlers": {
        "$:/Acknowledgements": {
            "title": "$:/Acknowledgements",
            "type": "text/vnd.tiddlywiki",
            "text": "TiddlyWiki incorporates code from these fine OpenSource projects:\n\n* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]\n* [[The Jasmine JavaScript Test Framework|http://pivotal.github.io/jasmine/]]\n* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]\n\nAnd media from these projects:\n\n* World flag icons from [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]\n"
        },
        "$:/core/copyright.txt": {
            "title": "$:/core/copyright.txt",
            "type": "text/plain",
            "text": "TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)\n\nCopyright © Jeremy Ruston 2004-2007\nCopyright © UnaMesa Association 2007-2016\n\nRedistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this\nlist of conditions and the following disclaimer.\n\nRedistributions in binary form must reproduce the above copyright notice, this\nlist of conditions and the following disclaimer in the documentation and/or other\nmaterials provided with the distribution.\n\nNeither the name of the UnaMesa Association nor the names of its contributors may be\nused to endorse or promote products derived from this software without specific\nprior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND ANY\nEXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\nOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT\nSHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\nINCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED\nTO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\nBUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\nANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\nDAMAGE.\n"
        },
        "$:/core/icon": {
            "title": "$:/core/icon",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><path d=\"M64 0l54.56 32v64L64 128 9.44 96V32L64 0zm21.127 95.408c-3.578-.103-5.15-.094-6.974-3.152l-1.42.042c-1.653-.075-.964-.04-2.067-.097-1.844-.07-1.548-1.86-1.873-2.8-.52-3.202.687-6.43.65-9.632-.014-1.14-1.593-5.17-2.157-6.61-1.768.34-3.546.406-5.34.497-4.134-.01-8.24-.527-12.317-1.183-.8 3.35-3.16 8.036-1.21 11.44 2.37 3.52 4.03 4.495 6.61 4.707 2.572.212 3.16 3.18 2.53 4.242-.55.73-1.52.864-2.346 1.04l-1.65.08c-1.296-.046-2.455-.404-3.61-.955-1.93-1.097-3.925-3.383-5.406-5.024.345.658.55 1.938.24 2.53-.878 1.27-4.665 1.26-6.4.47-1.97-.89-6.73-7.162-7.468-11.86 1.96-3.78 4.812-7.07 6.255-11.186-3.146-2.05-4.83-5.384-4.61-9.16l.08-.44c-3.097.59-1.49.37-4.82.628-10.608-.032-19.935-7.37-14.68-18.774.34-.673.664-1.287 1.243-.994.466.237.4 1.18.166 2.227-3.005 13.627 11.67 13.732 20.69 11.21.89-.25 2.67-1.936 3.905-2.495 2.016-.91 4.205-1.282 6.376-1.55 5.4-.63 11.893 2.276 15.19 2.37 3.3.096 7.99-.805 10.87-.615 2.09.098 4.143.483 6.16 1.03 1.306-6.49 1.4-11.27 4.492-12.38 1.814.293 3.213 2.818 4.25 4.167 2.112-.086 4.12.46 6.115 1.066 3.61-.522 6.642-2.593 9.833-4.203-3.234 2.69-3.673 7.075-3.303 11.127.138 2.103-.444 4.386-1.164 6.54-1.348 3.507-3.95 7.204-6.97 7.014-1.14-.036-1.805-.695-2.653-1.4-.164 1.427-.81 2.7-1.434 3.96-1.44 2.797-5.203 4.03-8.687 7.016-3.484 2.985 1.114 13.65 2.23 15.594 1.114 1.94 4.226 2.652 3.02 4.406-.37.58-.936.785-1.54 1.01l-.82.11zm-40.097-8.85l.553.14c.694-.27 2.09.15 2.83.353-1.363-1.31-3.417-3.24-4.897-4.46-.485-1.47-.278-2.96-.174-4.46l.02-.123c-.582 1.205-1.322 2.376-1.72 3.645-.465 1.71 2.07 3.557 3.052 4.615l.336.3z\" fill-rule=\"evenodd\"/></svg>"
        },
        "$:/core/images/advanced-search-button": {
            "title": "$:/core/images/advanced-search-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-advanced-search-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M74.5651535,87.9848361 C66.9581537,93.0488876 57.8237115,96 48,96 C21.490332,96 0,74.509668 0,48 C0,21.490332 21.490332,0 48,0 C74.509668,0 96,21.490332 96,48 C96,57.8541369 93.0305793,67.0147285 87.9377231,74.6357895 L122.284919,108.982985 C125.978897,112.676963 125.973757,118.65366 122.284271,122.343146 C118.593975,126.033442 112.613238,126.032921 108.92411,122.343793 L74.5651535,87.9848361 Z M48,80 C65.673112,80 80,65.673112 80,48 C80,30.326888 65.673112,16 48,16 C30.326888,16 16,30.326888 16,48 C16,65.673112 30.326888,80 48,80 Z\"></path>\n        <circle cx=\"48\" cy=\"48\" r=\"8\"></circle>\n        <circle cx=\"28\" cy=\"48\" r=\"8\"></circle>\n        <circle cx=\"68\" cy=\"48\" r=\"8\"></circle>\n    </g>\n</svg>"
        },
        "$:/core/images/auto-height": {
            "title": "$:/core/images/auto-height",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-auto-height tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <path d=\"M67.9867828,114.356363 L67.9579626,99.8785426 C67.9550688,98.4248183 67.1636987,97.087107 65.8909901,96.3845863 L49.9251455,87.5716209 L47.992126,95.0735397 L79.8995411,95.0735397 C84.1215894,95.0735397 85.4638131,89.3810359 81.686497,87.4948823 L49.7971476,71.5713518 L48.0101917,79.1500092 L79.992126,79.1500092 C84.2093753,79.1500092 85.5558421,73.4676733 81.7869993,71.5753162 L49.805065,55.517008 L48.0101916,63.0917009 L79.9921259,63.0917015 C84.2035118,63.0917016 85.5551434,57.4217887 81.7966702,55.5218807 L65.7625147,47.4166161 L67.9579705,50.9864368 L67.9579705,35.6148245 L77.1715737,44.8284272 C78.7336709,46.3905243 81.2663308,46.3905243 82.8284279,44.8284271 C84.390525,43.2663299 84.390525,40.7336699 82.8284278,39.1715728 L66.8284271,23.1715728 C65.2663299,21.6094757 62.73367,21.6094757 61.1715729,23.1715729 L45.1715729,39.1715729 C43.6094757,40.73367 43.6094757,43.26633 45.1715729,44.8284271 C46.73367,46.3905243 49.26633,46.3905243 50.8284271,44.8284271 L59.9579705,35.6988837 L59.9579705,50.9864368 C59.9579705,52.495201 60.806922,53.8755997 62.1534263,54.5562576 L78.1875818,62.6615223 L79.9921261,55.0917015 L48.0101917,55.0917009 C43.7929424,55.0917008 42.4464755,60.7740368 46.2153183,62.6663939 L78.1972526,78.7247021 L79.992126,71.1500092 L48.0101917,71.1500092 C43.7881433,71.1500092 42.4459197,76.842513 46.2232358,78.7286665 L78.1125852,94.6521971 L79.8995411,87.0735397 L47.992126,87.0735397 C43.8588276,87.0735397 42.4404876,92.5780219 46.0591064,94.5754586 L62.024951,103.388424 L59.9579785,99.8944677 L59.9867142,114.32986 L50.8284271,105.171573 C49.26633,103.609476 46.73367,103.609476 45.1715729,105.171573 C43.6094757,106.73367 43.6094757,109.26633 45.1715729,110.828427 L61.1715729,126.828427 C62.73367,128.390524 65.2663299,128.390524 66.8284271,126.828427 L82.8284278,110.828427 C84.390525,109.26633 84.390525,106.73367 82.8284279,105.171573 C81.2663308,103.609476 78.7336709,103.609476 77.1715737,105.171573 L67.9867828,114.356363 L67.9867828,114.356363 Z M16,20 L112,20 C114.209139,20 116,18.209139 116,16 C116,13.790861 114.209139,12 112,12 L16,12 C13.790861,12 12,13.790861 12,16 C12,18.209139 13.790861,20 16,20 L16,20 Z\"></path>\n</svg>"
        },
        "$:/core/images/blank": {
            "title": "$:/core/images/blank",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-blank tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\"></svg>"
        },
        "$:/core/images/bold": {
            "title": "$:/core/images/bold",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-bold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M41.1456583,51.8095238 L41.1456583,21.8711485 L67.4985994,21.8711485 C70.0084159,21.8711485 72.4285598,22.0802967 74.7591036,22.4985994 C77.0896475,22.9169022 79.1512515,23.6638602 80.9439776,24.7394958 C82.7367036,25.8151314 84.170863,27.3090474 85.2464986,29.2212885 C86.3221342,31.1335296 86.859944,33.5835518 86.859944,36.5714286 C86.859944,41.9496067 85.2465147,45.8337882 82.0196078,48.2240896 C78.792701,50.614391 74.6694929,51.8095238 69.6498599,51.8095238 L41.1456583,51.8095238 Z M13,0 L13,128 L75.0280112,128 C80.7647346,128 86.3519803,127.28292 91.789916,125.848739 C97.2278517,124.414559 102.068139,122.203563 106.310924,119.215686 C110.553709,116.22781 113.929959,112.373506 116.439776,107.652661 C118.949592,102.931816 120.204482,97.3445701 120.204482,90.8907563 C120.204482,82.8832466 118.262391,76.0411115 114.378151,70.3641457 C110.493911,64.6871798 104.607883,60.7133634 96.719888,58.442577 C102.456611,55.6937304 106.788968,52.1680887 109.717087,47.8655462 C112.645206,43.5630037 114.109244,38.1849062 114.109244,31.7310924 C114.109244,25.7553389 113.123259,20.7357813 111.151261,16.6722689 C109.179262,12.6087565 106.400578,9.35201972 102.815126,6.90196078 C99.2296739,4.45190185 94.927196,2.68908101 89.907563,1.61344538 C84.8879301,0.537809748 79.3305627,0 73.2352941,0 L13,0 Z M41.1456583,106.128852 L41.1456583,70.9915966 L71.8011204,70.9915966 C77.896389,70.9915966 82.7964334,72.3958776 86.5014006,75.2044818 C90.2063677,78.0130859 92.0588235,82.7039821 92.0588235,89.2773109 C92.0588235,92.6237329 91.4911355,95.3725383 90.3557423,97.5238095 C89.2203491,99.6750808 87.6965548,101.378145 85.7843137,102.633053 C83.8720726,103.887961 81.661077,104.784311 79.1512605,105.322129 C76.641444,105.859947 74.0121519,106.128852 71.2633053,106.128852 L41.1456583,106.128852 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/cancel-button": {
            "title": "$:/core/images/cancel-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-cancel-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n\t<g fill-rule=\"evenodd\">\n\t    <path d=\"M64,76.3137085 L47.0294734,93.2842351 C43.9038742,96.4098343 38.8399231,96.4084656 35.7157288,93.2842712 C32.5978915,90.166434 32.5915506,85.0947409 35.7157649,81.9705266 L52.6862915,65 L35.7157649,48.0294734 C32.5901657,44.9038742 32.5915344,39.8399231 35.7157288,36.7157288 C38.833566,33.5978915 43.9052591,33.5915506 47.0294734,36.7157649 L64,53.6862915 L80.9705266,36.7157649 C84.0961258,33.5901657 89.1600769,33.5915344 92.2842712,36.7157288 C95.4021085,39.833566 95.4084494,44.9052591 92.2842351,48.0294734 L75.3137085,65 L92.2842351,81.9705266 C95.4098343,85.0961258 95.4084656,90.1600769 92.2842712,93.2842712 C89.166434,96.4021085 84.0947409,96.4084494 80.9705266,93.2842351 L64,76.3137085 Z M64,129 C99.346224,129 128,100.346224 128,65 C128,29.653776 99.346224,1 64,1 C28.653776,1 1.13686838e-13,29.653776 1.13686838e-13,65 C1.13686838e-13,100.346224 28.653776,129 64,129 Z M64,113 C90.509668,113 112,91.509668 112,65 C112,38.490332 90.509668,17 64,17 C37.490332,17 16,38.490332 16,65 C16,91.509668 37.490332,113 64,113 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/chevron-down": {
            "title": "$:/core/images/chevron-down",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-chevron-down tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\" transform=\"translate(64.000000, 40.500000) rotate(-270.000000) translate(-64.000000, -40.500000) translate(-22.500000, -26.500000)\">\n        <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n        <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n\t</g>\n</svg>"
        },
        "$:/core/images/chevron-left": {
            "title": "$:/core/images/chevron-left",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-chevron-left tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\" version=\"1.1\">\n    <g fill-rule=\"evenodd\" transform=\"translate(92.500000, 64.000000) rotate(-180.000000) translate(-92.500000, -64.000000) translate(6.000000, -3.000000)\">\n        <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n        <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/chevron-right": {
            "title": "$:/core/images/chevron-right",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-chevron-right tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\" transform=\"translate(-48.000000, -3.000000)\">\n        <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n        <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/chevron-up": {
            "title": "$:/core/images/chevron-up",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-chevron-up tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n\t<g fill-rule=\"evenodd\" transform=\"translate(64.000000, 89.500000) rotate(-90.000000) translate(-64.000000, -89.500000) translate(-22.500000, 22.500000)\">\n        <path d=\"M112.743107,112.12741 C111.310627,113.561013 109.331747,114.449239 107.145951,114.449239 L27.9777917,114.449239 C23.6126002,114.449239 20.0618714,110.904826 20.0618714,106.532572 C20.0618714,102.169214 23.6059497,98.6159054 27.9777917,98.6159054 L99.2285381,98.6159054 L99.2285381,27.365159 C99.2285381,22.9999675 102.77295,19.4492387 107.145205,19.4492387 C111.508562,19.4492387 115.061871,22.993317 115.061871,27.365159 L115.061871,106.533318 C115.061871,108.71579 114.175869,110.694669 112.743378,112.127981 Z\" transform=\"translate(67.561871, 66.949239) rotate(-45.000000) translate(-67.561871, -66.949239) \"></path>\n        <path d=\"M151.35638,112.12741 C149.923899,113.561013 147.94502,114.449239 145.759224,114.449239 L66.5910645,114.449239 C62.225873,114.449239 58.6751442,110.904826 58.6751442,106.532572 C58.6751442,102.169214 62.2192225,98.6159054 66.5910645,98.6159054 L137.841811,98.6159054 L137.841811,27.365159 C137.841811,22.9999675 141.386223,19.4492387 145.758478,19.4492387 C150.121835,19.4492387 153.675144,22.993317 153.675144,27.365159 L153.675144,106.533318 C153.675144,108.71579 152.789142,110.694669 151.356651,112.127981 Z\" transform=\"translate(106.175144, 66.949239) rotate(-45.000000) translate(-106.175144, -66.949239) \"></path>\n\t</g>\n</svg>"
        },
        "$:/core/images/clone-button": {
            "title": "$:/core/images/clone-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-clone-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M32.2650915,96 L32.2650915,120.002359 C32.2650915,124.419334 35.8432884,128 40.2627323,128 L120.002359,128 C124.419334,128 128,124.421803 128,120.002359 L128,40.2627323 C128,35.8457573 124.421803,32.2650915 120.002359,32.2650915 L96,32.2650915 L96,48 L108.858899,48 C110.519357,48 111.853018,49.3405131 111.853018,50.9941198 L111.853018,108.858899 C111.853018,110.519357 110.512505,111.853018 108.858899,111.853018 L50.9941198,111.853018 C49.333661,111.853018 48,110.512505 48,108.858899 L48,96 L32.2650915,96 Z\"></path>\n        <path d=\"M40,56 L32.0070969,56 C27.5881712,56 24,52.418278 24,48 C24,43.5907123 27.5848994,40 32.0070969,40 L40,40 L40,32.0070969 C40,27.5881712 43.581722,24 48,24 C52.4092877,24 56,27.5848994 56,32.0070969 L56,40 L63.9929031,40 C68.4118288,40 72,43.581722 72,48 C72,52.4092877 68.4151006,56 63.9929031,56 L56,56 L56,63.9929031 C56,68.4118288 52.418278,72 48,72 C43.5907123,72 40,68.4151006 40,63.9929031 L40,56 Z M7.9992458,0 C3.58138434,0 0,3.5881049 0,7.9992458 L0,88.0007542 C0,92.4186157 3.5881049,96 7.9992458,96 L88.0007542,96 C92.4186157,96 96,92.4118951 96,88.0007542 L96,7.9992458 C96,3.58138434 92.4118951,0 88.0007542,0 L7.9992458,0 Z M19.0010118,16 C17.3435988,16 16,17.336731 16,19.0010118 L16,76.9989882 C16,78.6564012 17.336731,80 19.0010118,80 L76.9989882,80 C78.6564012,80 80,78.663269 80,76.9989882 L80,19.0010118 C80,17.3435988 78.663269,16 76.9989882,16 L19.0010118,16 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/close-all-button": {
            "title": "$:/core/images/close-all-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-close-all-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\" transform=\"translate(-23.000000, -23.000000)\">\n        <path d=\"M43,131 L22.9976794,131 C18.5827987,131 15,127.418278 15,123 C15,118.590712 18.5806831,115 22.9976794,115 L43,115 L43,94.9976794 C43,90.5827987 46.581722,87 51,87 C55.4092877,87 59,90.5806831 59,94.9976794 L59,115 L79.0023206,115 C83.4172013,115 87,118.581722 87,123 C87,127.409288 83.4193169,131 79.0023206,131 L59,131 L59,151.002321 C59,155.417201 55.418278,159 51,159 C46.5907123,159 43,155.419317 43,151.002321 L43,131 Z\" transform=\"translate(51.000000, 123.000000) rotate(-45.000000) translate(-51.000000, -123.000000) \"></path>\n        <path d=\"M43,59 L22.9976794,59 C18.5827987,59 15,55.418278 15,51 C15,46.5907123 18.5806831,43 22.9976794,43 L43,43 L43,22.9976794 C43,18.5827987 46.581722,15 51,15 C55.4092877,15 59,18.5806831 59,22.9976794 L59,43 L79.0023206,43 C83.4172013,43 87,46.581722 87,51 C87,55.4092877 83.4193169,59 79.0023206,59 L59,59 L59,79.0023206 C59,83.4172013 55.418278,87 51,87 C46.5907123,87 43,83.4193169 43,79.0023206 L43,59 Z\" transform=\"translate(51.000000, 51.000000) rotate(-45.000000) translate(-51.000000, -51.000000) \"></path>\n        <path d=\"M115,59 L94.9976794,59 C90.5827987,59 87,55.418278 87,51 C87,46.5907123 90.5806831,43 94.9976794,43 L115,43 L115,22.9976794 C115,18.5827987 118.581722,15 123,15 C127.409288,15 131,18.5806831 131,22.9976794 L131,43 L151.002321,43 C155.417201,43 159,46.581722 159,51 C159,55.4092877 155.419317,59 151.002321,59 L131,59 L131,79.0023206 C131,83.4172013 127.418278,87 123,87 C118.590712,87 115,83.4193169 115,79.0023206 L115,59 Z\" transform=\"translate(123.000000, 51.000000) rotate(-45.000000) translate(-123.000000, -51.000000) \"></path>\n        <path d=\"M115,131 L94.9976794,131 C90.5827987,131 87,127.418278 87,123 C87,118.590712 90.5806831,115 94.9976794,115 L115,115 L115,94.9976794 C115,90.5827987 118.581722,87 123,87 C127.409288,87 131,90.5806831 131,94.9976794 L131,115 L151.002321,115 C155.417201,115 159,118.581722 159,123 C159,127.409288 155.419317,131 151.002321,131 L131,131 L131,151.002321 C131,155.417201 127.418278,159 123,159 C118.590712,159 115,155.419317 115,151.002321 L115,131 Z\" transform=\"translate(123.000000, 123.000000) rotate(-45.000000) translate(-123.000000, -123.000000) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/close-button": {
            "title": "$:/core/images/close-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-close-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M65.0864256,75.4091629 L14.9727349,125.522854 C11.8515951,128.643993 6.78104858,128.64922 3.65685425,125.525026 C0.539017023,122.407189 0.5336324,117.334539 3.65902635,114.209145 L53.7727171,64.0954544 L3.65902635,13.9817637 C0.537886594,10.8606239 0.532659916,5.79007744 3.65685425,2.6658831 C6.77469148,-0.451954124 11.8473409,-0.457338747 14.9727349,2.66805521 L65.0864256,52.7817459 L115.200116,2.66805521 C118.321256,-0.453084553 123.391803,-0.458311231 126.515997,2.6658831 C129.633834,5.78372033 129.639219,10.8563698 126.513825,13.9817637 L76.4001341,64.0954544 L126.513825,114.209145 C129.634965,117.330285 129.640191,122.400831 126.515997,125.525026 C123.39816,128.642863 118.32551,128.648248 115.200116,125.522854 L65.0864256,75.4091629 L65.0864256,75.4091629 Z\"></path>\n    </g>\n</svg>\n"
        },
        "$:/core/images/close-others-button": {
            "title": "$:/core/images/close-others-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-close-others-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z M64,96 C81.673112,96 96,81.673112 96,64 C96,46.326888 81.673112,32 64,32 C46.326888,32 32,46.326888 32,64 C32,81.673112 46.326888,96 64,96 Z M64,80 C72.836556,80 80,72.836556 80,64 C80,55.163444 72.836556,48 64,48 C55.163444,48 48,55.163444 48,64 C48,72.836556 55.163444,80 64,80 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/delete-button": {
            "title": "$:/core/images/delete-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-delete-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\" transform=\"translate(12.000000, 0.000000)\">\n        <rect x=\"0\" y=\"11\" width=\"105\" height=\"16\" rx=\"8\"></rect>\n        <rect x=\"28\" y=\"0\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n        <rect x=\"8\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n        <rect x=\"8\" y=\"112\" width=\"88\" height=\"16\" rx=\"8\"></rect>\n        <rect x=\"80\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n        <rect x=\"56\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n        <rect x=\"32\" y=\"16\" width=\"16\" height=\"112\" rx=\"8\"></rect>\n    </g>\n</svg>"
        },
        "$:/core/images/done-button": {
            "title": "$:/core/images/done-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-done-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M3.52445141,76.8322939 C2.07397484,75.3828178 1.17514421,73.3795385 1.17514421,71.1666288 L1.17514421,23.1836596 C1.17514421,18.7531992 4.75686621,15.1751442 9.17514421,15.1751442 C13.5844319,15.1751442 17.1751442,18.7606787 17.1751442,23.1836596 L17.1751442,63.1751442 L119.173716,63.1751442 C123.590457,63.1751442 127.175144,66.7568662 127.175144,71.1751442 C127.175144,75.5844319 123.592783,79.1751442 119.173716,79.1751442 L9.17657227,79.1751442 C6.96796403,79.1751442 4.9674142,78.279521 3.51911285,76.8315312 Z\" id=\"Rectangle-285\" transform=\"translate(64.175144, 47.175144) rotate(-45.000000) translate(-64.175144, -47.175144) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/down-arrow": {
            "title": "$:/core/images/down-arrow",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-down-arrow tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <path d=\"M109.35638,81.3533152 C107.923899,82.7869182 105.94502,83.6751442 103.759224,83.6751442 L24.5910645,83.6751442 C20.225873,83.6751442 16.6751442,80.1307318 16.6751442,75.7584775 C16.6751442,71.3951199 20.2192225,67.8418109 24.5910645,67.8418109 L95.8418109,67.8418109 L95.8418109,-3.40893546 C95.8418109,-7.77412698 99.3862233,-11.3248558 103.758478,-11.3248558 C108.121835,-11.3248558 111.675144,-7.78077754 111.675144,-3.40893546 L111.675144,75.7592239 C111.675144,77.9416955 110.789142,79.9205745 109.356651,81.3538862 Z\" transform=\"translate(64.175144, 36.175144) rotate(45.000000) translate(-64.175144, -36.175144) \"></path>\n</svg>"
        },
        "$:/core/images/download-button": {
            "title": "$:/core/images/download-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-download-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\"><g fill-rule=\"evenodd\"><path class=\"tc-image-download-button-ring\" d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z\"/><path d=\"M34.3496823,66.4308767 L61.2415823,93.634668 C63.0411536,95.4551107 65.9588502,95.4551107 67.7584215,93.634668 L94.6503215,66.4308767 C96.4498928,64.610434 96.4498928,61.6588981 94.6503215,59.8384554 C93.7861334,58.9642445 92.6140473,58.4731195 91.3919019,58.4731195 L82.9324098,58.4731195 C80.3874318,58.4731195 78.3243078,56.3860674 78.3243078,53.8115729 L78.3243078,38.6615466 C78.3243078,36.0870521 76.2611837,34 73.7162058,34 L55.283798,34 C52.7388201,34 50.675696,36.0870521 50.675696,38.6615466 L50.675696,38.6615466 L50.675696,53.8115729 C50.675696,56.3860674 48.612572,58.4731195 46.0675941,58.4731195 L37.608102,58.4731195 C35.063124,58.4731195 33,60.5601716 33,63.134666 C33,64.3709859 33.4854943,65.5566658 34.3496823,66.4308767 L34.3496823,66.4308767 Z\"/></g></svg>"
        },
        "$:/core/images/edit-button": {
            "title": "$:/core/images/edit-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-edit-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M116.870058,45.3431458 L108.870058,45.3431458 L108.870058,45.3431458 L108.870058,61.3431458 L116.870058,61.3431458 L116.870058,45.3431458 Z M124.870058,45.3431458 L127.649881,45.3431458 C132.066101,45.3431458 135.656854,48.9248678 135.656854,53.3431458 C135.656854,57.7524334 132.07201,61.3431458 127.649881,61.3431458 L124.870058,61.3431458 L124.870058,45.3431458 Z M100.870058,45.3431458 L15.6638275,45.3431458 C15.5064377,45.3431458 15.3501085,45.3476943 15.1949638,45.3566664 L15.1949638,45.3566664 C15.0628002,45.3477039 14.928279,45.3431458 14.7913977,45.3431458 C6.68160973,45.3431458 -8.34314575,53.3431458 -8.34314575,53.3431458 C-8.34314575,53.3431458 6.85614548,61.3431458 14.7913977,61.3431458 C14.9266533,61.3431458 15.0596543,61.3384973 15.190398,61.3293588 C15.3470529,61.3385075 15.5049057,61.3431458 15.6638275,61.3431458 L100.870058,61.3431458 L100.870058,45.3431458 L100.870058,45.3431458 Z\" transform=\"translate(63.656854, 53.343146) rotate(-45.000000) translate(-63.656854, -53.343146) \"></path>\n        <path d=\"M35.1714596,124.189544 C41.9594858,123.613403 49.068777,121.917633 58.85987,118.842282 C60.6854386,118.268877 62.4306907,117.705515 65.1957709,116.802278 C81.1962861,111.575575 87.0734839,109.994907 93.9414474,109.655721 C102.29855,109.242993 107.795169,111.785371 111.520478,118.355045 C112.610163,120.276732 115.051363,120.951203 116.97305,119.861518 C118.894737,118.771832 119.569207,116.330633 118.479522,114.408946 C113.146151,105.003414 104.734907,101.112919 93.5468356,101.66546 C85.6716631,102.054388 79.4899908,103.716944 62.7116783,109.197722 C59.9734132,110.092199 58.2519873,110.64787 56.4625698,111.20992 C37.002649,117.322218 25.6914684,118.282267 16.8654804,112.957098 C14.9739614,111.815848 12.5154166,112.424061 11.3741667,114.31558 C10.2329168,116.207099 10.84113,118.665644 12.7326489,119.806894 C19.0655164,123.627836 26.4866335,124.926678 35.1714596,124.189544 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/erase": {
            "title": "$:/core/images/erase",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-erase tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M60.0870401,127.996166 L123.102318,64.980888 C129.636723,58.4464827 129.629513,47.8655877 123.098967,41.3350425 L99.4657866,17.7018617 C92.927448,11.1635231 82.3486358,11.1698163 75.8199411,17.698511 L4.89768189,88.6207702 C-1.63672343,95.1551755 -1.6295126,105.736071 4.90103262,112.266616 L20.6305829,127.996166 L60.0870401,127.996166 Z M25.1375576,120.682546 L10.812569,106.357558 C7.5455063,103.090495 7.54523836,97.793808 10.8048093,94.5342371 L46.2691086,59.0699377 L81.7308914,94.5317205 L55.5800654,120.682546 L25.1375576,120.682546 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/excise": {
            "title": "$:/core/images/excise",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-excise tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M56,107.313709 L53.6568542,109.656854 C50.5326599,112.781049 45.4673401,112.781049 42.3431457,109.656854 C39.2189514,106.53266 39.2189514,101.46734 42.3431458,98.3431457 L58.3431458,82.3431457 C61.4673401,79.2189514 66.5326599,79.2189514 69.6568542,82.3431458 L85.6568542,98.3431458 C88.7810486,101.46734 88.7810486,106.53266 85.6568542,109.656854 C82.5326599,112.781049 77.4673401,112.781049 74.3431458,109.656854 L72,107.313708 L72,121.597798 C72,125.133636 68.418278,128 64,128 C59.581722,128 56,125.133636 56,121.597798 L56,107.313709 Z M0,40.0070969 C0,35.5848994 3.59071231,32 8,32 C12.418278,32 16,35.5881712 16,40.0070969 L16,71.9929031 C16,76.4151006 12.4092877,80 8,80 C3.581722,80 0,76.4118288 0,71.9929031 L0,40.0070969 Z M32,40.0070969 C32,35.5848994 35.5907123,32 40,32 C44.418278,32 48,35.5881712 48,40.0070969 L48,71.9929031 C48,76.4151006 44.4092877,80 40,80 C35.581722,80 32,76.4118288 32,71.9929031 L32,40.0070969 Z M80,40.0070969 C80,35.5848994 83.5907123,32 88,32 C92.418278,32 96,35.5881712 96,40.0070969 L96,71.9929031 C96,76.4151006 92.4092877,80 88,80 C83.581722,80 80,76.4118288 80,71.9929031 L80,40.0070969 Z M56,8.00709688 C56,3.58489938 59.5907123,0 64,0 C68.418278,0 72,3.58817117 72,8.00709688 L72,39.9929031 C72,44.4151006 68.4092877,48 64,48 C59.581722,48 56,44.4118288 56,39.9929031 L56,8.00709688 Z M112,40.0070969 C112,35.5848994 115.590712,32 120,32 C124.418278,32 128,35.5881712 128,40.0070969 L128,71.9929031 C128,76.4151006 124.409288,80 120,80 C115.581722,80 112,76.4118288 112,71.9929031 L112,40.0070969 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/export-button": {
            "title": "$:/core/images/export-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-export-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M8.00348646,127.999999 C8.00464867,128 8.00581094,128 8.00697327,128 L119.993027,128 C122.205254,128 124.207939,127.101378 125.657096,125.651198 L125.656838,125.65759 C127.104563,124.210109 128,122.21009 128,119.999949 L128,56.0000511 C128,51.5817449 124.409288,48 120,48 C115.581722,48 112,51.5797863 112,56.0000511 L112,112 L16,112 L16,56.0000511 C16,51.5817449 12.4092877,48 8,48 C3.581722,48 7.10542736e-15,51.5797863 7.10542736e-15,56.0000511 L7.10542736e-15,119.999949 C7.10542736e-15,124.418255 3.59071231,128 8,128 C8.00116233,128 8.0023246,128 8.00348681,127.999999 Z M56.6235633,27.3113724 L47.6580188,36.2769169 C44.5333664,39.4015692 39.4634864,39.4061295 36.339292,36.2819351 C33.2214548,33.1640979 33.2173444,28.0901742 36.3443103,24.9632084 L58.9616908,2.34582788 C60.5248533,0.782665335 62.5748436,0.000361191261 64.624516,2.38225238e-14 L64.6193616,0.00151809229 C66.6695374,0.000796251595 68.7211167,0.781508799 70.2854358,2.34582788 L92.9028163,24.9632084 C96.0274686,28.0878607 96.0320289,33.1577408 92.9078345,36.2819351 C89.7899973,39.3997724 84.7160736,39.4038827 81.5891078,36.2769169 L72.6235633,27.3113724 L72.6235633,88.5669606 C72.6235633,92.9781015 69.0418413,96.5662064 64.6235633,96.5662064 C60.2142756,96.5662064 56.6235633,92.984822 56.6235633,88.5669606 L56.6235633,27.3113724 L56.6235633,27.3113724 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/file": {
            "title": "$:/core/images/file",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-file tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"nonzero\">\n        <path d=\"M111.96811,30.5 L112,30.5 L112,119.999079 C112,124.417866 108.419113,128 104.000754,128 L23.9992458,128 C19.5813843,128 16,124.417687 16,119.999079 L16,8.00092105 C16,3.58213437 19.5808867,0 23.9992458,0 L81,0 L81,0.0201838424 C83.1589869,-0.071534047 85.3482153,0.707077645 86.9982489,2.35711116 L109.625176,24.9840387 C111.151676,26.510538 111.932942,28.4998414 111.96811,30.5 L111.96811,30.5 Z M81,8 L24,8 L24,120 L104,120 L104,30.5 L89.0003461,30.5 C84.5818769,30.5 81,26.9216269 81,22.4996539 L81,8 Z\"></path>\n        <rect x=\"32\" y=\"36\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n        <rect x=\"32\" y=\"52\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n        <rect x=\"32\" y=\"68\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n        <rect x=\"32\" y=\"84\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n        <rect x=\"32\" y=\"100\" width=\"64\" height=\"8\" rx=\"4\"></rect>\n        <rect x=\"32\" y=\"20\" width=\"40\" height=\"8\" rx=\"4\"></rect>\n    </g>\n</svg>"
        },
        "$:/core/images/fixed-height": {
            "title": "$:/core/images/fixed-height",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-fixed-height tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M60,35.6568542 L50.8284271,44.8284271 C49.26633,46.3905243 46.73367,46.3905243 45.1715729,44.8284271 C43.6094757,43.26633 43.6094757,40.73367 45.1715729,39.1715729 L61.1715729,23.1715729 C62.73367,21.6094757 65.2663299,21.6094757 66.8284271,23.1715728 L82.8284278,39.1715728 C84.390525,40.7336699 84.390525,43.2663299 82.8284279,44.8284271 C81.2663308,46.3905243 78.7336709,46.3905243 77.1715737,44.8284272 L68,35.6568539 L68,93.3431461 L77.1715737,84.1715728 C78.7336709,82.6094757 81.2663308,82.6094757 82.8284279,84.1715729 C84.390525,85.7336701 84.390525,88.2663301 82.8284278,89.8284272 L66.8284271,105.828427 C65.2663299,107.390524 62.73367,107.390524 61.1715729,105.828427 L45.1715729,89.8284271 C43.6094757,88.26633 43.6094757,85.73367 45.1715729,84.1715729 C46.73367,82.6094757 49.26633,82.6094757 50.8284271,84.1715729 L60,93.3431458 L60,35.6568542 L60,35.6568542 Z M16,116 L112,116 C114.209139,116 116,114.209139 116,112 C116,109.790861 114.209139,108 112,108 L16,108 C13.790861,108 12,109.790861 12,112 C12,114.209139 13.790861,116 16,116 L16,116 Z M16,20 L112,20 C114.209139,20 116,18.209139 116,16 C116,13.790861 114.209139,12 112,12 L16,12 C13.790861,12 12,13.790861 12,16 C12,18.209139 13.790861,20 16,20 L16,20 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/fold-all-button": {
            "title": "$:/core/images/fold-all-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-fold-all tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n        <rect x=\"0\" y=\"64\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n        <path d=\"M64.0292774,58.6235628 C61.9791013,58.6242848 59.9275217,57.8435723 58.3632024,56.279253 L35.7458219,33.6618725 C32.6211696,30.5372202 32.6166093,25.4673401 35.7408036,22.3431458 C38.8586409,19.2253085 43.9325646,19.2211982 47.0595304,22.348164 L64.0250749,39.3137085 L80.9906194,22.348164 C84.1152717,19.2235117 89.1851518,19.2189514 92.3093461,22.3431458 C95.4271834,25.460983 95.4312937,30.5349067 92.3043279,33.6618725 L69.6869474,56.279253 C68.1237851,57.8424153 66.0737951,58.6247195 64.0241231,58.6250809 Z\" transform=\"translate(64.024316, 39.313708) scale(1, -1) translate(-64.024316, -39.313708) \"></path>\n        <path d=\"M64.0292774,123.621227 C61.9791013,123.621949 59.9275217,122.841236 58.3632024,121.276917 L35.7458219,98.6595365 C32.6211696,95.5348842 32.6166093,90.4650041 35.7408036,87.3408098 C38.8586409,84.2229725 43.9325646,84.2188622 47.0595304,87.345828 L64.0250749,104.311373 L80.9906194,87.345828 C84.1152717,84.2211757 89.1851518,84.2166154 92.3093461,87.3408098 C95.4271834,90.458647 95.4312937,95.5325707 92.3043279,98.6595365 L69.6869474,121.276917 C68.1237851,122.840079 66.0737951,123.622383 64.0241231,123.622745 Z\" transform=\"translate(64.024316, 104.311372) scale(1, -1) translate(-64.024316, -104.311372) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/fold-button": {
            "title": "$:/core/images/fold-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-fold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n        <path d=\"M64.0292774,63.6235628 C61.9791013,63.6242848 59.9275217,62.8435723 58.3632024,61.279253 L35.7458219,38.6618725 C32.6211696,35.5372202 32.6166093,30.4673401 35.7408036,27.3431458 C38.8586409,24.2253085 43.9325646,24.2211982 47.0595304,27.348164 L64.0250749,44.3137085 L80.9906194,27.348164 C84.1152717,24.2235117 89.1851518,24.2189514 92.3093461,27.3431458 C95.4271834,30.460983 95.4312937,35.5349067 92.3043279,38.6618725 L69.6869474,61.279253 C68.1237851,62.8424153 66.0737951,63.6247195 64.0241231,63.6250809 Z\" transform=\"translate(64.024316, 44.313708) scale(1, -1) translate(-64.024316, -44.313708) \"></path>\n        <path d=\"M64.0049614,105.998482 C61.9547853,105.999204 59.9032057,105.218491 58.3388864,103.654172 L35.7215059,81.0367916 C32.5968535,77.9121393 32.5922933,72.8422592 35.7164876,69.7180649 C38.8343248,66.6002276 43.9082485,66.5961173 47.0352144,69.7230831 L64.0007589,86.6886276 L80.9663034,69.7230831 C84.0909557,66.5984308 89.1608358,66.5938705 92.2850301,69.7180649 C95.4028673,72.8359021 95.4069777,77.9098258 92.2800119,81.0367916 L69.6626314,103.654172 C68.099469,105.217334 66.0494791,105.999639 63.999807,106 Z\" transform=\"translate(64.000000, 86.688628) scale(1, -1) translate(-64.000000, -86.688628) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/fold-others-button": {
            "title": "$:/core/images/fold-others-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-fold-others tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <rect x=\"0\" y=\"56.0314331\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n        <path d=\"M101.657101,104.948818 C100.207918,103.498614 98.2051847,102.599976 95.9929031,102.599976 L72,102.599976 L72,78.6070725 C72,76.3964271 71.1036108,74.3936927 69.6545293,72.9441002 L69.6571005,72.9488183 C68.2079177,71.4986143 66.2051847,70.5999756 63.9929031,70.5999756 L32.0070969,70.5999756 C27.5881712,70.5999756 24,74.1816976 24,78.5999756 C24,83.0092633 27.5848994,86.5999756 32.0070969,86.5999756 L56,86.5999756 L56,110.592879 C56,112.803524 56.8963895,114.806259 58.3454713,116.255852 L58.3429,116.251133 C59.7920828,117.701337 61.7948156,118.599976 64.0070969,118.599976 L88,118.599976 L88,142.592879 C88,147.011804 91.581722,150.599976 96,150.599976 C100.409288,150.599976 104,147.015076 104,142.592879 L104,110.607072 C104,108.396427 103.103611,106.393693 101.654529,104.9441 Z\" transform=\"translate(64.000000, 110.599976) rotate(-45.000000) translate(-64.000000, -110.599976) \"></path>\n        <path d=\"M101.725643,11.7488671 C100.27646,10.2986632 98.2737272,9.40002441 96.0614456,9.40002441 L72.0685425,9.40002441 L72.0685425,-14.5928787 C72.0685425,-16.8035241 71.1721533,-18.8062584 69.7230718,-20.255851 L69.725643,-20.2511329 C68.2764602,-21.7013368 66.2737272,-22.5999756 64.0614456,-22.5999756 L32.0756394,-22.5999756 C27.6567137,-22.5999756 24.0685425,-19.0182536 24.0685425,-14.5999756 C24.0685425,-10.1906879 27.6534419,-6.59997559 32.0756394,-6.59997559 L56.0685425,-6.59997559 L56.0685425,17.3929275 C56.0685425,19.6035732 56.964932,21.6063078 58.4140138,23.0559004 L58.4114425,23.0511823 C59.8606253,24.5013859 61.8633581,25.4000244 64.0756394,25.4000244 L88.0685425,25.4000244 L88.0685425,49.3929275 C88.0685425,53.8118532 91.6502645,57.4000244 96.0685425,57.4000244 C100.47783,57.4000244 104.068542,53.815125 104.068542,49.3929275 L104.068542,17.4071213 C104.068542,15.1964759 103.172153,13.1937416 101.723072,11.744149 Z\" transform=\"translate(64.068542, 17.400024) scale(1, -1) rotate(-45.000000) translate(-64.068542, -17.400024) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/folder": {
            "title": "$:/core/images/folder",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-folder tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M55.6943257,128.000004 L7.99859666,128.000004 C3.5810937,128.000004 0,124.413822 0,119.996384 L0,48.0036243 C0,43.5833471 3.58387508,40.0000044 7.99859666,40.0000044 L16,40.0000044 L16,31.9999914 C16,27.5817181 19.5783731,24 24.0003461,24 L55.9996539,24 C60.4181231,24 64,27.5800761 64,31.9999914 L64,40.0000044 L104.001403,40.0000044 C108.418906,40.0000044 112,43.5861868 112,48.0036243 L112,59.8298353 L104,59.7475921 L104,51.9994189 C104,49.7887607 102.207895,48.0000044 99.9972215,48.0000044 L56,48.0000044 L56,36.0000255 C56,33.7898932 54.2072328,32 51.9957423,32 L28.0042577,32 C25.7890275,32 24,33.7908724 24,36.0000255 L24,48.0000044 L12.0027785,48.0000044 C9.78987688,48.0000044 8,49.7906032 8,51.9994189 L8,116.00059 C8,118.211248 9.79210499,120.000004 12.0027785,120.000004 L58.7630167,120.000004 L55.6943257,128.000004 L55.6943257,128.000004 Z\"></path>\n        <path d=\"M23.8728955,55.5 L119.875702,55.5 C124.293205,55.5 126.87957,59.5532655 125.650111,64.5630007 L112.305967,118.936999 C111.077582,123.942356 106.497904,128 102.083183,128 L6.08037597,128 C1.66287302,128 -0.923492342,123.946735 0.305967145,118.936999 L13.650111,64.5630007 C14.878496,59.5576436 19.4581739,55.5 23.8728955,55.5 L23.8728955,55.5 L23.8728955,55.5 Z M25.6530124,64 L113.647455,64 C115.858129,64 117.151473,66.0930612 116.538306,68.6662267 L105.417772,115.333773 C104.803671,117.910859 102.515967,120 100.303066,120 L12.3086228,120 C10.0979492,120 8.8046054,117.906939 9.41777189,115.333773 L20.5383062,68.6662267 C21.1524069,66.0891409 23.4401107,64 25.6530124,64 L25.6530124,64 L25.6530124,64 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/full-screen-button": {
            "title": "$:/core/images/full-screen-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-full-screen-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g>\n        <g>\n            <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n        </g>\n        <g transform=\"translate(104.000000, 104.000000) rotate(-180.000000) translate(-104.000000, -104.000000) translate(80.000000, 80.000000)\">\n            <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n        </g>\n        <g transform=\"translate(24.000000, 104.000000) rotate(-90.000000) translate(-24.000000, -104.000000) translate(0.000000, 80.000000)\">\n            <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n        </g>\n        <g transform=\"translate(104.000000, 24.000000) rotate(90.000000) translate(-104.000000, -24.000000) translate(80.000000, 0.000000)\">\n            <path d=\"M5.29777586e-31,8 C1.59060409e-15,3.581722 3.581722,0 8,0 L40,0 C44.418278,0 48,3.581722 48,8 C48,12.418278 44.418278,16 40,16 L16,16 L16,40 C16,44.418278 12.418278,48 8,48 C3.581722,48 -3.55271368e-15,44.418278 0,40 L3.55271368e-15,8 Z\"></path>\n        </g>\n    </g>\n</svg>"
        },
        "$:/core/images/github": {
            "title": "$:/core/images/github",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-github tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n        <g fill-rule=\"evenodd\">\n            <path d=\"M63.9383506,1.60695328 C28.6017227,1.60695328 -0.055756057,30.2970814 -0.055756057,65.6906208 C-0.055756057,94.003092 18.2804728,118.019715 43.7123154,126.493393 C46.9143781,127.083482 48.0812647,125.104717 48.0812647,123.405261 C48.0812647,121.886765 48.02626,117.85449 47.9948287,112.508284 C30.1929317,116.379268 26.4368926,103.916587 26.4368926,103.916587 C23.5255693,96.5129372 19.3294921,94.5420399 19.3294921,94.5420399 C13.5186324,90.5687739 19.7695302,90.6474524 19.7695302,90.6474524 C26.1933001,91.099854 29.5721638,97.2525155 29.5721638,97.2525155 C35.2808718,107.044059 44.5531024,104.215566 48.1991321,102.575118 C48.7806109,98.4366275 50.4346826,95.612068 52.2616263,94.0109598 C38.0507543,92.3941159 23.1091047,86.8944862 23.1091047,62.3389152 C23.1091047,55.3443933 25.6039634,49.6205298 29.6978889,45.1437211 C29.0378318,43.5229433 26.8415704,37.0044266 30.3265147,28.1845627 C30.3265147,28.1845627 35.6973364,26.4615028 47.9241083,34.7542205 C53.027764,33.330139 58.5046663,32.6220321 63.9462084,32.5944947 C69.3838216,32.6220321 74.856795,33.330139 79.9683085,34.7542205 C92.1872225,26.4615028 97.5501864,28.1845627 97.5501864,28.1845627 C101.042989,37.0044266 98.8467271,43.5229433 98.190599,45.1437211 C102.292382,49.6205298 104.767596,55.3443933 104.767596,62.3389152 C104.767596,86.9574291 89.8023734,92.3744463 75.5482834,93.9598188 C77.8427675,95.9385839 79.8897303,99.8489072 79.8897303,105.828476 C79.8897303,114.392635 79.8111521,121.304544 79.8111521,123.405261 C79.8111521,125.120453 80.966252,127.114954 84.2115327,126.489459 C109.623731,117.996111 127.944244,93.9952241 127.944244,65.6906208 C127.944244,30.2970814 99.2867652,1.60695328 63.9383506,1.60695328\"></path>\n        </g>\n    </svg>\n"
        },
        "$:/core/images/globe": {
            "title": "$:/core/images/globe",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-globe tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M72.8111354,37.1275855 C72.8111354,37.9789875 72.8111354,38.8303894 72.8111354,39.6817913 C72.8111354,41.8784743 73.7885604,46.5631866 72.8111354,48.5143758 C71.3445471,51.4420595 68.1617327,52.0543531 66.4170946,54.3812641 C65.2352215,55.9575873 61.7987417,64.9821523 62.7262858,67.3005778 C66.6959269,77.2228204 74.26087,70.4881886 80.6887657,76.594328 C81.5527211,77.415037 83.5758191,78.8666631 83.985137,79.8899578 C87.2742852,88.1128283 76.4086873,94.8989524 87.7419325,106.189751 C88.9872885,107.430443 91.555495,102.372895 91.8205061,101.575869 C92.6726866,99.0129203 98.5458765,96.1267309 100.908882,94.5234439 C102.928056,93.1534443 105.782168,91.8557166 107.236936,89.7775886 C109.507391,86.5342557 108.717505,82.2640435 110.334606,79.0328716 C112.473794,74.7585014 114.163418,69.3979002 116.332726,65.0674086 C120.230862,57.2857361 121.054075,67.1596684 121.400359,67.5059523 C121.757734,67.8633269 122.411167,67.5059523 122.916571,67.5059523 C123.011132,67.5059523 124.364019,67.6048489 124.432783,67.5059523 C125.0832,66.5705216 123.390209,49.5852316 123.114531,48.2089091 C121.710578,41.1996597 116.17083,32.4278331 111.249523,27.7092761 C104.975994,21.6942076 104.160516,11.5121686 92.9912146,12.7547535 C92.7872931,12.7774397 87.906794,22.9027026 85.2136766,26.2672064 C81.486311,30.9237934 82.7434931,22.1144904 78.6876623,22.1144904 C78.6065806,22.1144904 77.5045497,22.0107615 77.4353971,22.1144904 C76.8488637,22.9942905 75.9952305,26.0101404 75.1288269,26.5311533 C74.8635477,26.6906793 73.4071369,26.2924966 73.2826811,26.5311533 C71.0401728,30.8313939 81.5394677,28.7427264 79.075427,34.482926 C76.7225098,39.9642538 72.747373,32.4860199 72.747373,43.0434079\"></path>\n        <path d=\"M44.4668556,7.01044608 C54.151517,13.1403033 45.1489715,19.2084878 47.1611905,23.2253896 C48.8157833,26.5283781 51.4021933,28.6198851 48.8753629,33.038878 C46.8123257,36.6467763 42.0052989,37.0050492 39.251679,39.7621111 C36.2115749,42.8060154 33.7884281,48.7028116 32.4624592,52.6732691 C30.8452419,57.5158356 47.0088721,59.5388126 44.5246867,63.6811917 C43.1386839,65.9923513 37.7785192,65.1466282 36.0880227,63.8791519 C34.9234453,63.0059918 32.4946425,63.3331166 31.6713597,62.0997342 C29.0575851,58.1839669 29.4107339,54.0758543 28.0457962,49.9707786 C27.1076833,47.1493864 21.732611,47.8501656 20.2022714,49.3776393 C19.6790362,49.8998948 19.8723378,51.1703278 19.8723378,51.8829111 C19.8723378,57.1682405 26.9914913,55.1986414 26.9914913,58.3421973 C26.9914913,72.9792302 30.9191897,64.8771867 38.1313873,69.6793121 C48.1678018,76.3618966 45.9763926,76.981595 53.0777543,84.0829567 C56.7511941,87.7563965 60.8192437,87.7689005 62.503478,93.3767069 C64.1046972,98.7081071 53.1759798,98.7157031 50.786754,100.825053 C49.663965,101.816317 47.9736094,104.970571 46.5680513,105.439676 C44.7757187,106.037867 43.334221,105.93607 41.6242359,107.219093 C39.1967302,109.040481 37.7241465,112.151588 37.6034934,112.030935 C35.4555278,109.88297 34.0848666,96.5511248 33.7147244,93.7726273 C33.1258872,89.3524817 28.1241923,88.2337027 26.7275443,84.7420826 C25.1572737,80.8164061 28.2518481,75.223612 25.599097,70.9819941 C19.0797019,60.557804 13.7775712,56.4811506 10.2493953,44.6896152 C9.3074899,41.5416683 13.5912267,38.1609942 15.1264825,35.8570308 C17.0029359,33.0410312 17.7876232,30.0028946 19.8723378,27.2224065 C22.146793,24.1888519 40.8551166,9.46076832 43.8574051,8.63490613 L44.4668556,7.01044608 Z\"></path>\n        <path d=\"M64,126 C98.2416545,126 126,98.2416545 126,64 C126,29.7583455 98.2416545,2 64,2 C29.7583455,2 2,29.7583455 2,64 C2,98.2416545 29.7583455,126 64,126 Z M64,120 C94.927946,120 120,94.927946 120,64 C120,33.072054 94.927946,8 64,8 C33.072054,8 8,33.072054 8,64 C8,94.927946 33.072054,120 64,120 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/heading-1": {
            "title": "$:/core/images/heading-1",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-heading-1 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M14,30 L27.25,30 L27.25,60.104 L61.7,60.104 L61.7,30 L74.95,30 L74.95,105.684 L61.7,105.684 L61.7,71.552 L27.25,71.552 L27.25,105.684 L14,105.684 L14,30 Z M84.3350766,43.78 C86.8790893,43.78 89.3523979,43.5680021 91.7550766,43.144 C94.1577553,42.7199979 96.3307336,42.0133383 98.2740766,41.024 C100.21742,40.0346617 101.87807,38.7626744 103.256077,37.208 C104.634084,35.6533256 105.535075,33.7453446 105.959077,31.484 L115.817077,31.484 L115.817077,105.684 L102.567077,105.684 L102.567077,53.32 L84.3350766,53.32 L84.3350766,43.78 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/heading-2": {
            "title": "$:/core/images/heading-2",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-heading-2 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M125.519077,105.684 L74.8510766,105.684 C74.9217436,99.5359693 76.4057288,94.1653563 79.3030766,89.572 C82.2004244,84.9786437 86.1577182,80.986017 91.1750766,77.594 C93.5777553,75.8273245 96.0863969,74.113675 98.7010766,72.453 C101.315756,70.792325 103.718399,69.0080095 105.909077,67.1 C108.099754,65.1919905 109.901736,63.1250111 111.315077,60.899 C112.728417,58.6729889 113.47041,56.1113478 113.541077,53.214 C113.541077,51.8713266 113.382078,50.4403409 113.064077,48.921 C112.746075,47.4016591 112.127748,45.9883399 111.209077,44.681 C110.290405,43.3736601 109.018418,42.2783377 107.393077,41.395 C105.767735,40.5116622 103.647756,40.07 101.033077,40.07 C98.6303979,40.07 96.6340846,40.5469952 95.0440766,41.501 C93.4540687,42.4550048 92.1820814,43.762325 91.2280766,45.423 C90.2740719,47.083675 89.5674123,49.0446554 89.1080766,51.306 C88.648741,53.5673446 88.3837436,56.0053203 88.3130766,58.62 L76.2290766,58.62 C76.2290766,54.5213128 76.7767378,50.7230175 77.8720766,47.225 C78.9674154,43.7269825 80.610399,40.7060127 82.8010766,38.162 C84.9917542,35.6179873 87.6593942,33.6216739 90.8040766,32.173 C93.948759,30.7243261 97.6057224,30 101.775077,30 C106.297766,30 110.078395,30.7419926 113.117077,32.226 C116.155758,33.7100074 118.611401,35.5826554 120.484077,37.844 C122.356753,40.1053446 123.681739,42.5609868 124.459077,45.211 C125.236414,47.8610133 125.625077,50.3873213 125.625077,52.79 C125.625077,55.7580148 125.165748,58.4433213 124.247077,60.846 C123.328405,63.2486787 122.091751,65.4569899 120.537077,67.471 C118.982402,69.4850101 117.215753,71.3399915 115.237077,73.036 C113.2584,74.7320085 111.209087,76.3219926 109.089077,77.806 C106.969066,79.2900074 104.849087,80.7033266 102.729077,82.046 C100.609066,83.3886734 98.6480856,84.7313266 96.8460766,86.074 C95.0440676,87.4166734 93.47175,88.8123261 92.1290766,90.261 C90.7864032,91.7096739 89.8677458,93.2466585 89.3730766,94.872 L125.519077,94.872 L125.519077,105.684 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/heading-3": {
            "title": "$:/core/images/heading-3",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-heading-3 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M94.8850766,62.224 C96.8637532,62.294667 98.8424001,62.1533351 100.821077,61.8 C102.799753,61.4466649 104.566402,60.8283378 106.121077,59.945 C107.675751,59.0616623 108.930072,57.8426744 109.884077,56.288 C110.838081,54.7333256 111.315077,52.8253446 111.315077,50.564 C111.315077,47.3839841 110.237421,44.8400095 108.082077,42.932 C105.926733,41.0239905 103.153094,40.07 99.7610766,40.07 C97.641066,40.07 95.8037511,40.4939958 94.2490766,41.342 C92.6944022,42.1900042 91.4047484,43.3383261 90.3800766,44.787 C89.3554048,46.2356739 88.5957458,47.860991 88.1010766,49.663 C87.6064075,51.465009 87.3944096,53.3199905 87.4650766,55.228 L75.3810766,55.228 C75.5224107,51.623982 76.1937373,48.2850154 77.3950766,45.211 C78.596416,42.1369846 80.2393995,39.4693446 82.3240766,37.208 C84.4087537,34.9466554 86.9350618,33.1800064 89.9030766,31.908 C92.8710915,30.6359936 96.2277246,30 99.9730766,30 C102.870424,30 105.714729,30.4239958 108.506077,31.272 C111.297424,32.1200042 113.806065,33.3566585 116.032077,34.982 C118.258088,36.6073415 120.042403,38.6743208 121.385077,41.183 C122.72775,43.6916792 123.399077,46.5713171 123.399077,49.822 C123.399077,53.5673521 122.551085,56.8356527 120.855077,59.627 C119.159068,62.4183473 116.509095,64.4499936 112.905077,65.722 L112.905077,65.934 C117.145098,66.7820042 120.448731,68.8843166 122.816077,72.241 C125.183422,75.5976835 126.367077,79.6786426 126.367077,84.484 C126.367077,88.017351 125.660417,91.1796527 124.247077,93.971 C122.833736,96.7623473 120.925755,99.129657 118.523077,101.073 C116.120398,103.016343 113.329093,104.517995 110.149077,105.578 C106.969061,106.638005 103.612428,107.168 100.079077,107.168 C95.7683884,107.168 92.005426,106.549673 88.7900766,105.313 C85.5747272,104.076327 82.8894207,102.327345 80.7340766,100.066 C78.5787325,97.8046554 76.9357489,95.0840159 75.8050766,91.904 C74.6744043,88.7239841 74.0737436,85.1906861 74.0030766,81.304 L86.0870766,81.304 C85.9457426,85.8266893 87.0587315,89.5896517 89.4260766,92.593 C91.7934218,95.5963483 95.3443863,97.098 100.079077,97.098 C104.107097,97.098 107.481396,95.9496782 110.202077,93.653 C112.922757,91.3563219 114.283077,88.0880212 114.283077,83.848 C114.283077,80.9506522 113.717749,78.6540085 112.587077,76.958 C111.456404,75.2619915 109.972419,73.9723378 108.135077,73.089 C106.297734,72.2056623 104.230755,71.6580011 101.934077,71.446 C99.6373985,71.2339989 97.2877553,71.163333 94.8850766,71.234 L94.8850766,62.224 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/heading-4": {
            "title": "$:/core/images/heading-4",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-heading-4 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M8,30 L21.25,30 L21.25,60.104 L55.7,60.104 L55.7,30 L68.95,30 L68.95,105.684 L55.7,105.684 L55.7,71.552 L21.25,71.552 L21.25,105.684 L8,105.684 L8,30 Z M84.5890766,78.548 L107.061077,78.548 L107.061077,45.9 L106.849077,45.9 L84.5890766,78.548 Z M128.049077,88.088 L118.509077,88.088 L118.509077,105.684 L107.061077,105.684 L107.061077,88.088 L75.2610766,88.088 L75.2610766,76.11 L107.061077,31.484 L118.509077,31.484 L118.509077,78.548 L128.049077,78.548 L128.049077,88.088 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/heading-5": {
            "title": "$:/core/images/heading-5",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-heading-5 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M83.7550766,31.484 L122.127077,31.484 L122.127077,42.296 L92.7650766,42.296 L88.9490766,61.164 L89.1610766,61.376 C90.7864181,59.5386575 92.8533974,58.1430048 95.3620766,57.189 C97.8707558,56.2349952 100.361731,55.758 102.835077,55.758 C106.509762,55.758 109.795729,56.3763272 112.693077,57.613 C115.590424,58.8496729 118.0284,60.5809889 120.007077,62.807 C121.985753,65.0330111 123.487405,67.6653181 124.512077,70.704 C125.536748,73.7426819 126.049077,77.028649 126.049077,80.562 C126.049077,83.5300148 125.572081,86.5863176 124.618077,89.731 C123.664072,92.8756824 122.144754,95.7376538 120.060077,98.317 C117.9754,100.896346 115.30776,103.016325 112.057077,104.677 C108.806394,106.337675 104.919766,107.168 100.397077,107.168 C96.7930586,107.168 93.454092,106.691005 90.3800766,105.737 C87.3060613,104.782995 84.6030883,103.35201 82.2710766,101.444 C79.939065,99.5359905 78.0840835,97.1863473 76.7060766,94.395 C75.3280697,91.6036527 74.5684107,88.3353521 74.4270766,84.59 L86.5110766,84.59 C86.8644117,88.6180201 88.2423979,91.7096559 90.6450766,93.865 C93.0477553,96.0203441 96.2277235,97.098 100.185077,97.098 C102.729089,97.098 104.884401,96.6740042 106.651077,95.826 C108.417752,94.9779958 109.848738,93.8120074 110.944077,92.328 C112.039415,90.8439926 112.816741,89.1126766 113.276077,87.134 C113.735412,85.1553234 113.965077,83.0353446 113.965077,80.774 C113.965077,78.7246564 113.682413,76.763676 113.117077,74.891 C112.55174,73.018324 111.703749,71.3753404 110.573077,69.962 C109.442404,68.5486596 107.976086,67.4180042 106.174077,66.57 C104.372068,65.7219958 102.269755,65.298 99.8670766,65.298 C97.3230639,65.298 94.9380878,65.7749952 92.7120766,66.729 C90.4860655,67.6830048 88.8784149,69.4673203 87.8890766,72.082 L75.8050766,72.082 L83.7550766,31.484 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/heading-6": {
            "title": "$:/core/images/heading-6",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-heading-6 tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M6,30 L19.25,30 L19.25,60.104 L53.7,60.104 L53.7,30 L66.95,30 L66.95,105.684 L53.7,105.684 L53.7,71.552 L19.25,71.552 L19.25,105.684 L6,105.684 L6,30 Z M112.587077,50.246 C112.304409,47.2073181 111.226753,44.751676 109.354077,42.879 C107.481401,41.006324 104.955093,40.07 101.775077,40.07 C99.584399,40.07 97.6940846,40.4763293 96.1040766,41.289 C94.5140687,42.1016707 93.1714154,43.1793266 92.0760766,44.522 C90.9807378,45.8646734 90.0974133,47.401658 89.4260766,49.133 C88.7547399,50.864342 88.2070787,52.6839905 87.7830766,54.592 C87.3590745,56.5000095 87.0587442,58.390324 86.8820766,60.263 C86.7054091,62.135676 86.5464107,63.8846585 86.4050766,65.51 L86.6170766,65.722 C88.2424181,62.7539852 90.4860623,60.5456739 93.3480766,59.097 C96.2100909,57.6483261 99.3017267,56.924 102.623077,56.924 C106.297762,56.924 109.583729,57.5599936 112.481077,58.832 C115.378424,60.1040064 117.834067,61.8529889 119.848077,64.079 C121.862087,66.3050111 123.399071,68.9373181 124.459077,71.976 C125.519082,75.0146819 126.049077,78.300649 126.049077,81.834 C126.049077,85.438018 125.466082,88.7769846 124.300077,91.851 C123.134071,94.9250154 121.455754,97.6103219 119.265077,99.907 C117.074399,102.203678 114.459758,103.987994 111.421077,105.26 C108.382395,106.532006 105.025762,107.168 101.351077,107.168 C95.9097161,107.168 91.4400941,106.16101 87.9420766,104.147 C84.4440591,102.13299 81.6880867,99.3770175 79.6740766,95.879 C77.6600666,92.3809825 76.2644138,88.2823568 75.4870766,83.583 C74.7097394,78.8836432 74.3210766,73.8133605 74.3210766,68.372 C74.3210766,63.9199777 74.7980719,59.4326893 75.7520766,54.91 C76.7060814,50.3873107 78.278399,46.2710186 80.4690766,42.561 C82.6597542,38.8509815 85.5393921,35.8300117 89.1080766,33.498 C92.6767611,31.1659883 97.0757171,30 102.305077,30 C105.273091,30 108.064397,30.4946617 110.679077,31.484 C113.293756,32.4733383 115.608067,33.8513245 117.622077,35.618 C119.636087,37.3846755 121.27907,39.5046543 122.551077,41.978 C123.823083,44.4513457 124.529743,47.2073181 124.671077,50.246 L112.587077,50.246 Z M100.927077,97.098 C103.117754,97.098 105.025735,96.6563378 106.651077,95.773 C108.276418,94.8896623 109.636738,93.7413404 110.732077,92.328 C111.827415,90.9146596 112.640074,89.271676 113.170077,87.399 C113.700079,85.526324 113.965077,83.6006766 113.965077,81.622 C113.965077,79.6433234 113.700079,77.7353425 113.170077,75.898 C112.640074,74.0606575 111.827415,72.4530069 110.732077,71.075 C109.636738,69.6969931 108.276418,68.5840042 106.651077,67.736 C105.025735,66.8879958 103.117754,66.464 100.927077,66.464 C98.736399,66.464 96.8107516,66.8703293 95.1500766,67.683 C93.4894017,68.4956707 92.0937489,69.5909931 90.9630766,70.969 C89.8324043,72.3470069 88.9844128,73.9546575 88.4190766,75.792 C87.8537405,77.6293425 87.5710766,79.5726564 87.5710766,81.622 C87.5710766,83.6713436 87.8537405,85.6146575 88.4190766,87.452 C88.9844128,89.2893425 89.8324043,90.9323261 90.9630766,92.381 C92.0937489,93.8296739 93.4894017,94.9779958 95.1500766,95.826 C96.8107516,96.6740042 98.736399,97.098 100.927077,97.098 L100.927077,97.098 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/help": {
            "title": "$:/core/images/help",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-help tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M36.0548906,111.44117 C30.8157418,115.837088 20.8865444,118.803477 9.5,118.803477 C7.86465619,118.803477 6.25937294,118.742289 4.69372699,118.624467 C12.612543,115.984876 18.7559465,110.02454 21.0611049,102.609942 C8.74739781,92.845129 1.04940554,78.9359851 1.04940554,63.5 C1.04940554,33.9527659 29.2554663,10 64.0494055,10 C98.8433448,10 127.049406,33.9527659 127.049406,63.5 C127.049406,93.0472341 98.8433448,117 64.0494055,117 C53.9936953,117 44.48824,114.999337 36.0548906,111.44117 L36.0548906,111.44117 Z M71.4042554,77.5980086 C71.406883,77.2865764 71.4095079,76.9382011 71.4119569,76.5610548 C71.4199751,75.3262169 71.4242825,74.0811293 71.422912,72.9158546 C71.4215244,71.736154 71.4143321,70.709635 71.4001396,69.8743525 C71.4078362,68.5173028 71.9951951,67.7870427 75.1273009,65.6385471 C75.2388969,65.5619968 76.2124091,64.8981068 76.5126553,64.6910879 C79.6062455,62.5580654 81.5345849,60.9050204 83.2750652,58.5038955 C85.6146327,55.2762841 86.8327108,51.426982 86.8327108,46.8554323 C86.8327108,33.5625756 76.972994,24.9029551 65.3778484,24.9029551 C54.2752771,24.9029551 42.8794554,34.5115163 41.3121702,47.1975534 C40.9043016,50.4989536 43.2499725,53.50591 46.5513726,53.9137786 C49.8527728,54.3216471 52.8597292,51.9759763 53.2675978,48.6745761 C54.0739246,42.1479456 60.2395837,36.9492759 65.3778484,36.9492759 C70.6427674,36.9492759 74.78639,40.5885487 74.78639,46.8554323 C74.78639,50.4892974 73.6853224,52.008304 69.6746221,54.7736715 C69.4052605,54.9593956 68.448509,55.6118556 68.3131127,55.7047319 C65.6309785,57.5445655 64.0858213,58.803255 62.6123358,60.6352315 C60.5044618,63.2559399 59.3714208,66.3518252 59.3547527,69.9487679 C59.3684999,70.8407274 59.3752803,71.8084521 59.3765995,72.9300232 C59.3779294,74.0607297 59.3737237,75.2764258 59.36589,76.482835 C59.3634936,76.8518793 59.3609272,77.1924914 59.3583633,77.4963784 C59.3568319,77.6778944 59.3556368,77.8074256 59.3549845,77.8730928 C59.3219814,81.1994287 61.9917551,83.9227111 65.318091,83.9557142 C68.644427,83.9887173 71.3677093,81.3189435 71.4007124,77.9926076 C71.4014444,77.9187458 71.402672,77.7856841 71.4042554,77.5980086 Z M65.3778489,102.097045 C69.5359735,102.097045 72.9067994,98.7262189 72.9067994,94.5680944 C72.9067994,90.4099698 69.5359735,87.0391439 65.3778489,87.0391439 C61.2197243,87.0391439 57.8488984,90.4099698 57.8488984,94.5680944 C57.8488984,98.7262189 61.2197243,102.097045 65.3778489,102.097045 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/home-button": {
            "title": "$:/core/images/home-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-home-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M112.9847,119.501583 C112.99485,119.336814 113,119.170705 113,119.003406 L113,67.56802 C116.137461,70.5156358 121.076014,70.4518569 124.133985,67.3938855 C127.25818,64.2696912 127.260618,59.2068102 124.131541,56.0777326 L70.3963143,2.34250601 C68.8331348,0.779326498 66.7828947,-0.000743167069 64.7337457,1.61675364e-05 C62.691312,-0.00409949529 60.6426632,0.777559815 59.077717,2.34250601 L33,28.420223 L33,28.420223 L33,8.00697327 C33,3.58484404 29.4092877,0 25,0 C20.581722,0 17,3.59075293 17,8.00697327 L17,44.420223 L5.3424904,56.0777326 C2.21694607,59.2032769 2.22220878,64.2760483 5.34004601,67.3938855 C8.46424034,70.5180798 13.5271213,70.5205187 16.6561989,67.3914411 L17,67.04764 L17,119.993027 C17,119.994189 17.0000002,119.995351 17.0000007,119.996514 C17.0000002,119.997675 17,119.998838 17,120 C17,124.418278 20.5881049,128 24.9992458,128 L105.000754,128 C109.418616,128 113,124.409288 113,120 C113,119.832611 112.99485,119.666422 112.9847,119.501583 Z M97,112 L97,51.5736087 L97,51.5736087 L64.7370156,19.3106244 L33,51.04764 L33,112 L97,112 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/import-button": {
            "title": "$:/core/images/import-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-import-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M105.449437,94.2138951 C105.449437,94.2138951 110.049457,94.1897106 110.049457,99.4026111 C110.049457,104.615512 105.163246,104.615511 105.163246,104.615511 L45.0075072,105.157833 C45.0075072,105.157833 0.367531803,106.289842 0.367532368,66.6449212 C0.367532934,27.0000003 45.0428249,27.0000003 45.0428249,27.0000003 L105.532495,27.0000003 C105.532495,27.0000003 138.996741,25.6734987 138.996741,55.1771866 C138.996741,84.6808745 105.727102,82.8457535 105.727102,82.8457535 L56.1735087,82.8457535 C56.1735087,82.8457535 22.6899229,85.1500223 22.6899229,66.0913753 C22.6899229,47.0327282 56.1735087,49.3383013 56.1735087,49.3383013 L105.727102,49.3383013 C105.727102,49.3383013 111.245209,49.3383024 111.245209,54.8231115 C111.245209,60.3079206 105.727102,60.5074524 105.727102,60.5074524 L56.1735087,60.5074524 C56.1735087,60.5074524 37.48913,60.5074528 37.48913,66.6449195 C37.48913,72.7823862 56.1735087,71.6766023 56.1735087,71.6766023 L105.727102,71.6766029 C105.727102,71.6766029 127.835546,73.1411469 127.835546,55.1771866 C127.835546,35.5304025 105.727102,38.3035317 105.727102,38.3035317 L45.0428249,38.3035317 C45.0428249,38.3035317 11.5287276,38.3035313 11.5287276,66.6449208 C11.5287276,94.9863103 45.0428244,93.9579678 45.0428244,93.9579678 L105.449437,94.2138951 Z\" transform=\"translate(69.367532, 66.000000) rotate(-45.000000) translate(-69.367532, -66.000000) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/info-button": {
            "title": "$:/core/images/info-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-info-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <g transform=\"translate(0.049406, 0.000000)\">\n            <path d=\"M64,128 C99.346224,128 128,99.346224 128,64 C128,28.653776 99.346224,0 64,0 C28.653776,0 0,28.653776 0,64 C0,99.346224 28.653776,128 64,128 Z M64,112 C90.509668,112 112,90.509668 112,64 C112,37.490332 90.509668,16 64,16 C37.490332,16 16,37.490332 16,64 C16,90.509668 37.490332,112 64,112 Z\"></path>\n            <circle cx=\"64\" cy=\"32\" r=\"8\"></circle>\n            <rect x=\"56\" y=\"48\" width=\"16\" height=\"56\" rx=\"8\"></rect>\n        </g>\n    </g>\n</svg>"
        },
        "$:/core/images/italic": {
            "title": "$:/core/images/italic",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-italic tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n         <polygon points=\"66.7114846 0 89.1204482 0 62.4089636 128 40 128\"></polygon>\n    </g>\n</svg>"
        },
        "$:/core/images/left-arrow": {
            "created": "20150315234410875",
            "modified": "20150315235324760",
            "tags": "$:/tags/Image",
            "title": "$:/core/images/left-arrow",
            "text": "<svg class=\"tc-image-left-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <path transform=\"rotate(135, 63.8945, 64.1752)\" d=\"m109.07576,109.35336c-1.43248,1.43361 -3.41136,2.32182 -5.59717,2.32182l-79.16816,0c-4.36519,0 -7.91592,-3.5444 -7.91592,-7.91666c0,-4.36337 3.54408,-7.91667 7.91592,-7.91667l71.25075,0l0,-71.25075c0,-4.3652 3.54442,-7.91592 7.91667,-7.91592c4.36336,0 7.91667,3.54408 7.91667,7.91592l0,79.16815c0,2.1825 -0.88602,4.16136 -2.3185,5.59467l-0.00027,-0.00056z\"/>\n</svg>\n"
        },
        "$:/core/images/line-width": {
            "title": "$:/core/images/line-width",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-line-width tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M128,-97 L112.992786,-97 C112.452362,-97 112,-96.5522847 112,-96 C112,-95.4438648 112.444486,-95 112.992786,-95 L128,-95 L128,-97 Z M128,-78.6794919 L111.216185,-88.3696322 C110.748163,-88.6398444 110.132549,-88.4782926 109.856406,-88 C109.578339,-87.5183728 109.741342,-86.9117318 110.216185,-86.6375814 L128,-76.3700908 L128,-78.6794919 Z M78.6794919,-128 L88.3696322,-111.216185 C88.6437826,-110.741342 88.4816272,-110.134474 88,-109.856406 C87.5217074,-109.580264 86.9077936,-109.748163 86.6375814,-110.216185 L76.3700908,-128 L78.6794919,-128 Z M97,-128 L97,-112.992786 C97,-112.444486 96.5561352,-112 96,-112 C95.4477153,-112 95,-112.452362 95,-112.992786 L95,-128 L97,-128 Z M115.629909,-128 L105.362419,-110.216185 C105.088268,-109.741342 104.481627,-109.578339 104,-109.856406 C103.521707,-110.132549 103.360156,-110.748163 103.630368,-111.216185 L113.320508,-128 L115.629909,-128 Z M128,-113.320508 L111.216185,-103.630368 C110.741342,-103.356217 110.134474,-103.518373 109.856406,-104 C109.580264,-104.478293 109.748163,-105.092206 110.216185,-105.362419 L128,-115.629909 L128,-113.320508 Z M48,-96 C48,-96.5522847 48.4523621,-97 48.9927864,-97 L79.0072136,-97 C79.5555144,-97 80,-96.5561352 80,-96 C80,-95.4477153 79.5476379,-95 79.0072136,-95 L48.9927864,-95 C48.4444856,-95 48,-95.4438648 48,-96 Z M54.4307806,-120 C54.706923,-120.478293 55.3225377,-120.639844 55.7905589,-120.369632 L81.7838153,-105.362419 C82.2586577,-105.088268 82.4216611,-104.481627 82.1435935,-104 C81.8674512,-103.521707 81.2518365,-103.360156 80.7838153,-103.630368 L54.7905589,-118.637581 C54.3157165,-118.911732 54.152713,-119.518373 54.4307806,-120 Z M104,-82.1435935 C104.478293,-82.4197359 105.092206,-82.2518365 105.362419,-81.7838153 L120.369632,-55.7905589 C120.643783,-55.3157165 120.481627,-54.7088482 120,-54.4307806 C119.521707,-54.1546382 118.907794,-54.3225377 118.637581,-54.7905589 L103.630368,-80.7838153 C103.356217,-81.2586577 103.518373,-81.865526 104,-82.1435935 Z M96,-80 C96.5522847,-80 97,-79.5476379 97,-79.0072136 L97,-48.9927864 C97,-48.4444856 96.5561352,-48 96,-48 C95.4477153,-48 95,-48.4523621 95,-48.9927864 L95,-79.0072136 C95,-79.5555144 95.4438648,-80 96,-80 Z M88,-82.1435935 C88.4782926,-81.8674512 88.6398444,-81.2518365 88.3696322,-80.7838153 L73.3624186,-54.7905589 C73.0882682,-54.3157165 72.4816272,-54.152713 72,-54.4307806 C71.5217074,-54.706923 71.3601556,-55.3225377 71.6303678,-55.7905589 L86.6375814,-81.7838153 C86.9117318,-82.2586577 87.5183728,-82.4216611 88,-82.1435935 Z M82.1435935,-88 C82.4197359,-87.5217074 82.2518365,-86.9077936 81.7838153,-86.6375814 L55.7905589,-71.6303678 C55.3157165,-71.3562174 54.7088482,-71.5183728 54.4307806,-72 C54.1546382,-72.4782926 54.3225377,-73.0922064 54.7905589,-73.3624186 L80.7838153,-88.3696322 C81.2586577,-88.6437826 81.865526,-88.4816272 82.1435935,-88 Z M1.30626177e-08,-41.9868843 L15.0170091,-57.9923909 L20.7983821,-52.9749272 L44.7207091,-81.2095939 L73.4260467,-42.1002685 L85.984793,-56.6159488 L104.48741,-34.0310661 L127.969109,-47.4978019 L127.969109,7.99473128e-07 L1.30626177e-08,7.99473128e-07 L1.30626177e-08,-41.9868843 Z M96,-84 C102.627417,-84 108,-89.372583 108,-96 C108,-102.627417 102.627417,-108 96,-108 C89.372583,-108 84,-102.627417 84,-96 C84,-89.372583 89.372583,-84 96,-84 Z\"></path>\n        <path d=\"M16,18 L112,18 C113.104569,18 114,17.1045695 114,16 C114,14.8954305 113.104569,14 112,14 L16,14 C14.8954305,14 14,14.8954305 14,16 C14,17.1045695 14.8954305,18 16,18 L16,18 Z M16,35 L112,35 C114.209139,35 116,33.209139 116,31 C116,28.790861 114.209139,27 112,27 L16,27 C13.790861,27 12,28.790861 12,31 C12,33.209139 13.790861,35 16,35 L16,35 Z M16,56 L112,56 C115.313708,56 118,53.3137085 118,50 C118,46.6862915 115.313708,44 112,44 L16,44 C12.6862915,44 10,46.6862915 10,50 C10,53.3137085 12.6862915,56 16,56 L16,56 Z M16,85 L112,85 C117.522847,85 122,80.5228475 122,75 C122,69.4771525 117.522847,65 112,65 L16,65 C10.4771525,65 6,69.4771525 6,75 C6,80.5228475 10.4771525,85 16,85 L16,85 Z M16,128 L112,128 C120.836556,128 128,120.836556 128,112 C128,103.163444 120.836556,96 112,96 L16,96 C7.163444,96 0,103.163444 0,112 C0,120.836556 7.163444,128 16,128 L16,128 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/link": {
            "title": "$:/core/images/link",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-link tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M128.719999,57.568543 C130.219553,53.8628171 131.045202,49.8121445 131.045202,45.5685425 C131.045202,27.8915447 116.718329,13.5685425 99.0452364,13.5685425 L67.0451674,13.5685425 C49.3655063,13.5685425 35.0452019,27.8954305 35.0452019,45.5685425 C35.0452019,63.2455403 49.3720745,77.5685425 67.0451674,77.5685425 L99.0452364,77.5685425 C100.406772,77.5685425 101.748384,77.4835732 103.065066,77.3186499 C96.4792444,73.7895096 91.1190212,68.272192 87.7873041,61.5685425 L67.0506214,61.5685425 C58.2110723,61.5685425 51.0452019,54.4070414 51.0452019,45.5685425 C51.0452019,36.7319865 58.2005234,29.5685425 67.0506214,29.5685425 L99.0397824,29.5685425 C107.879331,29.5685425 115.045202,36.7300436 115.045202,45.5685425 C115.045202,48.9465282 113.99957,52.0800164 112.21335,54.6623005 C114.314383,56.4735917 117.050039,57.5685425 120.041423,57.5685425 L128.720003,57.5685425 Z\" transform=\"translate(83.045202, 45.568542) rotate(-225.000000) translate(-83.045202, -45.568542)\"></path>\n        <path d=\"M-0.106255113,71.0452019 C-1.60580855,74.7509276 -2.43145751,78.8016001 -2.43145751,83.0452019 C-2.43145751,100.7222 11.8954151,115.045202 29.568508,115.045202 L61.568577,115.045202 C79.2482381,115.045202 93.5685425,100.718314 93.5685425,83.0452019 C93.5685425,65.3682041 79.2416699,51.0452019 61.568577,51.0452019 L29.568508,51.0452019 C28.206973,51.0452019 26.8653616,51.1301711 25.5486799,51.2950943 C32.1345,54.8242347 37.4947231,60.3415524 40.8264403,67.0452019 L61.563123,67.0452019 C70.4026721,67.0452019 77.5685425,74.206703 77.5685425,83.0452019 C77.5685425,91.8817579 70.413221,99.0452019 61.563123,99.0452019 L29.573962,99.0452019 C20.7344129,99.0452019 13.5685425,91.8837008 13.5685425,83.0452019 C13.5685425,79.6672162 14.6141741,76.533728 16.4003949,73.9514439 C14.2993609,72.1401527 11.5637054,71.0452019 8.5723215,71.0452019 L-0.106255113,71.0452019 Z\" transform=\"translate(45.568542, 83.045202) rotate(-225.000000) translate(-45.568542, -83.045202)\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/list-bullet": {
            "title": "$:/core/images/list-bullet",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-list-bullet tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M11.6363636,40.2727273 C18.0629498,40.2727273 23.2727273,35.0629498 23.2727273,28.6363636 C23.2727273,22.2097775 18.0629498,17 11.6363636,17 C5.20977746,17 0,22.2097775 0,28.6363636 C0,35.0629498 5.20977746,40.2727273 11.6363636,40.2727273 Z M11.6363636,75.1818182 C18.0629498,75.1818182 23.2727273,69.9720407 23.2727273,63.5454545 C23.2727273,57.1188684 18.0629498,51.9090909 11.6363636,51.9090909 C5.20977746,51.9090909 0,57.1188684 0,63.5454545 C0,69.9720407 5.20977746,75.1818182 11.6363636,75.1818182 Z M11.6363636,110.090909 C18.0629498,110.090909 23.2727273,104.881132 23.2727273,98.4545455 C23.2727273,92.0279593 18.0629498,86.8181818 11.6363636,86.8181818 C5.20977746,86.8181818 0,92.0279593 0,98.4545455 C0,104.881132 5.20977746,110.090909 11.6363636,110.090909 Z M34.9090909,22.8181818 L128,22.8181818 L128,34.4545455 L34.9090909,34.4545455 L34.9090909,22.8181818 Z M34.9090909,57.7272727 L128,57.7272727 L128,69.3636364 L34.9090909,69.3636364 L34.9090909,57.7272727 Z M34.9090909,92.6363636 L128,92.6363636 L128,104.272727 L34.9090909,104.272727 L34.9090909,92.6363636 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/list-number": {
            "title": "$:/core/images/list-number",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-list-number tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M33.8390805,22.3563218 L128,22.3563218 L128,34.1264368 L33.8390805,34.1264368 L33.8390805,22.3563218 Z M33.8390805,57.6666667 L128,57.6666667 L128,69.4367816 L33.8390805,69.4367816 L33.8390805,57.6666667 Z M33.8390805,92.9770115 L128,92.9770115 L128,104.747126 L33.8390805,104.747126 L33.8390805,92.9770115 Z M0.379509711,42.6307008 L0.379509711,40.4082314 L1.37821948,40.4082314 C2.20382368,40.4082314 2.82301754,40.268077 3.23581964,39.9877642 C3.64862174,39.7074513 3.85501969,39.0400498 3.85501969,37.9855395 L3.85501969,22.7686318 C3.85501969,21.3270228 3.66193774,20.4327047 3.27576803,20.0856507 C2.88959832,19.7385967 1.79768657,19.5650723 0,19.5650723 L0,17.4226919 C3.50215975,17.2758613 6.25191314,16.4683055 8.24934266,15 L10.3666074,15 L10.3666074,37.865406 C10.3666074,38.786434 10.5164123,39.4404875 10.8160268,39.8275862 C11.1156412,40.2146849 11.764796,40.4082314 12.7635108,40.4082314 L13.7622206,40.4082314 L13.7622206,42.6307008 L0.379509711,42.6307008 Z M0.0798967812,77.9873934 L0.0798967812,76.0852799 C7.27064304,69.5312983 10.8659622,63.5046623 10.8659622,58.005191 C10.8659622,56.4434479 10.5397203,55.195407 9.88722667,54.2610308 C9.23473303,53.3266546 8.36253522,52.8594735 7.27060709,52.8594735 C6.3784219,52.8594735 5.61608107,53.1764892 4.98356173,53.8105302 C4.35104238,54.4445712 4.03478745,55.1753759 4.03478745,56.0029663 C4.03478745,56.9773871 4.28113339,57.8316611 4.77383268,58.5658139 C4.88036225,58.7259926 4.93362624,58.8461249 4.93362624,58.9262143 C4.93362624,59.0730449 4.77383427,59.2065252 4.45424555,59.3266593 C4.2411864,59.4067486 3.70188852,59.6336652 2.83633573,60.0074156 C1.99741533,60.3811661 1.47809145,60.5680386 1.2783485,60.5680386 C1.03865696,60.5680386 0.765679018,60.1976307 0.459406492,59.4568039 C0.153133966,58.715977 0,57.9184322 0,57.0641453 C0,55.1153036 0.848894811,53.5202138 2.5467099,52.2788283 C4.24452499,51.0374428 6.34512352,50.4167594 8.84856852,50.4167594 C11.3120649,50.4167594 13.3793735,51.0874979 15.0505562,52.4289952 C16.7217389,53.7704924 17.5573177,55.5224215 17.5573177,57.684835 C17.5573177,58.9662652 17.2743527,60.2076321 16.7084144,61.4089729 C16.142476,62.6103138 14.7875733,64.4623531 12.6436656,66.9651465 C10.4997579,69.4679398 8.40914641,71.7804862 6.3717683,73.902855 L17.8169822,73.902855 L16.7982982,79.6292176 L14.6810335,79.6292176 C14.7609307,79.3489048 14.8008787,79.0952922 14.8008787,78.8683723 C14.8008787,78.4812736 14.7010087,78.237672 14.5012658,78.1375603 C14.3015228,78.0374485 13.9020429,77.9873934 13.3028141,77.9873934 L0.0798967812,77.9873934 Z M12.2042333,97.1935484 C13.9486551,97.2335931 15.4400468,97.8309175 16.6784531,98.9855395 C17.9168594,100.140162 18.5360532,101.75861 18.5360532,103.840934 C18.5360532,106.830938 17.4041935,109.233584 15.14044,111.048943 C12.8766866,112.864303 10.1402492,113.771969 6.93104577,113.771969 C4.92030005,113.771969 3.26245842,113.388213 1.95747114,112.62069 C0.652483855,111.853166 0,110.848727 0,109.607341 C0,108.833144 0.26964894,108.209124 0.808954909,107.735261 C1.34826088,107.261399 1.93749375,107.024472 2.57667119,107.024472 C3.21584864,107.024472 3.73850152,107.224692 4.14464552,107.625139 C4.55078953,108.025586 4.92696644,108.67964 5.27318756,109.587319 C5.73925445,110.855401 6.51158227,111.489433 7.59019421,111.489433 C8.85523291,111.489433 9.87723568,111.012241 10.6562332,110.057842 C11.4352307,109.103444 11.8247236,107.371536 11.8247236,104.862069 C11.8247236,103.153495 11.7048796,101.838714 11.4651881,100.917686 C11.2254966,99.9966584 10.6728827,99.5361513 9.80732989,99.5361513 C9.22141723,99.5361513 8.62219737,99.843156 8.00965231,100.457175 C7.51695303,100.951059 7.07752513,101.197998 6.69135542,101.197998 C6.3584505,101.197998 6.08880156,101.051169 5.88240051,100.757508 C5.67599946,100.463847 5.57280049,100.183539 5.57280049,99.916574 C5.57280049,99.5962164 5.67599946,99.3225818 5.88240051,99.0956618 C6.08880156,98.8687419 6.57150646,98.5016711 7.33052967,97.9944383 C10.2068282,96.0722929 11.6449559,93.9766521 11.6449559,91.7074527 C11.6449559,90.5194601 11.3386879,89.615131 10.7261429,88.9944383 C10.1135978,88.3737455 9.37455999,88.0634038 8.5090072,88.0634038 C7.71003539,88.0634038 6.98431355,88.3270274 6.33181991,88.8542825 C5.67932627,89.3815377 5.35308434,90.0122321 5.35308434,90.7463849 C5.35308434,91.3871 5.60608828,91.9810874 6.11210376,92.5283648 C6.28521432,92.7285883 6.3717683,92.8954387 6.3717683,93.028921 C6.3717683,93.1490551 5.80250943,93.4560598 4.6639746,93.9499444 C3.52543978,94.4438289 2.80970494,94.6907675 2.51674861,94.6907675 C2.10394651,94.6907675 1.76771758,94.3570667 1.50805174,93.6896552 C1.24838591,93.0222436 1.11855494,92.4082342 1.11855494,91.8476085 C1.11855494,90.0989901 2.04734573,88.6240327 3.90495518,87.4226919 C5.76256463,86.2213511 7.86982116,85.6206897 10.226788,85.6206897 C12.2907985,85.6206897 14.0784711,86.0678487 15.5898594,86.9621802 C17.1012478,87.8565117 17.8569306,89.0778566 17.8569306,90.6262514 C17.8569306,91.987771 17.2876717,93.2491599 16.1491369,94.4104561 C15.0106021,95.5717522 13.6956474,96.4994404 12.2042333,97.1935484 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/locked-padlock": {
            "title": "$:/core/images/locked-padlock",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-locked-padlock tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M96.4723753,64 L105,64 L105,96.0097716 C105,113.673909 90.6736461,128 73.001193,128 L55.998807,128 C38.3179793,128 24,113.677487 24,96.0097716 L24,64 L32.0000269,64 C32.0028554,48.2766389 32.3030338,16.2688026 64.1594984,16.2688041 C95.9543927,16.2688056 96.4648869,48.325931 96.4723753,64 Z M80.5749059,64 L48.4413579,64 C48.4426205,47.71306 48.5829272,31.9999996 64.1595001,31.9999996 C79.8437473,31.9999996 81.1369461,48.1359182 80.5749059,64 Z M67.7315279,92.3641717 C70.8232551,91.0923621 73,88.0503841 73,84.5 C73,79.8055796 69.1944204,76 64.5,76 C59.8055796,76 56,79.8055796 56,84.5 C56,87.947435 58.0523387,90.9155206 61.0018621,92.2491029 L55.9067479,115.020857 L72.8008958,115.020857 L67.7315279,92.3641717 L67.7315279,92.3641717 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/mail": {
            "title": "$:/core/images/mail",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-mail tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M122.826782,104.894066 C121.945525,105.22777 120.990324,105.41043 119.993027,105.41043 L8.00697327,105.41043 C7.19458381,105.41043 6.41045219,105.289614 5.67161357,105.064967 L5.67161357,105.064967 L39.8346483,70.9019325 L60.6765759,91.7438601 C61.6118278,92.679112 62.8865166,93.0560851 64.0946097,92.8783815 C65.2975108,93.0473238 66.5641085,92.6696979 67.4899463,91.7438601 L88.5941459,70.6396605 C88.6693095,70.7292352 88.7490098,70.8162939 88.8332479,70.9005321 L122.826782,104.894066 Z M127.903244,98.6568194 C127.966933,98.2506602 128,97.8343714 128,97.4103789 L128,33.410481 C128,32.7414504 127.917877,32.0916738 127.763157,31.4706493 L94.2292399,65.0045665 C94.3188145,65.0797417 94.4058701,65.1594458 94.4901021,65.2436778 L127.903244,98.6568194 Z M0.205060636,99.2178117 C0.0709009529,98.6370366 0,98.0320192 0,97.4103789 L0,33.410481 C0,32.694007 0.0944223363,31.9995312 0.27147538,31.3387595 L0.27147538,31.3387595 L34.1777941,65.2450783 L0.205060636,99.2178117 L0.205060636,99.2178117 Z M5.92934613,25.6829218 C6.59211333,25.5051988 7.28862283,25.4104299 8.00697327,25.4104299 L119.993027,25.4104299 C120.759109,25.4104299 121.500064,25.5178649 122.201605,25.7184927 L122.201605,25.7184927 L64.0832611,83.8368368 L5.92934613,25.6829218 L5.92934613,25.6829218 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/menu-button": {
            "title": "$:/core/images/menu-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-menu-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <rect x=\"0\" y=\"16\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n    <rect x=\"0\" y=\"56\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n    <rect x=\"0\" y=\"96\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n</svg>"
        },
        "$:/core/images/mono-block": {
            "title": "$:/core/images/mono-block",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-mono-block tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M23.9653488,32.9670593 L24.3217888,32.9670593 C25.0766067,32.9670593 25.6497006,33.1592554 26.0410876,33.5436534 C26.4324747,33.9280514 26.6281653,34.4906619 26.6281653,35.2315017 C26.6281653,36.0562101 26.4219913,36.6502709 26.009637,37.0137017 C25.5972828,37.3771326 24.9158602,37.5588453 23.9653488,37.5588453 L17.6542639,37.5588453 C16.6897744,37.5588453 16.0048573,37.380627 15.5994921,37.0241852 C15.1941269,36.6677435 14.9914474,36.0701882 14.9914474,35.2315017 C14.9914474,34.4207713 15.1941269,33.8406885 15.5994921,33.4912358 C16.0048573,33.141783 16.6897744,32.9670593 17.6542639,32.9670593 L18.388111,32.9670593 L17.5284616,30.5139133 L8.47069195,30.5139133 L7.5691084,32.9670593 L8.30295547,32.9670593 C9.25346691,32.9670593 9.93488953,33.1452775 10.3472438,33.5017193 C10.759598,33.8581611 10.965772,34.4347494 10.965772,35.2315017 C10.965772,36.0562101 10.759598,36.6502709 10.3472438,37.0137017 C9.93488953,37.3771326 9.25346691,37.5588453 8.30295547,37.5588453 L2.89345418,37.5588453 C1.92896463,37.5588453 1.24404754,37.3771326 0.838682371,37.0137017 C0.433317198,36.6502709 0.230637652,36.0562101 0.230637652,35.2315017 C0.230637652,34.4906619 0.426328248,33.9280514 0.817715312,33.5436534 C1.20910238,33.1592554 1.78219626,32.9670593 2.53701417,32.9670593 L2.89345418,32.9670593 L8.51262607,17.3256331 L6.83526132,17.3256331 C5.88474988,17.3256331 5.20332727,17.1439204 4.79097304,16.7804895 C4.37861882,16.4170587 4.1724448,15.8299869 4.1724448,15.0192565 C4.1724448,14.1945481 4.37861882,13.6004873 4.79097304,13.2370565 C5.20332727,12.8736257 5.88474988,12.691913 6.83526132,12.691913 L14.6979086,12.691913 C15.9419603,12.691913 16.815579,13.3628521 17.318791,14.7047506 L17.318791,14.7676518 L23.9653488,32.9670593 Z M12.9786097,17.3256331 L9.9383861,26.1737321 L16.0188333,26.1737321 L12.9786097,17.3256331 Z M35.3809383,26.6979086 L35.3809383,33.0928616 L38.5259972,33.0928616 C40.7485166,33.0928616 42.3140414,32.8482484 43.2226185,32.3590146 C44.1311956,31.8697807 44.5854773,31.0520736 44.5854773,29.9058686 C44.5854773,28.7456855 44.1521624,27.9209895 43.2855197,27.4317556 C42.4188769,26.9425218 40.9022748,26.6979086 38.7356678,26.6979086 L35.3809383,26.6979086 Z M46.0741385,24.370565 C47.5977525,24.9296893 48.7159844,25.6949794 49.428868,26.666458 C50.1417516,27.6379366 50.498188,28.8784752 50.498188,30.388111 C50.498188,31.6601189 50.1906743,32.8202846 49.5756374,33.8686428 C48.9606006,34.917001 48.0799929,35.7766419 46.933788,36.4475911 C46.2628387,36.8389782 45.5115266,37.1220307 44.6798291,37.296757 C43.8481316,37.4714834 42.6704935,37.5588453 41.1468796,37.5588453 L39.3856466,37.5588453 L30.2020747,37.5588453 C29.2795194,37.5588453 28.6190637,37.3771326 28.2206876,37.0137017 C27.8223114,36.6502709 27.6231264,36.0562101 27.6231264,35.2315017 C27.6231264,34.4906619 27.811828,33.9280514 28.189237,33.5436534 C28.5666459,33.1592554 29.118773,32.9670593 29.8456347,32.9670593 L30.2020747,32.9670593 L30.2020747,17.3256331 L29.8456347,17.3256331 C29.118773,17.3256331 28.5666459,17.1299425 28.189237,16.7385554 C27.811828,16.3471683 27.6231264,15.7740744 27.6231264,15.0192565 C27.6231264,14.2085262 27.8258059,13.6179599 28.2311711,13.24754 C28.6365363,12.8771201 29.2934976,12.691913 30.2020747,12.691913 L39.8469219,12.691913 C42.796303,12.691913 45.0362615,13.2650068 46.5668644,14.4112118 C48.0974674,15.5574168 48.8627574,17.2347648 48.8627574,19.443306 C48.8627574,20.5335986 48.6286276,21.4945792 48.1603609,22.3262767 C47.6920943,23.1579742 46.9966938,23.8393968 46.0741385,24.370565 L46.0741385,24.370565 Z M35.3809383,17.1998307 L35.3809383,22.4835296 L38.2114913,22.4835296 C39.9307988,22.4835296 41.1433816,22.2808501 41.8492761,21.8754849 C42.5551706,21.4701197 42.9081126,20.7852027 42.9081126,19.8207131 C42.9081126,18.912136 42.5901154,18.2481858 41.9541114,17.8288425 C41.3181074,17.4094992 40.2872373,17.1998307 38.8614701,17.1998307 L35.3809383,17.1998307 Z M71.244119,13.3838259 C71.5236812,12.880614 71.8102281,12.5241775 72.1037684,12.3145059 C72.3973087,12.1048342 72.7677231,12 73.2150226,12 C73.8999499,12 74.3856819,12.1817127 74.6722332,12.5451435 C74.9587844,12.9085744 75.1020579,13.5305909 75.1020579,14.4112118 L75.143992,19.8626472 C75.143992,20.8271368 74.9867406,21.4771091 74.6722332,21.8125837 C74.3577257,22.1480584 73.7881263,22.3157932 72.9634178,22.3157932 C72.3763372,22.3157932 71.92555,22.1760142 71.6110425,21.896452 C71.2965351,21.6168898 71.0274605,21.0997075 70.8038107,20.3448896 C70.4403799,19.0169692 69.8602971,18.0629775 69.0635448,17.482886 C68.2667926,16.9027945 67.1625385,16.612753 65.7507494,16.612753 C63.5981206,16.612753 61.9487284,17.3396038 60.8025235,18.7933272 C59.6563185,20.2470506 59.0832246,22.3507245 59.0832246,25.104412 C59.0832246,27.8441215 59.6633074,29.9477954 60.8234905,31.4154969 C61.9836736,32.8831984 63.6400547,33.6170381 65.7926836,33.6170381 C67.2603851,33.6170381 68.878327,33.1278116 70.6465578,32.149344 C72.4147886,31.1708763 73.5295261,30.6816498 73.9908037,30.6816498 C74.53595,30.6816498 74.9937262,30.9122852 75.3641461,31.3735628 C75.734566,31.8348404 75.9197732,32.4079343 75.9197732,33.0928616 C75.9197732,34.3229353 74.836486,35.4831009 72.669879,36.5733935 C70.5032721,37.663686 68.0641285,38.2088241 65.3523753,38.2088241 C61.6901107,38.2088241 58.7267959,36.9997358 56.4623422,34.5815228 C54.1978885,32.1633099 53.0656786,29.0043046 53.0656786,25.104412 C53.0656786,21.3443006 54.2118664,18.22024 56.5042763,15.7321366 C58.7966863,13.2440331 61.7040894,12 65.226573,12 C66.2190187,12 67.1974717,12.1118232 68.1619613,12.3354729 C69.1264508,12.5591227 70.1538264,12.9085702 71.244119,13.3838259 L71.244119,13.3838259 Z M81.4645862,32.9670593 L81.4645862,17.3256331 L81.1081461,17.3256331 C80.3533282,17.3256331 79.7802344,17.1299425 79.3888473,16.7385554 C78.9974602,16.3471683 78.8017696,15.7740744 78.8017696,15.0192565 C78.8017696,14.2085262 79.0114381,13.6179599 79.4307814,13.24754 C79.8501247,12.8771201 80.5280528,12.691913 81.4645862,12.691913 L85.4063933,12.691913 L86.6434498,12.691913 C89.5648747,12.691913 91.7034933,12.8177141 93.0593699,13.06932 C94.4152465,13.320926 95.5684233,13.740263 96.5189347,14.3273436 C98.210286,15.3337675 99.5067362,16.7699967 100.408324,18.6360743 C101.309912,20.5021519 101.7607,22.6582429 101.7607,25.104412 C101.7607,27.6903623 101.247012,29.9512876 100.219621,31.8872557 C99.1922296,33.8232239 97.7350336,35.2874089 95.8479888,36.2798546 C94.9953241,36.7271541 93.9959043,37.0521403 92.8496993,37.2548229 C91.7034944,37.4575055 89.9981906,37.5588453 87.7337369,37.5588453 L85.4063933,37.5588453 L81.4645862,37.5588453 C80.5000966,37.5588453 79.8151795,37.380627 79.4098143,37.0241852 C79.0044492,36.6677435 78.8017696,36.0701882 78.8017696,35.2315017 C78.8017696,34.4906619 78.9974602,33.9280514 79.3888473,33.5436534 C79.7802344,33.1592554 80.3533282,32.9670593 81.1081461,32.9670593 L81.4645862,32.9670593 Z M86.8740874,17.2417648 L86.8740874,32.9670593 L88.0692098,32.9670593 C90.7110725,32.9670593 92.6609895,32.3205814 93.9190194,31.0276063 C95.1770492,29.7346312 95.8060547,27.7462749 95.8060547,25.0624779 C95.8060547,22.4206153 95.1665658,20.4497314 93.8875688,19.1497672 C92.6085718,17.849803 90.6831161,17.1998307 88.1111439,17.1998307 C87.7756693,17.1998307 87.5205727,17.2033252 87.3458463,17.2103142 C87.1711199,17.2173033 87.0138685,17.2277867 86.8740874,17.2417648 L86.8740874,17.2417648 Z M121.94052,17.1159625 L112.190837,17.1159625 L112.190837,22.4835296 L115.88104,22.4835296 L115.88104,22.2319249 C115.88104,21.4351727 116.055763,20.841112 116.405216,20.4497249 C116.754669,20.0583378 117.285829,19.8626472 117.998713,19.8626472 C118.627728,19.8626472 119.141415,20.0408655 119.539792,20.3973072 C119.938168,20.753749 120.137353,21.2045363 120.137353,21.7496826 C120.137353,21.7776388 120.144342,21.8684951 120.15832,22.0222543 C120.172298,22.1760135 120.179287,22.3297704 120.179287,22.4835296 L120.179287,26.8237109 C120.179287,27.7602442 120.011552,28.4311834 119.676077,28.8365486 C119.340603,29.2419138 118.795465,29.4445933 118.040647,29.4445933 C117.327763,29.4445933 116.789614,29.2558917 116.426183,28.8784827 C116.062752,28.5010738 115.88104,27.9419578 115.88104,27.201118 L115.88104,26.8237109 L112.190837,26.8237109 L112.190837,33.0928616 L121.94052,33.0928616 L121.94052,30.5977816 C121.94052,29.6612482 122.118738,28.9903091 122.47518,28.5849439 C122.831622,28.1795787 123.415199,27.9768992 124.225929,27.9768992 C125.022682,27.9768992 125.592281,28.1760842 125.934745,28.5744604 C126.277208,28.9728365 126.448438,29.6472701 126.448438,30.5977816 L126.448438,35.6718099 C126.448438,36.4266278 126.30167,36.9298322 126.008129,37.1814382 C125.714589,37.4330442 125.134506,37.5588453 124.267863,37.5588453 L107.095842,37.5588453 C106.173287,37.5588453 105.512831,37.3771326 105.114455,37.0137017 C104.716079,36.6502709 104.516894,36.0562101 104.516894,35.2315017 C104.516894,34.4906619 104.705595,33.9280514 105.083004,33.5436534 C105.460413,33.1592554 106.01254,32.9670593 106.739402,32.9670593 L107.095842,32.9670593 L107.095842,17.3256331 L106.739402,17.3256331 C106.026518,17.3256331 105.477886,17.126448 105.093488,16.7280719 C104.70909,16.3296957 104.516894,15.7600963 104.516894,15.0192565 C104.516894,14.2085262 104.719573,13.6179599 105.124938,13.24754 C105.530304,12.8771201 106.187265,12.691913 107.095842,12.691913 L124.267863,12.691913 C125.120528,12.691913 125.697116,12.8212085 125.997646,13.0798036 C126.298175,13.3383986 126.448438,13.8520864 126.448438,14.6208824 L126.448438,19.3175037 C126.448438,20.2680151 126.273714,20.9494377 125.924261,21.361792 C125.574808,21.7741462 125.008703,21.9803202 124.225929,21.9803202 C123.415199,21.9803202 122.831622,21.7706517 122.47518,21.3513084 C122.118738,20.9319652 121.94052,20.254037 121.94052,19.3175037 L121.94052,17.1159625 Z M19.7719369,47.6405477 C20.037521,47.1373358 20.3205734,46.7808993 20.6211028,46.5712277 C20.9216322,46.361556 21.295541,46.2567218 21.7428405,46.2567218 C22.4277678,46.2567218 22.9134998,46.4384345 23.2000511,46.8018653 C23.4866023,47.1652962 23.6298758,47.7873127 23.6298758,48.6679336 L23.6718099,54.119369 C23.6718099,55.0838586 23.5145586,55.7338309 23.2000511,56.0693055 C22.8855436,56.4047802 22.3089553,56.572515 21.4702687,56.572515 C20.8831881,56.572515 20.4254119,56.4292415 20.0969263,56.1426902 C19.7684407,55.856139 19.4993662,55.3424512 19.2896945,54.6016114 C18.9122856,53.2597129 18.3322027,52.3022267 17.5494286,51.7291243 C16.7666545,51.1560218 15.6693894,50.8694748 14.2576003,50.8694748 C12.1049715,50.8694748 10.4590738,51.5963256 9.31985785,53.050049 C8.18064193,54.5037724 7.61104252,56.6074463 7.61104252,59.3611338 C7.61104252,62.1148214 8.20859773,64.2429566 9.40372609,65.7456034 C10.5988544,67.2482501 12.2936748,67.9995623 14.488238,67.9995623 C14.9914499,67.9995623 15.5645438,67.9401562 16.2075368,67.8213423 C16.8505299,67.7025283 17.6053364,67.5173212 18.4719792,67.2657152 L18.4719792,63.9529198 L16.1027015,63.9529198 C15.1521901,63.9529198 14.4777564,63.7781961 14.0793803,63.4287433 C13.6810042,63.0792906 13.4818191,62.4992078 13.4818191,61.6884774 C13.4818191,60.8497908 13.6810042,60.2522356 14.0793803,59.8957938 C14.4777564,59.5393521 15.1521901,59.3611338 16.1027015,59.3611338 L23.6718099,59.3611338 C24.6502776,59.3611338 25.3386891,59.5358576 25.7370653,59.8853103 C26.1354414,60.2347631 26.3346265,60.8218348 26.3346265,61.6465433 C26.3346265,62.3873831 26.1354414,62.9569825 25.7370653,63.3553586 C25.3386891,63.7537347 24.7621008,63.9529198 24.0072829,63.9529198 L23.6718099,63.9529198 L23.6718099,68.9430799 L23.6718099,69.1946846 C23.6718099,69.6419841 23.6228873,69.9529924 23.5250405,70.1277188 C23.4271937,70.3024451 23.2315031,70.4806634 22.9379628,70.6623788 C22.1412106,71.1376345 20.8762107,71.5569715 19.1429251,71.9204023 C17.4096396,72.2838332 15.6554131,72.4655459 13.8801932,72.4655459 C10.2179286,72.4655459 7.25461383,71.2564576 4.99016011,68.8382446 C2.72570638,66.4200317 1.59349651,63.2610264 1.59349651,59.3611338 C1.59349651,55.6010224 2.73968428,52.4769618 5.03209423,49.9888583 C7.32450417,47.5007549 10.2319073,46.2567218 13.7543909,46.2567218 C14.7328585,46.2567218 15.7078171,46.368545 16.6792957,46.5921947 C17.6507743,46.8158445 18.6816444,47.165292 19.7719369,47.6405477 L19.7719369,47.6405477 Z M35.611576,51.5823548 L35.611576,56.4047785 L42.4678043,56.4047785 L42.4678043,51.5823548 L42.1323314,51.5823548 C41.3775135,51.5823548 40.8009251,51.3866642 40.402549,50.9952772 C40.0041729,50.6038901 39.8049878,50.0307962 39.8049878,49.2759783 C39.8049878,48.4512699 40.0111618,47.8572091 40.4235161,47.4937783 C40.8358703,47.1303474 41.5172929,46.9486347 42.4678043,46.9486347 L47.8773056,46.9486347 C48.8278171,46.9486347 49.5022507,47.1303474 49.9006269,47.4937783 C50.299003,47.8572091 50.498188,48.4512699 50.498188,49.2759783 C50.498188,50.0307962 50.3059919,50.6038901 49.9215939,50.9952772 C49.5371959,51.3866642 48.9745854,51.5823548 48.2337456,51.5823548 L47.8773056,51.5823548 L47.8773056,67.2237811 L48.2337456,67.2237811 C48.9885636,67.2237811 49.5616574,67.4159772 49.9530445,67.8003752 C50.3444316,68.1847732 50.5401222,68.7473837 50.5401222,69.4882235 C50.5401222,70.3129319 50.3374426,70.9069927 49.9320774,71.2704235 C49.5267123,71.6338543 48.8417952,71.815567 47.8773056,71.815567 L42.4678043,71.815567 C41.5033148,71.815567 40.8183977,71.6373488 40.4130325,71.280907 C40.0076674,70.9244652 39.8049878,70.32691 39.8049878,69.4882235 C39.8049878,68.7473837 40.0041729,68.1847732 40.402549,67.8003752 C40.8009251,67.4159772 41.3775135,67.2237811 42.1323314,67.2237811 L42.4678043,67.2237811 L42.4678043,61.0384986 L35.611576,61.0384986 L35.611576,67.2237811 L35.9470489,67.2237811 C36.7018668,67.2237811 37.2784552,67.4159772 37.6768313,67.8003752 C38.0752074,68.1847732 38.2743925,68.7473837 38.2743925,69.4882235 C38.2743925,70.3129319 38.0682185,70.9069927 37.6558642,71.2704235 C37.24351,71.6338543 36.5620874,71.815567 35.611576,71.815567 L30.2020747,71.815567 C29.2375851,71.815567 28.552668,71.6373488 28.1473029,71.280907 C27.7419377,70.9244652 27.5392581,70.32691 27.5392581,69.4882235 C27.5392581,68.7473837 27.7349487,68.1847732 28.1263358,67.8003752 C28.5177229,67.4159772 29.0908168,67.2237811 29.8456347,67.2237811 L30.2020747,67.2237811 L30.2020747,51.5823548 L29.8456347,51.5823548 C29.1047949,51.5823548 28.5421844,51.3866642 28.1577864,50.9952772 C27.7733884,50.6038901 27.5811923,50.0307962 27.5811923,49.2759783 C27.5811923,48.4512699 27.7803773,47.8572091 28.1787534,47.4937783 C28.5771296,47.1303474 29.2515632,46.9486347 30.2020747,46.9486347 L35.611576,46.9486347 C36.5481093,46.9486347 37.2260374,47.1303474 37.6453807,47.4937783 C38.064724,47.8572091 38.2743925,48.4512699 38.2743925,49.2759783 C38.2743925,50.0307962 38.0752074,50.6038901 37.6768313,50.9952772 C37.2784552,51.3866642 36.7018668,51.5823548 35.9470489,51.5823548 L35.611576,51.5823548 Z M67.365213,51.5823548 L67.365213,67.2237811 L70.887679,67.2237811 C71.8381904,67.2237811 72.519613,67.4019993 72.9319673,67.7584411 C73.3443215,68.1148829 73.5504955,68.6914712 73.5504955,69.4882235 C73.5504955,70.2989538 73.340827,70.8895201 72.9214837,71.25994 C72.5021404,71.6303599 71.8242123,71.815567 70.887679,71.815567 L58.4332458,71.815567 C57.4827343,71.815567 56.8013117,71.6338543 56.3889575,71.2704235 C55.9766033,70.9069927 55.7704292,70.3129319 55.7704292,69.4882235 C55.7704292,68.6774931 55.9731088,68.0974103 56.378474,67.7479575 C56.7838391,67.3985048 57.4687562,67.2237811 58.4332458,67.2237811 L61.9557117,67.2237811 L61.9557117,51.5823548 L58.4332458,51.5823548 C57.4827343,51.5823548 56.8013117,51.4006421 56.3889575,51.0372113 C55.9766033,50.6737805 55.7704292,50.0867087 55.7704292,49.2759783 C55.7704292,48.4512699 55.9731088,47.8641981 56.378474,47.5147453 C56.7838391,47.1652926 57.4687562,46.9905689 58.4332458,46.9905689 L70.887679,46.9905689 C71.8801247,46.9905689 72.5720308,47.1652926 72.9634178,47.5147453 C73.3548049,47.8641981 73.5504955,48.4512699 73.5504955,49.2759783 C73.5504955,50.0867087 73.347816,50.6737805 72.9424508,51.0372113 C72.5370856,51.4006421 71.8521685,51.5823548 70.887679,51.5823548 L67.365213,51.5823548 Z M97.8608265,51.5823548 L97.8608265,63.1771386 L97.8608265,63.5755127 C97.8608265,65.4485794 97.7385199,66.8044357 97.493903,67.6431222 C97.2492861,68.4818088 96.8404325,69.2296264 96.26733,69.8865976 C95.5264902,70.7392623 94.4991146,71.3822457 93.1851723,71.815567 C91.87123,72.2488884 90.2917273,72.4655459 88.4466169,72.4655459 C87.1466527,72.4655459 85.8921362,72.3397448 84.6830298,72.0881388 C83.4739233,71.8365328 82.3102631,71.4591296 81.1920144,70.9559176 C80.5769776,70.6763554 80.175113,70.31293 79.9864085,69.8656305 C79.797704,69.418331 79.7033532,68.6914802 79.7033532,67.6850564 L79.7033532,63.3658422 C79.7033532,62.1637247 79.8780769,61.3250508 80.2275297,60.849795 C80.5769824,60.3745393 81.185021,60.136915 82.0516638,60.136915 C83.2957156,60.136915 83.9806326,61.0524675 84.1064356,62.8835998 C84.1204137,63.2050963 84.1413806,63.4497096 84.1693368,63.6174469 C84.3370741,65.2389076 84.7144774,66.3466561 85.301558,66.9407258 C85.8886386,67.5347954 86.8251579,67.8318258 88.1111439,67.8318258 C89.7046484,67.8318258 90.8263749,67.4089943 91.476357,66.5633187 C92.126339,65.7176431 92.4513252,64.1765796 92.4513252,61.9400821 L92.4513252,51.5823548 L88.9288593,51.5823548 C87.9783478,51.5823548 87.2969252,51.4006421 86.884571,51.0372113 C86.4722168,50.6737805 86.2660427,50.0867087 86.2660427,49.2759783 C86.2660427,48.4512699 86.4652278,47.8641981 86.8636039,47.5147453 C87.26198,47.1652926 87.9503916,46.9905689 88.9288593,46.9905689 L99.6220595,46.9905689 C100.600527,46.9905689 101.288939,47.1652926 101.687315,47.5147453 C102.085691,47.8641981 102.284876,48.4512699 102.284876,49.2759783 C102.284876,50.0867087 102.078702,50.6737805 101.666348,51.0372113 C101.253994,51.4006421 100.572571,51.5823548 99.6220595,51.5823548 L97.8608265,51.5823548 Z M112.505343,51.5823548 L112.505343,57.9353738 L118.984165,51.4565525 C118.257303,51.3726838 117.747109,51.1665098 117.453569,50.8380242 C117.160029,50.5095387 117.013261,49.9888619 117.013261,49.2759783 C117.013261,48.4512699 117.212446,47.8572091 117.610822,47.4937783 C118.009198,47.1303474 118.683632,46.9486347 119.634143,46.9486347 L124.771073,46.9486347 C125.721584,46.9486347 126.396018,47.1303474 126.794394,47.4937783 C127.19277,47.8572091 127.391955,48.4512699 127.391955,49.2759783 C127.391955,50.0447743 127.19277,50.6213627 126.794394,51.0057607 C126.396018,51.3901587 125.812441,51.5823548 125.043645,51.5823548 L124.561402,51.5823548 L118.459988,57.641835 C119.592215,58.4805215 120.626579,59.5812811 121.563113,60.9441468 C122.499646,62.3070125 123.596911,64.400203 124.854941,67.2237811 L125.127513,67.2237811 L125.546854,67.2237811 C126.371563,67.2237811 126.98659,67.4124827 127.391955,67.7898917 C127.79732,68.1673006 128,68.7334056 128,69.4882235 C128,70.3129319 127.793826,70.9069927 127.381472,71.2704235 C126.969118,71.6338543 126.287695,71.815567 125.337183,71.815567 L122.758235,71.815567 C121.626008,71.815567 120.710456,71.0537715 120.01155,69.5301576 C119.885747,69.2505954 119.787902,69.026949 119.718012,68.8592117 C118.795456,66.9022764 117.949793,65.3926632 117.180997,64.3303269 C116.412201,63.2679906 115.510627,62.2965265 114.476247,61.4159056 L112.505343,63.302941 L112.505343,67.2237811 L112.840816,67.2237811 C113.595634,67.2237811 114.172222,67.4159772 114.570599,67.8003752 C114.968975,68.1847732 115.16816,68.7473837 115.16816,69.4882235 C115.16816,70.3129319 114.961986,70.9069927 114.549631,71.2704235 C114.137277,71.6338543 113.455855,71.815567 112.505343,71.815567 L107.095842,71.815567 C106.131352,71.815567 105.446435,71.6373488 105.04107,71.280907 C104.635705,70.9244652 104.433025,70.32691 104.433025,69.4882235 C104.433025,68.7473837 104.628716,68.1847732 105.020103,67.8003752 C105.41149,67.4159772 105.984584,67.2237811 106.739402,67.2237811 L107.095842,67.2237811 L107.095842,51.5823548 L106.739402,51.5823548 C105.998562,51.5823548 105.435952,51.3866642 105.051554,50.9952772 C104.667156,50.6038901 104.474959,50.0307962 104.474959,49.2759783 C104.474959,48.4512699 104.674145,47.8572091 105.072521,47.4937783 C105.470897,47.1303474 106.14533,46.9486347 107.095842,46.9486347 L112.505343,46.9486347 C113.441877,46.9486347 114.119805,47.1303474 114.539148,47.4937783 C114.958491,47.8572091 115.16816,48.4512699 115.16816,49.2759783 C115.16816,50.0307962 114.968975,50.6038901 114.570599,50.9952772 C114.172222,51.3866642 113.595634,51.5823548 112.840816,51.5823548 L112.505343,51.5823548 Z M13.439885,96.325622 L17.4445933,84.4372993 C17.6961993,83.6545252 18.0456468,83.0849258 18.4929463,82.728484 C18.9402458,82.3720422 19.5343065,82.193824 20.2751463,82.193824 L23.5460076,82.193824 C24.496519,82.193824 25.1779416,82.3755367 25.5902958,82.7389675 C26.0026501,83.1023984 26.2088241,83.6964591 26.2088241,84.5211676 C26.2088241,85.2759855 26.009639,85.8490794 25.6112629,86.2404664 C25.2128868,86.6318535 24.6362984,86.8275441 23.8814805,86.8275441 L23.5460076,86.8275441 L24.1330852,102.46897 L24.4895252,102.46897 C25.2443431,102.46897 25.8104481,102.661166 26.187857,103.045564 C26.565266,103.429962 26.7539676,103.992573 26.7539676,104.733413 C26.7539676,105.558121 26.5547826,106.152182 26.1564064,106.515613 C25.7580303,106.879044 25.0835967,107.060756 24.1330852,107.060756 L19.4154969,107.060756 C18.4649855,107.060756 17.7905518,106.882538 17.3921757,106.526096 C16.9937996,106.169654 16.7946145,105.572099 16.7946145,104.733413 C16.7946145,103.992573 16.9868106,103.429962 17.3712086,103.045564 C17.7556066,102.661166 18.325206,102.46897 19.0800239,102.46897 L19.4154969,102.46897 L19.1219581,89.6790642 L16.0607674,99.1981091 C15.8371177,99.9109927 15.5191204,100.42468 15.1067662,100.739188 C14.694412,101.053695 14.1248126,101.210947 13.3979509,101.210947 C12.6710892,101.210947 12.0945008,101.053695 11.6681685,100.739188 C11.2418362,100.42468 10.91685,99.9109927 10.6932002,99.1981091 L7.65297664,89.6790642 L7.35943781,102.46897 L7.69491075,102.46897 C8.44972866,102.46897 9.01932808,102.661166 9.40372609,103.045564 C9.78812409,103.429962 9.98032022,103.992573 9.98032022,104.733413 C9.98032022,105.558121 9.77764067,106.152182 9.3722755,106.515613 C8.96691032,106.879044 8.29597114,107.060756 7.35943781,107.060756 L2.62088241,107.060756 C1.68434908,107.060756 1.01340989,106.879044 0.608044719,106.515613 C0.202679546,106.152182 0,105.558121 0,104.733413 C0,103.992573 0.192196121,103.429962 0.57659413,103.045564 C0.960992139,102.661166 1.53059155,102.46897 2.28540946,102.46897 L2.62088241,102.46897 L3.22892713,86.8275441 L2.89345418,86.8275441 C2.13863627,86.8275441 1.56204791,86.6318535 1.16367179,86.2404664 C0.765295672,85.8490794 0.5661106,85.2759855 0.5661106,84.5211676 C0.5661106,83.6964591 0.772284622,83.1023984 1.18463885,82.7389675 C1.59699308,82.3755367 2.27841569,82.193824 3.22892713,82.193824 L6.49978838,82.193824 C7.22665007,82.193824 7.81022738,82.3685477 8.25053783,82.7180005 C8.69084827,83.0674532 9.05077919,83.6405471 9.33034138,84.4372993 L13.439885,96.325622 Z M43.8935644,98.3803938 L43.8935644,86.8275441 L42.7403761,86.8275441 C41.8178209,86.8275441 41.1573651,86.6458314 40.758989,86.2824006 C40.3606129,85.9189697 40.1614278,85.3318979 40.1614278,84.5211676 C40.1614278,83.7104372 40.3606129,83.119871 40.758989,82.7494511 C41.1573651,82.3790312 41.8178209,82.193824 42.7403761,82.193824 L48.6950209,82.193824 C49.6035981,82.193824 50.2605593,82.3790312 50.6659245,82.7494511 C51.0712897,83.119871 51.2739692,83.7104372 51.2739692,84.5211676 C51.2739692,85.2620074 51.0817731,85.8316068 50.6973751,86.2299829 C50.3129771,86.628359 49.7643445,86.8275441 49.051461,86.8275441 L48.6950209,86.8275441 L48.6950209,105.865634 C48.6950209,106.522605 48.6251315,106.934953 48.4853504,107.10269 C48.3455693,107.270428 48.0310665,107.354295 47.5418327,107.354295 L45.4451268,107.354295 C44.7741775,107.354295 44.3024234,107.284406 44.0298503,107.144625 C43.7572771,107.004843 43.5231473,106.76023 43.3274538,106.410777 L34.6051571,91.0838571 L34.6051571,102.46897 L35.8212466,102.46897 C36.7298237,102.46897 37.379796,102.643694 37.7711831,102.993147 C38.1625701,103.3426 38.3582607,103.922682 38.3582607,104.733413 C38.3582607,105.558121 38.1590757,106.152182 37.7606995,106.515613 C37.3623234,106.879044 36.7158456,107.060756 35.8212466,107.060756 L29.8037005,107.060756 C28.8951234,107.060756 28.2381621,106.879044 27.832797,106.515613 C27.4274318,106.152182 27.2247522,105.558121 27.2247522,104.733413 C27.2247522,103.992573 27.4134539,103.429962 27.7908629,103.045564 C28.1682718,102.661166 28.7273878,102.46897 29.4682276,102.46897 L29.8037005,102.46897 L29.8037005,86.8275441 L29.4682276,86.8275441 C28.755344,86.8275441 28.203217,86.628359 27.8118299,86.2299829 C27.4204428,85.8316068 27.2247522,85.2620074 27.2247522,84.5211676 C27.2247522,83.7104372 27.4309263,83.119871 27.8432805,82.7494511 C28.2556347,82.3790312 28.9091015,82.193824 29.8037005,82.193824 L33.2422983,82.193824 C34.0670067,82.193824 34.6261227,82.3021527 34.919663,82.5188134 C35.2132033,82.7354741 35.5416839,83.1722835 35.9051148,83.8292546 L43.8935644,98.3803938 Z M64.6604624,86.3662688 C62.8572863,86.3662688 61.4420239,87.0931196 60.4146329,88.546843 C59.3872418,90.0005663 58.873554,92.0203728 58.873554,94.6063231 C58.873554,97.1922733 59.3907363,99.2190688 60.4251164,100.68677 C61.4594965,102.154472 62.8712644,102.888312 64.6604624,102.888312 C66.4636385,102.888312 67.8823953,102.157966 68.9167754,100.697254 C69.9511555,99.2365414 70.4683378,97.2062514 70.4683378,94.6063231 C70.4683378,92.0203728 69.95465,90.0005663 68.9272589,88.546843 C67.8998679,87.0931196 66.4776166,86.3662688 64.6604624,86.3662688 L64.6604624,86.3662688 Z M64.6604624,81.501911 C68.0990773,81.501911 70.929602,82.7319662 73.1521214,85.1921135 C75.3746408,87.6522607 76.4858838,90.7902992 76.4858838,94.6063231 C76.4858838,98.4503032 75.3816297,101.595331 73.1730884,104.0415 C70.9645471,106.487669 68.1270335,107.710735 64.6604624,107.710735 C61.2358256,107.710735 58.4053009,106.477185 56.1688034,104.010049 C53.9323059,101.542913 52.8140739,98.4083688 52.8140739,94.6063231 C52.8140739,90.7763211 53.9218224,87.6347881 56.1373528,85.1816299 C58.3528831,82.7284717 61.1938912,81.501911 64.6604624,81.501911 L64.6604624,81.501911 Z M87.4611651,98.1707232 L87.4611651,102.46897 L89.6207722,102.46897 C90.5293493,102.46897 91.1758272,102.643694 91.5602252,102.993147 C91.9446232,103.3426 92.1368193,103.922682 92.1368193,104.733413 C92.1368193,105.558121 91.9411287,106.152182 91.5497417,106.515613 C91.1583546,106.879044 90.5153712,107.060756 89.6207722,107.060756 L82.3661697,107.060756 C81.4436145,107.060756 80.7831587,106.879044 80.3847826,106.515613 C79.9864065,106.152182 79.7872214,105.558121 79.7872214,104.733413 C79.7872214,103.992573 79.9759231,103.429962 80.353332,103.045564 C80.730741,102.661166 81.282868,102.46897 82.0097297,102.46897 L82.3661697,102.46897 L82.3661697,86.8275441 L82.0097297,86.8275441 C81.2968461,86.8275441 80.7482136,86.628359 80.3638155,86.2299829 C79.9794175,85.8316068 79.7872214,85.2620074 79.7872214,84.5211676 C79.7872214,83.7104372 79.989901,83.119871 80.3952661,82.7494511 C80.8006313,82.3790312 81.4575926,82.193824 82.3661697,82.193824 L91.0255652,82.193824 C94.450202,82.193824 97.0396079,82.8507853 98.7938606,84.1647276 C100.548113,85.4786699 101.425227,87.414609 101.425227,89.972603 C101.425227,92.6703781 100.551608,94.7111515 98.8043442,96.0949843 C97.0570805,97.4788171 94.4641801,98.1707232 91.0255652,98.1707232 L87.4611651,98.1707232 Z M87.4611651,86.8275441 L87.4611651,93.4531348 L90.4384875,93.4531348 C92.0879044,93.4531348 93.328443,93.1735768 94.1601405,92.6144525 C94.9918381,92.0553281 95.4076806,91.2166541 95.4076806,90.0984053 C95.4076806,89.0500471 94.9778602,88.2428234 94.1182064,87.67671 C93.2585527,87.1105966 92.031992,86.8275441 90.4384875,86.8275441 L87.4611651,86.8275441 Z M114.727851,107.396229 L113.092421,109.03166 C113.69348,108.835966 114.284046,108.689198 114.864137,108.591352 C115.444229,108.493505 116.013828,108.444582 116.572953,108.444582 C117.677223,108.444582 118.840883,108.608823 120.063968,108.937308 C121.287053,109.265794 122.031376,109.430034 122.29696,109.430034 C122.744259,109.430034 123.327837,109.279772 124.047709,108.979242 C124.767582,108.678713 125.253314,108.52845 125.50492,108.52845 C126.02211,108.52845 126.45193,108.727636 126.794394,109.126012 C127.136858,109.524388 127.308087,110.024098 127.308087,110.625156 C127.308087,111.421909 126.836333,112.099837 125.892811,112.658961 C124.949288,113.218086 123.792617,113.497643 122.422762,113.497643 C121.486229,113.497643 120.28413,113.277492 118.816428,112.837181 C117.348727,112.396871 116.286406,112.176719 115.629435,112.176719 C114.636989,112.176719 113.518757,112.449288 112.274706,112.994434 C111.030654,113.53958 110.261869,113.812149 109.968329,113.812149 C109.36727,113.812149 108.857077,113.612964 108.437734,113.214588 C108.01839,112.816212 107.808722,112.337469 107.808722,111.778345 C107.808722,111.386958 107.941512,110.971115 108.207096,110.530805 C108.47268,110.090494 108.94094,109.520895 109.611889,108.821989 L111.729562,106.683349 C109.395218,105.830685 107.536157,104.29661 106.152324,102.08108 C104.768491,99.8655494 104.076585,97.3180772 104.076585,94.4385866 C104.076585,90.6365409 105.180839,87.5299526 107.389381,85.1187288 C109.597922,82.7075049 112.442425,81.501911 115.922974,81.501911 C119.389545,81.501911 122.227059,82.7109994 124.4356,85.1292123 C126.644141,87.5474252 127.748395,90.650519 127.748395,94.4385866 C127.748395,98.2126762 126.65113,101.322759 124.456567,103.768928 C122.262004,106.215097 119.480402,107.438163 116.111677,107.438163 C115.888028,107.438163 115.660887,107.434669 115.430248,107.42768 C115.199609,107.420691 114.965479,107.410207 114.727851,107.396229 L114.727851,107.396229 Z M115.922974,86.3662688 C114.119798,86.3662688 112.704535,87.0931196 111.677144,88.546843 C110.649753,90.0005663 110.136065,92.0203728 110.136065,94.6063231 C110.136065,97.1922733 110.653248,99.2190688 111.687628,100.68677 C112.722008,102.154472 114.133776,102.888312 115.922974,102.888312 C117.72615,102.888312 119.144907,102.157966 120.179287,100.697254 C121.213667,99.2365414 121.730849,97.2062514 121.730849,94.6063231 C121.730849,92.0203728 121.217161,90.0005663 120.18977,88.546843 C119.162379,87.0931196 117.740128,86.3662688 115.922974,86.3662688 L115.922974,86.3662688 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/mono-line": {
            "title": "$:/core/images/mono-line",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-mono-line tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M60.4374591,84.522627 L61.3450888,84.522627 C63.2671377,84.522627 64.7264493,85.0120303 65.7230673,85.9908515 C66.7196852,86.9696727 67.2179868,88.4022896 67.2179868,90.288745 C67.2179868,92.3887615 66.6929905,93.9014625 65.6429823,94.8268935 C64.5929741,95.7523244 62.857817,96.215033 60.4374591,96.215033 L44.3670747,96.215033 C41.9111232,96.215033 40.1670679,95.7612227 39.1348565,94.8535884 C38.102645,93.9459542 37.586547,92.424355 37.586547,90.288745 C37.586547,88.2243221 38.102645,86.747214 39.1348565,85.8573766 C40.1670679,84.9675391 41.9111232,84.522627 44.3670747,84.522627 L46.235724,84.522627 L44.0467348,78.2759992 L20.9822627,78.2759992 L18.6864935,84.522627 L20.5551429,84.522627 C22.9755008,84.522627 24.7106579,84.9764373 25.7606661,85.8840716 C26.8106743,86.7917058 27.3356705,88.2599156 27.3356705,90.288745 C27.3356705,92.3887615 26.8106743,93.9014625 25.7606661,94.8268935 C24.7106579,95.7523244 22.9755008,96.215033 20.5551429,96.215033 L6.78052766,96.215033 C4.32457622,96.215033 2.58052094,95.7523244 1.54830946,94.8268935 C0.516097994,93.9014625 0,92.3887615 0,90.288745 C0,88.4022896 0.498301511,86.9696727 1.49491948,85.9908515 C2.49153745,85.0120303 3.95084902,84.522627 5.87289797,84.522627 L6.78052766,84.522627 L21.0890427,44.6937008 L16.8178442,44.6937008 C14.3974863,44.6937008 12.6623292,44.2309922 11.612321,43.3055613 C10.5623128,42.3801303 10.0373165,40.8852258 10.0373165,38.8208028 C10.0373165,36.7207864 10.5623128,35.2080854 11.612321,34.2826544 C12.6623292,33.3572234 14.3974863,32.8945149 16.8178442,32.8945149 L36.8390873,32.8945149 C40.0069087,32.8945149 42.231469,34.6029772 43.512835,38.0199531 L43.512835,38.180123 L60.4374591,84.522627 Z M32.4611088,44.6937008 L24.7195615,67.224273 L40.2026561,67.224273 L32.4611088,44.6937008 Z M89.5058233,68.5590225 L89.5058233,84.8429669 L97.5143205,84.8429669 C103.173687,84.8429669 107.160099,84.22009 109.473676,82.9743176 C111.787254,81.7285451 112.944025,79.6463566 112.944025,76.7276897 C112.944025,73.7734293 111.840643,71.6734444 109.633846,70.4276719 C107.427049,69.1818994 103.565213,68.5590225 98.0482204,68.5590225 L89.5058233,68.5590225 Z M116.734714,62.6327346 C120.614405,64.0564746 123.461842,66.0051894 125.277111,68.4789376 C127.092379,70.9526857 128,74.1115614 128,77.9556593 C128,81.1946677 127.216955,84.1488838 125.650841,86.8183962 C124.084727,89.4879087 121.84237,91.676876 118.923703,93.385364 C117.215215,94.3819819 115.302093,95.1027395 113.18428,95.5476582 C111.066467,95.9925769 108.06776,96.215033 104.188068,96.215033 L99.7033098,96.215033 L76.3184979,96.215033 C73.9693269,96.215033 72.2875593,95.7523244 71.2731446,94.8268935 C70.2587299,93.9014625 69.7515301,92.3887615 69.7515301,90.288745 C69.7515301,88.4022896 70.2320352,86.9696727 71.1930596,85.9908515 C72.1540841,85.0120303 73.5600062,84.522627 75.4108682,84.522627 L76.3184979,84.522627 L76.3184979,44.6937008 L75.4108682,44.6937008 C73.5600062,44.6937008 72.1540841,44.1953993 71.1930596,43.1987813 C70.2320352,42.2021633 69.7515301,40.7428518 69.7515301,38.8208028 C69.7515301,36.7563799 70.2676281,35.2525771 71.2998396,34.3093494 C72.3320511,33.3661217 74.0049204,32.8945149 76.3184979,32.8945149 L100.877889,32.8945149 C108.388118,32.8945149 114.09189,34.3538264 117.989378,37.2724934 C121.886867,40.1911603 123.835581,44.4623161 123.835581,50.0860889 C123.835581,52.8623819 123.239399,55.3093982 122.047017,57.4272114 C120.854635,59.5450246 119.083885,61.2801816 116.734714,62.6327346 L116.734714,62.6327346 Z M89.5058233,44.3733609 L89.5058233,57.8276363 L96.7134708,57.8276363 C101.091471,57.8276363 104.179161,57.3115383 105.976633,56.2793268 C107.774104,55.2471153 108.672827,53.50306 108.672827,51.0471086 C108.672827,48.7335312 107.863087,47.0428653 106.243583,45.9750604 C104.624078,44.9072554 101.999097,44.3733609 98.3685602,44.3733609 L89.5058233,44.3733609 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/new-button": {
            "title": "$:/core/images/new-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-new-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M56,72 L8.00697327,72 C3.59075293,72 0,68.418278 0,64 C0,59.5907123 3.58484404,56 8.00697327,56 L56,56 L56,8.00697327 C56,3.59075293 59.581722,0 64,0 C68.4092877,0 72,3.58484404 72,8.00697327 L72,56 L119.993027,56 C124.409247,56 128,59.581722 128,64 C128,68.4092877 124.415156,72 119.993027,72 L72,72 L72,119.993027 C72,124.409247 68.418278,128 64,128 C59.5907123,128 56,124.415156 56,119.993027 L56,72 L56,72 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/new-here-button": {
            "title": "$:/core/images/new-here-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-new-here-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n    \t<g transform=\"translate(52.233611, 64.389922) rotate(75.000000) translate(-52.233611, -64.389922) translate(-7.734417, 3.702450)\">\n\t        <path d=\"M18.9270186,45.959338 L18.9080585,49.6521741 C18.8884833,53.4648378 21.0574548,58.7482162 23.7526408,61.4434022 L78.5671839,116.257945 C81.2617332,118.952495 85.6348701,118.950391 88.3334363,116.251825 L115.863237,88.7220241 C118.555265,86.0299959 118.564544,81.6509578 115.869358,78.9557717 L61.0548144,24.1412286 C58.3602652,21.4466794 53.0787224,19.2788426 49.2595808,19.3006519 L25.9781737,19.4336012 C22.1633003,19.4553862 19.0471195,22.5673232 19.0275223,26.3842526 L18.9871663,34.2443819 C19.0818862,34.255617 19.1779758,34.2665345 19.2754441,34.2771502 C22.6891275,34.6489512 27.0485594,34.2348566 31.513244,33.2285542 C31.7789418,32.8671684 32.075337,32.5211298 32.4024112,32.1940556 C34.8567584,29.7397084 38.3789778,29.0128681 41.4406288,30.0213822 C41.5958829,29.9543375 41.7503946,29.8866669 41.9041198,29.8183808 L42.1110981,30.2733467 C43.1114373,30.6972371 44.0473796,31.3160521 44.8614145,32.1300869 C48.2842088,35.5528813 48.2555691,41.130967 44.7974459,44.5890903 C41.4339531,47.952583 36.0649346,48.0717177 32.6241879,44.9262969 C27.8170558,45.8919233 23.0726921,46.2881596 18.9270186,45.959338 Z\"></path>\n\t        <path d=\"M45.4903462,38.8768094 C36.7300141,42.6833154 26.099618,44.7997354 18.1909048,43.9383587 C7.2512621,42.7468685 1.50150083,35.8404432 4.66865776,24.7010202 C7.51507386,14.6896965 15.4908218,6.92103848 24.3842626,4.38423012 C34.1310219,1.60401701 42.4070208,6.15882777 42.4070209,16.3101169 L34.5379395,16.310117 C34.5379394,11.9285862 31.728784,10.3825286 26.5666962,11.8549876 C20.2597508,13.6540114 14.3453742,19.4148216 12.2444303,26.8041943 C10.4963869,32.9523565 12.6250796,35.5092726 19.0530263,36.2093718 C25.5557042,36.9176104 35.0513021,34.9907189 42.7038419,31.5913902 L42.7421786,31.6756595 C44.3874154,31.5384763 47.8846101,37.3706354 45.9274416,38.6772897 L45.9302799,38.6835285 C45.9166992,38.6895612 45.9031139,38.6955897 45.8895238,38.7016142 C45.8389288,38.7327898 45.7849056,38.7611034 45.7273406,38.7863919 C45.6506459,38.8200841 45.571574,38.8501593 45.4903462,38.8768094 Z\"></path>\n        </g>\n        <rect x=\"96\" y=\"80\" width=\"16\" height=\"48\" rx=\"8\"></rect>\n        <rect x=\"80\" y=\"96\" width=\"48\" height=\"16\" rx=\"8\"></rect>\n    </g>\n    </g>\n</svg>"
        },
        "$:/core/images/new-image-button": {
            "title": "$:/core/images/new-image-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-new-image-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M81.3619177,73.6270062 L97.1875317,46.2162388 C97.91364,44.9585822 97.4824378,43.3533085 96.2260476,42.6279312 L46.2162388,13.7547547 C44.9585822,13.0286463 43.3533085,13.4598485 42.6279312,14.7162388 L30.0575956,36.4886988 L40.0978909,31.2276186 C43.1404959,29.6333041 46.8692155,31.3421319 47.6479264,34.6877101 L51.2545483,52.3903732 L61.1353556,53.2399953 C63.2899974,53.4346096 65.1046382,54.9309951 65.706105,57.0091178 C65.7395572,57.1246982 65.8069154,57.3539875 65.9047035,57.6813669 C66.0696435,58.2335608 66.2581528,58.852952 66.4667073,59.5238092 C67.0618822,61.4383079 67.6960725,63.3742727 68.3393254,65.2021174 C68.5462918,65.7902259 68.7511789,66.3583016 68.953259,66.9034738 C69.5777086,68.5881157 70.1617856,70.0172008 70.6783305,71.110045 C70.9334784,71.6498566 71.1627732,72.0871602 71.4035746,72.5373068 C71.6178999,72.7492946 71.9508843,72.9623307 72.4151452,73.1586945 C73.5561502,73.6412938 75.1990755,73.899146 77.0720271,73.9171651 C77.9355886,73.9254732 78.7819239,73.8832103 79.5638842,73.8072782 C80.0123946,73.7637257 80.3172916,73.7224469 80.4352582,73.7027375 C80.7503629,73.6500912 81.0598053,73.6256267 81.3619177,73.6270062 L81.3619177,73.6270062 L81.3619177,73.6270062 L81.3619177,73.6270062 Z M37.4707881,2.64867269 C38.9217993,0.135447653 42.1388058,-0.723707984 44.6486727,0.725364314 L108.293614,37.4707881 C110.806839,38.9217993 111.665994,42.1388058 110.216922,44.6486727 L73.4714982,108.293614 C72.0204871,110.806839 68.8034805,111.665994 66.2936136,110.216922 L2.64867269,73.4714982 C0.135447653,72.0204871 -0.723707984,68.8034805 0.725364314,66.2936136 L37.4707881,2.64867269 L37.4707881,2.64867269 L37.4707881,2.64867269 L37.4707881,2.64867269 Z M80.3080975,53.1397764 C82.8191338,54.5895239 86.0299834,53.7291793 87.4797308,51.218143 C88.9294783,48.7071068 88.0691338,45.4962571 85.5580975,44.0465097 C83.0470612,42.5967622 79.8362116,43.4571068 78.3864641,45.968143 C76.9367166,48.4791793 77.7970612,51.6900289 80.3080975,53.1397764 L80.3080975,53.1397764 L80.3080975,53.1397764 L80.3080975,53.1397764 Z M96,112 L88.0070969,112 C83.5881712,112 80,108.418278 80,104 C80,99.5907123 83.5848994,96 88.0070969,96 L96,96 L96,88.0070969 C96,83.5881712 99.581722,80 104,80 C108.409288,80 112,83.5848994 112,88.0070969 L112,96 L119.992903,96 C124.411829,96 128,99.581722 128,104 C128,108.409288 124.415101,112 119.992903,112 L112,112 L112,119.992903 C112,124.411829 108.418278,128 104,128 C99.5907123,128 96,124.415101 96,119.992903 L96,112 L96,112 Z M33.3471097,51.7910932 C40.7754579,59.7394511 42.3564368,62.4818351 40.7958321,65.1848818 C39.2352273,67.8879286 26.9581062,62.8571718 24.7019652,66.7649227 C22.4458242,70.6726735 23.7947046,70.0228006 22.2648667,72.6725575 L41.9944593,84.0634431 C41.9944593,84.0634431 36.3904568,75.8079231 37.7602356,73.4353966 C40.2754811,69.0788636 46.5298923,72.1787882 48.1248275,69.4162793 C50.538989,65.234829 43.0222016,59.7770885 33.3471097,51.7910932 L33.3471097,51.7910932 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/new-journal-button": {
            "title": "$:/core/images/new-journal-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-new-journal-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M102.545455,112.818182 L102.545455,124.636364 L102.545455,124.636364 L102.545455,124.636364 C102.545455,125.941761 103.630828,127 104.969697,127 L111.030303,127 C112.369172,127 113.454545,125.941761 113.454545,124.636364 L113.454545,112.818182 L125.575758,112.818182 C126.914626,112.818182 128,111.759982 128,110.454545 L128,104.545455 C128,103.240018 126.914626,102.181818 125.575758,102.181818 L113.454545,102.181818 L113.454545,90.3636364 C113.454545,89.0582 112.369172,88 111.030303,88 L104.969697,88 L104.969697,88 C103.630828,88 102.545455,89.0582 102.545455,90.3636364 L102.545455,102.181818 L90.4242424,102.181818 L90.4242424,102.181818 C89.0853705,102.181818 88,103.240018 88,104.545455 L88,110.454545 L88,110.454545 L88,110.454545 C88,111.759982 89.0853705,112.818182 90.4242424,112.818182 L102.545455,112.818182 Z\"></path>\n        <g transform=\"translate(59.816987, 64.316987) rotate(30.000000) translate(-59.816987, -64.316987) translate(20.316987, 12.816987)\">\n            <g transform=\"translate(0.000000, 0.000000)\">\n                <path d=\"M9.99631148,0 C4.4755011,0 -2.27373675e-13,4.48070044 -2.27373675e-13,9.99759461 L-2.27373675e-13,91.6128884 C-2.27373675e-13,97.1344074 4.46966773,101.610483 9.99631148,101.610483 L68.9318917,101.610483 C74.4527021,101.610483 78.9282032,97.1297826 78.9282032,91.6128884 L78.9282032,9.99759461 C78.9282032,4.47607557 74.4585355,0 68.9318917,0 L9.99631148,0 Z M20.8885263,26 C24.2022348,26 26.8885263,23.3137085 26.8885263,20 C26.8885263,16.6862915 24.2022348,14 20.8885263,14 C17.5748178,14 14.8885263,16.6862915 14.8885263,20 C14.8885263,23.3137085 17.5748178,26 20.8885263,26 Z M57.3033321,25.6783342 C60.6170406,25.6783342 63.3033321,22.9920427 63.3033321,19.6783342 C63.3033321,16.3646258 60.6170406,13.6783342 57.3033321,13.6783342 C53.9896236,13.6783342 51.3033321,16.3646258 51.3033321,19.6783342 C51.3033321,22.9920427 53.9896236,25.6783342 57.3033321,25.6783342 Z\"></path>\n                <text font-family=\"Helvetica\" font-size=\"47.1724138\" font-weight=\"bold\" fill=\"#FFFFFF\">\n                    <tspan x=\"42\" y=\"77.4847912\" text-anchor=\"middle\"><<now \"DD\">></tspan>\n                </text>\n            </g>\n        </g>\n    </g>\n</svg>"
        },
        "$:/core/images/opacity": {
            "title": "$:/core/images/opacity",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-opacity tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M102.361773,65 C101.833691,67.051742 101.183534,69.0544767 100.419508,71 L82.5835324,71 C83.7602504,69.1098924 84.7666304,67.1027366 85.581205,65 L102.361773,65 Z M102.834311,63 C103.256674,61.0388326 103.568427,59.0365486 103.762717,57 L87.6555706,57 C87.3692052,59.0609452 86.9083652,61.0660782 86.2884493,63 L102.834311,63 Z M99.5852583,73 C98.6682925,75.0747721 97.6196148,77.0783056 96.4498253,79 L75.8124196,79 C77.8387053,77.2115633 79.6621163,75.1985844 81.2437158,73 L99.5852583,73 Z M95.1689122,81 C93.7449202,83.1155572 92.1695234,85.1207336 90.458251,87 L60.4614747,87 C65.1836162,85.86248 69.5430327,83.794147 73.3347255,81 L95.1689122,81 Z M87.6555706,47 L103.762717,47 C101.246684,20.6269305 79.0321807,0 52,0 C23.281193,0 0,23.281193 0,52 C0,77.2277755 17.9651296,98.2595701 41.8000051,103 L62.1999949,103 C67.8794003,101.870444 73.2255333,99.8158975 78.074754,97 L39,97 L39,95 L81.2493857,95 C83.8589242,93.2215015 86.2981855,91.2116653 88.5376609,89 L39,89 L39,87 L43.5385253,87 C27.7389671,83.1940333 16,68.967908 16,52 C16,32.117749 32.117749,16 52,16 C70.1856127,16 85.2217929,29.4843233 87.6555706,47 Z M87.8767787,49 L103.914907,49 C103.971379,49.9928025 104,50.9930589 104,52 C104,53.0069411 103.971379,54.0071975 103.914907,55 L87.8767787,55 C87.958386,54.0107999 88,53.0102597 88,52 C88,50.9897403 87.958386,49.9892001 87.8767787,49 Z\"></path>\n        <path d=\"M76,128 C104.718807,128 128,104.718807 128,76 C128,47.281193 104.718807,24 76,24 C47.281193,24 24,47.281193 24,76 C24,104.718807 47.281193,128 76,128 L76,128 Z M76,112 C95.882251,112 112,95.882251 112,76 C112,56.117749 95.882251,40 76,40 C56.117749,40 40,56.117749 40,76 C40,95.882251 56.117749,112 76,112 L76,112 Z\"></path>\n        <path d=\"M37,58 L90,58 L90,62 L37,62 L37,58 L37,58 Z M40,50 L93,50 L93,54 L40,54 L40,50 L40,50 Z M40,42 L93,42 L93,46 L40,46 L40,42 L40,42 Z M32,66 L85,66 L85,70 L32,70 L32,66 L32,66 Z M30,74 L83,74 L83,78 L30,78 L30,74 L30,74 Z M27,82 L80,82 L80,86 L27,86 L27,82 L27,82 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/open-window": {
            "title": "$:/core/images/open-window",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-open-window tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M16,112 L104.993898,112 C108.863261,112 112,115.590712 112,120 C112,124.418278 108.858091,128 104.993898,128 L7.00610161,128 C3.13673853,128 0,124.409288 0,120 C0,119.998364 4.30952878e-07,119.996727 1.29273572e-06,119.995091 C4.89579306e-07,119.993456 0,119.99182 0,119.990183 L0,24.0098166 C0,19.586117 3.59071231,16 8,16 C12.418278,16 16,19.5838751 16,24.0098166 L16,112 Z\"></path>\n        <path d=\"M96,43.1959595 L96,56 C96,60.418278 99.581722,64 104,64 C108.418278,64 112,60.418278 112,56 L112,24 C112,19.5907123 108.415101,16 103.992903,16 L72.0070969,16 C67.5881712,16 64,19.581722 64,24 C64,28.4092877 67.5848994,32 72.0070969,32 L84.5685425,32 L48.2698369,68.2987056 C45.1421332,71.4264093 45.1434327,76.4904296 48.267627,79.614624 C51.3854642,82.7324612 56.4581306,82.7378289 59.5835454,79.6124141 L96,43.1959595 Z M32,7.9992458 C32,3.58138434 35.5881049,0 39.9992458,0 L120.000754,0 C124.418616,0 128,3.5881049 128,7.9992458 L128,88.0007542 C128,92.4186157 124.411895,96 120.000754,96 L39.9992458,96 C35.5813843,96 32,92.4118951 32,88.0007542 L32,7.9992458 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/options-button": {
            "title": "$:/core/images/options-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-options-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M110.48779,76.0002544 C109.354214,80.4045063 107.611262,84.5641217 105.354171,88.3838625 L105.354171,88.3838625 L112.07833,95.1080219 C115.20107,98.2307613 115.210098,103.299824 112.089164,106.420759 L106.420504,112.089418 C103.301049,115.208874 98.2346851,115.205502 95.1077675,112.078585 L88.3836082,105.354425 C84.5638673,107.611516 80.4042519,109.354468 76,110.488045 L76,110.488045 L76,119.993281 C76,124.409501 72.4220153,128.000254 68.0083475,128.000254 L59.9916525,128.000254 C55.5800761,128.000254 52,124.41541 52,119.993281 L52,110.488045 C47.5957481,109.354468 43.4361327,107.611516 39.6163918,105.354425 L32.8922325,112.078585 C29.7694931,115.201324 24.7004301,115.210353 21.5794957,112.089418 L15.9108363,106.420759 C12.7913807,103.301303 12.7947522,98.2349395 15.9216697,95.1080219 L22.6458291,88.3838625 C20.3887383,84.5641217 18.6457859,80.4045063 17.5122098,76.0002544 L8.00697327,76.0002544 C3.59075293,76.0002544 2.19088375e-16,72.4222697 4.89347582e-16,68.0086019 L9.80228577e-16,59.9919069 C1.25035972e-15,55.5803305 3.58484404,52.0002544 8.00697327,52.0002544 L17.5122098,52.0002544 C18.6457859,47.5960025 20.3887383,43.4363871 22.6458291,39.6166462 L15.9216697,32.8924868 C12.7989304,29.7697475 12.7899019,24.7006845 15.9108363,21.5797501 L21.5794957,15.9110907 C24.6989513,12.7916351 29.7653149,12.7950065 32.8922325,15.9219241 L39.6163918,22.6460835 C43.4361327,20.3889927 47.5957481,18.6460403 52,17.5124642 L52,8.00722764 C52,3.5910073 55.5779847,0.000254375069 59.9916525,0.000254375069 L68.0083475,0.000254375069 C72.4199239,0.000254375069 76,3.58509841 76,8.00722764 L76,17.5124642 C80.4042519,18.6460403 84.5638673,20.3889927 88.3836082,22.6460835 L95.1077675,15.9219241 C98.2305069,12.7991848 103.29957,12.7901562 106.420504,15.9110907 L112.089164,21.5797501 C115.208619,24.6992057 115.205248,29.7655693 112.07833,32.8924868 L105.354171,39.6166462 L105.354171,39.6166462 C107.611262,43.4363871 109.354214,47.5960025 110.48779,52.0002544 L119.993027,52.0002544 C124.409247,52.0002544 128,55.5782391 128,59.9919069 L128,68.0086019 C128,72.4201783 124.415156,76.0002544 119.993027,76.0002544 L110.48779,76.0002544 L110.48779,76.0002544 Z M64,96.0002544 C81.673112,96.0002544 96,81.6733664 96,64.0002544 C96,46.3271424 81.673112,32.0002544 64,32.0002544 C46.326888,32.0002544 32,46.3271424 32,64.0002544 C32,81.6733664 46.326888,96.0002544 64,96.0002544 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/paint": {
            "title": "$:/core/images/paint",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-paint tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M83.5265806,76.1907935 C90.430962,69.2864121 91.8921169,59.0000433 87.9100453,50.6642209 L125.812763,12.7615036 C128.732035,9.84223095 128.72611,5.10322984 125.812796,2.18991592 C122.893542,-0.729338085 118.161775,-0.730617045 115.241209,2.18994966 L77.3384914,40.092667 C69.002669,36.1105954 58.7163002,37.5717503 51.8119188,44.4761317 L83.5265806,76.1907935 L83.5265806,76.1907935 L83.5265806,76.1907935 L83.5265806,76.1907935 Z M80.8836921,78.8336819 L49.1690303,47.1190201 C49.1690303,47.1190201 8.50573364,81.242543 0,80.2820711 C0,80.2820711 3.78222974,85.8744423 6.82737483,88.320684 C20.8514801,82.630792 44.1526049,63.720771 44.1526049,63.720771 L44.8144806,64.3803375 C44.8144806,64.3803375 19.450356,90.2231043 9.18040433,92.0477601 C10.4017154,93.4877138 13.5343883,96.1014812 15.4269991,97.8235871 C20.8439164,96.3356979 50.1595367,69.253789 50.1595367,69.253789 L50.8214124,69.9133555 L18.4136144,100.936036 L23.6993903,106.221812 L56.1060358,75.2002881 L56.7679115,75.8598546 C56.7679115,75.8598546 28.9040131,106.396168 28.0841366,108.291555 C28.0841366,108.291555 34.1159238,115.144621 35.6529617,116.115796 C36.3545333,113.280171 63.5365402,82.6307925 63.5365402,82.6307925 L64.1984159,83.290359 C64.1984159,83.290359 43.6013016,107.04575 39.2343772,120.022559 C42.443736,123.571575 46.7339155,125.159692 50.1595362,126.321151 C47.9699978,114.504469 80.8836921,78.8336819 80.8836921,78.8336819 L80.8836921,78.8336819 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/palette": {
            "title": "$:/core/images/palette",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-palette tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M80.2470434,39.1821571 C75.0645698,38.2680897 69.6261555,37.7814854 64.0193999,37.7814854 C28.6624616,37.7814854 0,57.1324214 0,81.0030106 C0,90.644534 4.67604329,99.5487133 12.5805659,106.738252 C23.5031767,91.1899067 26.3405471,72.3946229 36.8885698,63.5622337 C52.0716764,50.8486559 63.4268694,55.7343343 63.4268694,55.7343343 L80.2470434,39.1821571 Z M106.781666,48.8370714 C119.830962,56.749628 128.0388,68.229191 128.0388,81.0030106 C128.0388,90.3534932 128.557501,98.4142085 116.165191,106.082518 C105.367708,112.763955 112.341384,99.546808 104.321443,95.1851533 C96.3015017,90.8234987 84.3749007,96.492742 86.1084305,103.091059 C89.3087234,115.272303 105.529892,114.54645 92.4224435,119.748569 C79.3149955,124.950687 74.2201582,124.224536 64.0193999,124.224536 C56.1979176,124.224536 48.7040365,123.277578 41.7755684,121.544216 C51.620343,117.347916 69.6563669,109.006202 75.129737,102.088562 C82.7876655,92.4099199 87.3713218,80.0000002 83.3235694,72.4837191 C83.1303943,72.1250117 94.5392656,60.81569 106.781666,48.8370714 Z M1.13430476,123.866563 C0.914084026,123.867944 0.693884185,123.868637 0.473712455,123.868637 C33.9526848,108.928928 22.6351223,59.642592 59.2924543,59.6425917 C59.6085574,61.0606542 59.9358353,62.5865065 60.3541977,64.1372318 C34.4465025,59.9707319 36.7873124,112.168427 1.13429588,123.866563 L1.13430476,123.866563 Z M1.84669213,123.859694 C40.7185279,123.354338 79.9985412,101.513051 79.9985401,79.0466836 C70.7284906,79.0466835 65.9257264,75.5670082 63.1833375,71.1051511 C46.585768,64.1019718 32.81846,116.819636 1.84665952,123.859695 L1.84669213,123.859694 Z M67.1980193,59.8524981 C62.748213,63.9666823 72.0838429,76.2846822 78.5155805,71.1700593 C89.8331416,59.8524993 112.468264,37.2173758 123.785825,25.8998146 C135.103386,14.5822535 123.785825,3.26469247 112.468264,14.5822535 C101.150703,25.8998144 78.9500931,48.9868127 67.1980193,59.8524981 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/permalink-button": {
            "title": "$:/core/images/permalink-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-permalink-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M80.4834582,48 L73.0956761,80 L73.0956761,80 L47.5165418,80 L54.9043239,48 L80.4834582,48 Z M84.1773493,32 L89.8007299,7.64246248 C90.7941633,3.33942958 95.0918297,0.64641956 99.3968675,1.64031585 C103.693145,2.63218977 106.385414,6.93288901 105.390651,11.2416793 L100.598215,32 L104.000754,32 C108.411895,32 112,35.581722 112,40 C112,44.4092877 108.418616,48 104.000754,48 L96.9043239,48 L89.5165418,80 L104.000754,80 C108.411895,80 112,83.581722 112,88 C112,92.4092877 108.418616,96 104.000754,96 L85.8226507,96 L80.1992701,120.357538 C79.2058367,124.66057 74.9081703,127.35358 70.6031325,126.359684 C66.3068546,125.36781 63.6145865,121.067111 64.6093491,116.758321 L69.401785,96 L43.8226507,96 L38.1992701,120.357538 C37.2058367,124.66057 32.9081703,127.35358 28.6031325,126.359684 C24.3068546,125.36781 21.6145865,121.067111 22.6093491,116.758321 L27.401785,96 L23.9992458,96 C19.5881049,96 16,92.418278 16,88 C16,83.5907123 19.5813843,80 23.9992458,80 L31.0956761,80 L38.4834582,48 L23.9992458,48 C19.5881049,48 16,44.418278 16,40 C16,35.5907123 19.5813843,32 23.9992458,32 L42.1773493,32 L47.8007299,7.64246248 C48.7941633,3.33942958 53.0918297,0.64641956 57.3968675,1.64031585 C61.6931454,2.63218977 64.3854135,6.93288901 63.3906509,11.2416793 L58.598215,32 L84.1773493,32 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/permaview-button": {
            "title": "$:/core/images/permaview-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-permaview-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M81.4834582,48 L79.6365127,56 L79.6365127,56 L74.0573784,56 L75.9043239,48 L81.4834582,48 Z M85.1773493,32 L90.8007299,7.64246248 C91.7941633,3.33942958 96.0918297,0.64641956 100.396867,1.64031585 C104.693145,2.63218977 107.385414,6.93288901 106.390651,11.2416793 L101.598215,32 L104.000754,32 C108.411895,32 112,35.581722 112,40 C112,44.4092877 108.418616,48 104.000754,48 L97.9043239,48 L96.0573784,56 L104.000754,56 C108.411895,56 112,59.581722 112,64 C112,68.4092877 108.418616,72 104.000754,72 L92.3634873,72 L90.5165418,80 L104.000754,80 C108.411895,80 112,83.581722 112,88 C112,92.4092877 108.418616,96 104.000754,96 L86.8226507,96 L81.1992701,120.357538 C80.2058367,124.66057 75.9081703,127.35358 71.6031325,126.359684 C67.3068546,125.36781 64.6145865,121.067111 65.6093491,116.758321 L70.401785,96 L64.8226507,96 L59.1992701,120.357538 C58.2058367,124.66057 53.9081703,127.35358 49.6031325,126.359684 C45.3068546,125.36781 42.6145865,121.067111 43.6093491,116.758321 L48.401785,96 L42.8226507,96 L37.1992701,120.357538 C36.2058367,124.66057 31.9081703,127.35358 27.6031325,126.359684 C23.3068546,125.36781 20.6145865,121.067111 21.6093491,116.758321 L26.401785,96 L23.9992458,96 C19.5881049,96 16,92.418278 16,88 C16,83.5907123 19.5813843,80 23.9992458,80 L30.0956761,80 L31.9426216,72 L23.9992458,72 C19.5881049,72 16,68.418278 16,64 C16,59.5907123 19.5813843,56 23.9992458,56 L35.6365127,56 L37.4834582,48 L23.9992458,48 C19.5881049,48 16,44.418278 16,40 C16,35.5907123 19.5813843,32 23.9992458,32 L41.1773493,32 L46.8007299,7.64246248 C47.7941633,3.33942958 52.0918297,0.64641956 56.3968675,1.64031585 C60.6931454,2.63218977 63.3854135,6.93288901 62.3906509,11.2416793 L57.598215,32 L63.1773493,32 L68.8007299,7.64246248 C69.7941633,3.33942958 74.0918297,0.64641956 78.3968675,1.64031585 C82.6931454,2.63218977 85.3854135,6.93288901 84.3906509,11.2416793 L79.598215,32 L85.1773493,32 Z M53.9043239,48 L52.0573784,56 L57.6365127,56 L59.4834582,48 L53.9043239,48 Z M75.9426216,72 L74.0956761,80 L74.0956761,80 L68.5165418,80 L70.3634873,72 L75.9426216,72 L75.9426216,72 Z M48.3634873,72 L46.5165418,80 L52.0956761,80 L53.9426216,72 L48.3634873,72 L48.3634873,72 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/picture": {
            "title": "$:/core/images/picture",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-picture tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M112,68.2332211 L112,20.0027785 C112,17.7898769 110.207895,16 107.997221,16 L20.0027785,16 C17.7898769,16 16,17.792105 16,20.0027785 L16,58.312373 L25.2413115,43.7197989 C28.041793,39.297674 34.2643908,38.7118128 37.8410347,42.5335275 L56.0882845,63.1470817 L69.7748997,56.7400579 C72.766567,55.3552503 76.3013751,55.9473836 78.678437,58.2315339 C78.8106437,58.3585731 79.0742301,58.609836 79.4527088,58.9673596 C80.0910923,59.570398 80.8117772,60.2441563 81.598127,60.9705595 C83.8422198,63.043576 86.1541548,65.1151944 88.3956721,67.0372264 C89.1168795,67.6556396 89.8200801,68.2492007 90.5021258,68.8146755 C92.6097224,70.5620551 94.4693308,72.0029474 95.9836366,73.0515697 C96.7316295,73.5695379 97.3674038,73.9719282 98.0281481,74.3824999 C98.4724987,74.4989557 99.0742374,74.5263881 99.8365134,74.4317984 C101.709944,74.1993272 104.074502,73.2878514 106.559886,71.8846196 C107.705822,71.2376318 108.790494,70.5370325 109.764561,69.8410487 C110.323259,69.4418522 110.694168,69.1550757 110.834827,69.0391868 C111.210545,68.7296319 111.600264,68.4615815 112,68.2332211 L112,68.2332211 Z M0,8.00697327 C0,3.58484404 3.59075293,0 8.00697327,0 L119.993027,0 C124.415156,0 128,3.59075293 128,8.00697327 L128,119.993027 C128,124.415156 124.409247,128 119.993027,128 L8.00697327,128 C3.58484404,128 0,124.409247 0,119.993027 L0,8.00697327 L0,8.00697327 Z M95,42 C99.418278,42 103,38.418278 103,34 C103,29.581722 99.418278,26 95,26 C90.581722,26 87,29.581722 87,34 C87,38.418278 90.581722,42 95,42 L95,42 Z M32,76 C47.8587691,80.8294182 52.0345556,83.2438712 52.0345556,88 C52.0345556,92.7561288 32,95.4712486 32,102.347107 C32,109.222965 33.2849191,107.337637 33.2849191,112 L67.999999,112 C67.999999,112 54.3147136,105.375255 54.3147136,101.200691 C54.3147136,93.535181 64.9302432,92.860755 64.9302432,88 C64.9302432,80.6425555 50.8523779,79.167282 32,76 L32,76 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/plugin-generic-language": {
            "title": "$:/core/images/plugin-generic-language",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M61.2072232,68.1369825 C56.8829239,70.9319564 54.2082892,74.793177 54.2082892,79.0581634 C54.2082892,86.9638335 63.3980995,93.4821994 75.2498076,94.3940006 C77.412197,98.2964184 83.8475284,101.178858 91.5684735,101.403106 C86.4420125,100.27851 82.4506393,97.6624107 80.9477167,94.3948272 C92.8046245,93.4861461 102,86.9662269 102,79.0581634 C102,70.5281905 91.3014611,63.6132813 78.1041446,63.6132813 C71.5054863,63.6132813 65.5315225,65.3420086 61.2072232,68.1369825 Z M74.001066,53.9793443 C69.6767667,56.7743182 63.7028029,58.5030456 57.1041446,58.5030456 C54.4851745,58.5030456 51.9646095,58.2307276 49.6065315,57.7275105 C46.2945155,59.9778212 41.2235699,61.4171743 35.5395922,61.4171743 C35.4545771,61.4171743 35.3696991,61.4168523 35.2849622,61.4162104 C39.404008,60.5235193 42.7961717,58.6691298 44.7630507,56.286533 C37.8379411,53.5817651 33.2082892,48.669413 33.2082892,43.0581634 C33.2082892,34.5281905 43.9068281,27.6132812 57.1041446,27.6132812 C70.3014611,27.6132812 81,34.5281905 81,43.0581634 C81,47.3231498 78.3253653,51.1843704 74.001066,53.9793443 Z M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/plugin-generic-plugin": {
            "title": "$:/core/images/plugin-generic-plugin",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M40.3972881,76.4456988 L40.3972881,95.3404069 L54.5170166,95.3404069 L54.5170166,95.3404069 C54.5165526,95.3385183 54.516089,95.3366295 54.515626,95.3347404 C54.6093153,95.3385061 54.7034848,95.3404069 54.7980982,95.3404069 C58.6157051,95.3404069 61.710487,92.245625 61.710487,88.4280181 C61.710487,86.6197822 61.01617,84.9737128 59.8795929,83.7418666 L59.8795929,83.7418666 C59.8949905,83.7341665 59.9104102,83.7265043 59.925852,83.7188798 C58.8840576,82.5086663 58.2542926,80.9336277 58.2542926,79.2114996 C58.2542926,75.3938927 61.3490745,72.2991108 65.1666814,72.2991108 C68.9842884,72.2991108 72.0790703,75.3938927 72.0790703,79.2114996 C72.0790703,81.1954221 71.2432806,82.9841354 69.9045961,84.2447446 L69.9045961,84.2447446 C69.9333407,84.2629251 69.9619885,84.281245 69.9905383,84.2997032 L69.9905383,84.2997032 C69.1314315,85.4516923 68.6228758,86.8804654 68.6228758,88.4280181 C68.6228758,91.8584969 71.1218232,94.7053153 74.3986526,95.2474079 C74.3913315,95.2784624 74.3838688,95.3094624 74.3762652,95.3404069 L95.6963988,95.3404069 L95.6963988,75.5678578 L95.6963988,75.5678578 C95.6466539,75.5808558 95.5967614,75.5934886 95.5467242,75.6057531 C95.5504899,75.5120637 95.5523907,75.4178943 95.5523907,75.3232809 C95.5523907,71.505674 92.4576088,68.4108921 88.6400019,68.4108921 C86.831766,68.4108921 85.1856966,69.105209 83.9538504,70.2417862 L83.9538504,70.2417862 C83.9461503,70.2263886 83.938488,70.2109688 83.9308636,70.1955271 C82.7206501,71.2373215 81.1456115,71.8670865 79.4234834,71.8670865 C75.6058765,71.8670865 72.5110946,68.7723046 72.5110946,64.9546976 C72.5110946,61.1370907 75.6058765,58.0423088 79.4234834,58.0423088 C81.4074059,58.0423088 83.1961192,58.8780985 84.4567284,60.2167829 L84.4567284,60.2167829 C84.4749089,60.1880383 84.4932288,60.1593906 84.511687,60.1308407 L84.511687,60.1308407 C85.6636761,60.9899475 87.0924492,61.4985032 88.6400019,61.4985032 C92.0704807,61.4985032 94.9172991,58.9995558 95.4593917,55.7227265 C95.538755,55.7414363 95.6177614,55.761071 95.6963988,55.7816184 L95.6963988,40.0412962 L74.3762652,40.0412962 L74.3762652,40.0412962 C74.3838688,40.0103516 74.3913315,39.9793517 74.3986526,39.9482971 L74.3986526,39.9482971 C71.1218232,39.4062046 68.6228758,36.5593862 68.6228758,33.1289073 C68.6228758,31.5813547 69.1314315,30.1525815 69.9905383,29.0005925 C69.9619885,28.9821342 69.9333407,28.9638143 69.9045961,28.9456339 C71.2432806,27.6850247 72.0790703,25.8963113 72.0790703,23.9123888 C72.0790703,20.0947819 68.9842884,17 65.1666814,17 C61.3490745,17 58.2542926,20.0947819 58.2542926,23.9123888 C58.2542926,25.6345169 58.8840576,27.2095556 59.925852,28.419769 L59.925852,28.419769 C59.9104102,28.4273935 59.8949905,28.4350558 59.8795929,28.4427558 C61.01617,29.674602 61.710487,31.3206715 61.710487,33.1289073 C61.710487,36.9465143 58.6157051,40.0412962 54.7980982,40.0412962 C54.7034848,40.0412962 54.6093153,40.0393953 54.515626,40.0356296 L54.515626,40.0356296 C54.516089,40.0375187 54.5165526,40.0394075 54.5170166,40.0412962 L40.3972881,40.0412962 L40.3972881,52.887664 L40.3972881,52.887664 C40.4916889,53.3430132 40.5412962,53.8147625 40.5412962,54.2980982 C40.5412962,58.1157051 37.4465143,61.210487 33.6289073,61.210487 C32.0813547,61.210487 30.6525815,60.7019313 29.5005925,59.8428245 C29.4821342,59.8713744 29.4638143,59.9000221 29.4456339,59.9287667 C28.1850247,58.5900823 26.3963113,57.7542926 24.4123888,57.7542926 C20.5947819,57.7542926 17.5,60.8490745 17.5,64.6666814 C17.5,68.4842884 20.5947819,71.5790703 24.4123888,71.5790703 C26.134517,71.5790703 27.7095556,70.9493053 28.919769,69.9075109 L28.919769,69.9075109 C28.9273935,69.9229526 28.9350558,69.9383724 28.9427558,69.95377 C30.174602,68.8171928 31.8206715,68.1228758 33.6289073,68.1228758 C37.4465143,68.1228758 40.5412962,71.2176578 40.5412962,75.0352647 C40.5412962,75.5186004 40.4916889,75.9903496 40.3972881,76.4456988 Z M64,0 L118.5596,32 L118.5596,96 L64,128 L9.44039956,96 L9.44039956,32 L64,0 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/plugin-generic-theme": {
            "title": "$:/core/images/plugin-generic-theme",
            "tags": "$:/tags/Image",
            "text": "<svg width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M29.4078519,91.4716406 L51.4693474,69.4101451 L51.4646675,69.4054652 C50.5969502,68.5377479 50.5929779,67.1348725 51.4693474,66.2585029 C52.3396494,65.3882009 53.7499654,65.3874786 54.6163097,66.2538229 L64.0805963,75.7181095 C64.9483136,76.5858268 64.9522859,77.9887022 64.0759163,78.8650718 C63.2056143,79.7353737 61.7952984,79.736096 60.9289541,78.8697517 L60.9242741,78.8650718 L60.9242741,78.8650718 L38.8627786,100.926567 C36.2518727,103.537473 32.0187578,103.537473 29.4078519,100.926567 C26.796946,98.3156614 26.796946,94.0825465 29.4078519,91.4716406 Z M60.8017407,66.3810363 C58.3659178,63.6765806 56.3370667,61.2899536 54.9851735,59.5123615 C48.1295381,50.4979488 44.671561,55.2444054 40.7586738,59.5123614 C36.8457866,63.7803174 41.789473,67.2384487 38.0759896,70.2532832 C34.3625062,73.2681177 34.5917646,74.3131575 28.3243876,68.7977024 C22.0570105,63.2822473 21.6235306,61.7636888 24.5005999,58.6166112 C27.3776691,55.4695337 29.7823103,60.4247912 35.6595047,54.8320442 C41.5366991,49.2392972 36.5996215,44.2825646 36.5996215,44.2825646 C36.5996215,44.2825646 48.8365511,19.267683 65.1880231,21.1152173 C81.5394952,22.9627517 59.0022276,18.7228947 53.3962199,38.3410355 C50.9960082,46.7405407 53.8429162,44.7613399 58.3941742,48.3090467 C59.7875202,49.3951602 64.4244828,52.7100463 70.1884353,56.9943417 L90.8648751,36.3179019 L92.4795866,31.5515482 L100.319802,26.8629752 L103.471444,30.0146174 L98.782871,37.8548326 L94.0165173,39.4695441 L73.7934912,59.6925702 C86.4558549,69.2403631 102.104532,81.8392557 102.104532,86.4016913 C102.104533,93.6189834 99.0337832,97.9277545 92.5695848,95.5655717 C87.8765989,93.8506351 73.8015497,80.3744087 63.8173444,69.668717 L60.9242741,72.5617873 L57.7726319,69.4101451 L60.8017407,66.3810363 L60.8017407,66.3810363 Z M63.9533761,1.42108547e-13 L118.512977,32 L118.512977,96 L63.9533761,128 L9.39377563,96 L9.39377563,32 L63.9533761,1.42108547e-13 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/preview-closed": {
            "title": "$:/core/images/preview-closed",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-preview-closed tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M0.0881363238,64 C-0.210292223,65.8846266 0.249135869,67.8634737 1.4664206,69.4579969 C16.2465319,88.8184886 39.1692554,100.414336 64,100.414336 C88.8307446,100.414336 111.753468,88.8184886 126.533579,69.4579969 C127.750864,67.8634737 128.210292,65.8846266 127.911864,64 C110.582357,78.4158332 88.3036732,87.0858436 64,87.0858436 C39.6963268,87.0858436 17.4176431,78.4158332 0.0881363238,64 Z\"></path>\n        <rect x=\"62\" y=\"96\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n        <rect transform=\"translate(80.000000, 101.000000) rotate(-5.000000) translate(-80.000000, -101.000000) \" x=\"78\" y=\"93\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n        <rect transform=\"translate(48.000000, 101.000000) rotate(-355.000000) translate(-48.000000, -101.000000) \" x=\"46\" y=\"93\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n        <rect transform=\"translate(32.000000, 96.000000) rotate(-350.000000) translate(-32.000000, -96.000000) \" x=\"30\" y=\"88\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n        <rect transform=\"translate(96.000000, 96.000000) rotate(-10.000000) translate(-96.000000, -96.000000) \" x=\"94\" y=\"88\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n        <rect transform=\"translate(112.000000, 88.000000) rotate(-20.000000) translate(-112.000000, -88.000000) \" x=\"110\" y=\"80\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n        <rect transform=\"translate(16.000000, 88.000000) rotate(-340.000000) translate(-16.000000, -88.000000) \" x=\"14\" y=\"80\" width=\"4\" height=\"16\" rx=\"4\"></rect>\n    </g>\n</svg>"
        },
        "$:/core/images/preview-open": {
            "title": "$:/core/images/preview-open",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-preview-open tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M64.1099282,99.5876785 C39.2791836,99.5876785 16.3564602,87.9918313 1.57634884,68.6313396 C-0.378878622,66.070184 -0.378878622,62.5174945 1.57634884,59.9563389 C16.3564602,40.5958472 39.2791836,29 64.1099282,29 C88.9406729,29 111.863396,40.5958472 126.643508,59.9563389 C128.598735,62.5174945 128.598735,66.070184 126.643508,68.6313396 C111.863396,87.9918313 88.9406729,99.5876785 64.1099282,99.5876785 Z M110.213805,67.5808331 C111.654168,66.0569335 111.654168,63.9430665 110.213805,62.4191669 C99.3257042,50.8995835 82.4391647,44 64.1470385,44 C45.8549124,44 28.9683729,50.8995835 18.0802717,62.4191669 C16.6399094,63.9430665 16.6399094,66.0569335 18.0802717,67.5808331 C28.9683729,79.1004165 45.8549124,86 64.1470385,86 C82.4391647,86 99.3257042,79.1004165 110.213805,67.5808331 Z\"></path>\n        <path d=\"M63.5,88 C76.4786916,88 87,77.4786916 87,64.5 C87,51.5213084 76.4786916,41 63.5,41 C50.5213084,41 40,51.5213084 40,64.5 C40,77.4786916 50.5213084,88 63.5,88 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/quote": {
            "title": "$:/core/images/quote",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-quote tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M51.2188077,117.712501 L51.2188077,62.1993386 L27.4274524,62.1993386 C27.4274524,53.3075754 29.1096526,45.797753 32.4741035,39.669646 C35.8385544,33.541539 42.0867267,28.9154883 51.2188077,25.7913554 L51.2188077,2 C43.7689521,2.96127169 36.8599155,5.18417913 30.4914905,8.668789 C24.1230656,12.1533989 18.6559149,16.5391352 14.0898743,21.8261295 C9.52383382,27.1131238 5.97919764,33.2411389 3.45585945,40.2103586 C0.932521268,47.1795784 -0.208971741,54.6293222 0.0313461819,62.5598136 L0.0313461819,117.712501 L51.2188077,117.712501 Z M128,117.712501 L128,62.1993386 L104.208645,62.1993386 C104.208645,53.3075754 105.890845,45.797753 109.255296,39.669646 C112.619747,33.541539 118.867919,28.9154883 128,25.7913554 L128,2 C120.550144,2.96127169 113.641108,5.18417913 107.272683,8.668789 C100.904258,12.1533989 95.4371072,16.5391352 90.8710666,21.8261295 C86.3050261,27.1131238 82.7603899,33.2411389 80.2370517,40.2103586 C77.7137136,47.1795784 76.5722206,54.6293222 76.8125385,62.5598136 L76.8125385,117.712501 L128,117.712501 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/refresh-button": {
            "title": "$:/core/images/refresh-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-refresh-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M106.369002,39.4325143 C116.529932,60.3119371 112.939592,86.1974934 95.5979797,103.539105 C73.7286194,125.408466 38.2713806,125.408466 16.4020203,103.539105 C-5.46734008,81.6697449 -5.46734008,46.2125061 16.4020203,24.3431458 C19.5262146,21.2189514 24.5915344,21.2189514 27.7157288,24.3431458 C30.8399231,27.4673401 30.8399231,32.5326599 27.7157288,35.6568542 C12.0947571,51.2778259 12.0947571,76.6044251 27.7157288,92.2253967 C43.3367004,107.846368 68.6632996,107.846368 84.2842712,92.2253967 C97.71993,78.7897379 99.5995262,58.1740623 89.9230597,42.729491 L83.4844861,54.9932839 C81.4307001,58.9052072 76.5945372,60.4115251 72.682614,58.3577391 C68.7706907,56.3039532 67.2643728,51.4677903 69.3181587,47.555867 L84.4354914,18.7613158 C86.4966389,14.8353707 91.3577499,13.3347805 95.273202,15.415792 L124.145886,30.7612457 C128.047354,32.8348248 129.52915,37.6785572 127.455571,41.5800249 C125.381992,45.4814927 120.53826,46.9632892 116.636792,44.8897102 L106.369002,39.4325143 Z M98.1470904,27.0648707 C97.9798954,26.8741582 97.811187,26.6843098 97.6409651,26.4953413 L98.6018187,26.1987327 L98.1470904,27.0648707 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/right-arrow": {
            "title": "$:/core/images/right-arrow",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-right-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <path d=\"M80.3563798,109.353315 C78.9238993,110.786918 76.9450203,111.675144 74.7592239,111.675144 L-4.40893546,111.675144 C-8.77412698,111.675144 -12.3248558,108.130732 -12.3248558,103.758478 C-12.3248558,99.3951199 -8.78077754,95.8418109 -4.40893546,95.8418109 L66.8418109,95.8418109 L66.8418109,24.5910645 C66.8418109,20.225873 70.3862233,16.6751442 74.7584775,16.6751442 C79.1218352,16.6751442 82.6751442,20.2192225 82.6751442,24.5910645 L82.6751442,103.759224 C82.6751442,105.941695 81.7891419,107.920575 80.3566508,109.353886 Z\" transform=\"translate(35.175144, 64.175144) rotate(-45.000000) translate(-35.175144, -64.175144) \"></path>\n</svg>"
        },
        "$:/core/images/save-button": {
            "title": "$:/core/images/save-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-save-button tc-image-button\" viewBox=\"0 0 128 128\" width=\"22pt\" height=\"22pt\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M120.78304,34.329058 C125.424287,43.1924006 128.049406,53.2778608 128.049406,63.9764502 C128.049406,99.3226742 99.3956295,127.97645 64.0494055,127.97645 C28.7031816,127.97645 0.0494055385,99.3226742 0.0494055385,63.9764502 C0.0494055385,28.6302262 28.7031816,-0.0235498012 64.0494055,-0.0235498012 C82.8568763,-0.0235498012 99.769563,8.08898558 111.479045,21.0056358 L114.159581,18.3250998 C117.289194,15.1954866 122.356036,15.1939641 125.480231,18.3181584 C128.598068,21.4359957 128.601317,26.5107804 125.473289,29.6388083 L120.78304,34.329058 Z M108.72451,46.3875877 C110.870571,51.8341374 112.049406,57.767628 112.049406,63.9764502 C112.049406,90.4861182 90.5590735,111.97645 64.0494055,111.97645 C37.5397375,111.97645 16.0494055,90.4861182 16.0494055,63.9764502 C16.0494055,37.4667822 37.5397375,15.9764502 64.0494055,15.9764502 C78.438886,15.9764502 91.3495036,22.308215 100.147097,32.3375836 L58.9411255,73.5435552 L41.975581,56.5780107 C38.8486152,53.4510448 33.7746915,53.4551552 30.6568542,56.5729924 C27.5326599,59.6971868 27.5372202,64.7670668 30.6618725,67.8917192 L53.279253,90.5090997 C54.8435723,92.073419 56.8951519,92.8541315 58.9380216,92.8558261 C60.987971,92.8559239 63.0389578,92.0731398 64.6049211,90.5071765 L108.72451,46.3875877 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/size": {
            "title": "$:/core/images/size",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-size tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <path d=\"M92.3431458,26 L83.1715729,35.1715729 C81.6094757,36.73367 81.6094757,39.26633 83.1715729,40.8284271 C84.73367,42.3905243 87.26633,42.3905243 88.8284271,40.8284271 L104.828427,24.8284271 C106.390524,23.26633 106.390524,20.73367 104.828427,19.1715729 L88.8284271,3.17157288 C87.26633,1.60947571 84.73367,1.60947571 83.1715729,3.17157288 C81.6094757,4.73367004 81.6094757,7.26632996 83.1715729,8.82842712 L92.3431457,18 L22,18 C19.790861,18 18,19.790861 18,22 L18,92.3431458 L8.82842712,83.1715729 C7.26632996,81.6094757 4.73367004,81.6094757 3.17157288,83.1715729 C1.60947571,84.73367 1.60947571,87.26633 3.17157288,88.8284271 L19.1715729,104.828427 C20.73367,106.390524 23.26633,106.390524 24.8284271,104.828427 L40.8284271,88.8284271 C42.3905243,87.26633 42.3905243,84.73367 40.8284271,83.1715729 C39.26633,81.6094757 36.73367,81.6094757 35.1715729,83.1715729 L26,92.3431458 L26,22 L22,26 L92.3431458,26 L92.3431458,26 Z M112,52 L112,116 L116,112 L52,112 C49.790861,112 48,113.790861 48,116 C48,118.209139 49.790861,120 52,120 L116,120 C118.209139,120 120,118.209139 120,116 L120,52 C120,49.790861 118.209139,48 116,48 C113.790861,48 112,49.790861 112,52 L112,52 Z\"></path>\n</svg>"
        },
        "$:/core/images/spiral": {
            "title": "$:/core/images/spiral",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-spiral tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"nonzero\">\n        <path d=\"M64.534 68.348c3.39 0 6.097-2.62 6.476-5.968l-4.755-.538 4.75.583c.377-3.07-1.194-6.054-3.89-7.78-2.757-1.773-6.34-2.01-9.566-.7-3.46 1.403-6.14 4.392-7.35 8.148l-.01.026c-1.3 4.08-.72 8.64 1.58 12.52 2.5 4.2 6.77 7.2 11.76 8.27 5.37 1.15 11.11-.05 15.83-3.31 5.04-3.51 8.46-9.02 9.45-15.3 1.05-6.7-.72-13.63-4.92-19.19l.02.02c-4.42-5.93-11.2-9.82-18.78-10.78-7.96-1.01-16.13 1.31-22.59 6.43-6.81 5.39-11.18 13.41-12.11 22.26-.98 9.27 1.87 18.65 7.93 26.02 6.32 7.69 15.6 12.56 25.74 13.48 10.54.96 21.15-2.42 29.45-9.4l.01-.01c8.58-7.25 13.94-17.78 14.86-29.21.94-11.84-2.96-23.69-10.86-32.9-8.19-9.5-19.95-15.36-32.69-16.27-13.16-.94-26.24 3.49-36.34 12.34l.01-.01c-10.41 9.08-16.78 22.1-17.68 36.15-.93 14.44 4.03 28.77 13.79 39.78 10.03 11.32 24.28 18.2 39.6 19.09 15.73.92 31.31-4.56 43.24-15.234 12.23-10.954 19.61-26.44 20.5-43.074.14-2.64-1.89-4.89-4.52-5.03-2.64-.14-4.89 1.88-5.03 4.52-.75 14.1-7 27.2-17.33 36.45-10.03 8.98-23.11 13.58-36.3 12.81-12.79-.75-24.67-6.48-33-15.89-8.07-9.11-12.17-20.94-11.41-32.827.74-11.52 5.942-22.15 14.43-29.54l.01-.01c8.18-7.17 18.74-10.75 29.35-9.998 10.21.726 19.6 5.41 26.11 12.96 6.24 7.273 9.32 16.61 8.573 25.894-.718 8.9-4.88 17.064-11.504 22.66l.01-.007c-6.36 5.342-14.44 7.92-22.425 7.19-7.604-.68-14.52-4.314-19.21-10.027-4.44-5.4-6.517-12.23-5.806-18.94.67-6.3 3.76-11.977 8.54-15.766 4.46-3.54 10.05-5.128 15.44-4.44 5.03.63 9.46 3.18 12.32 7.01l.02.024c2.65 3.5 3.75 7.814 3.1 11.92-.59 3.71-2.58 6.925-5.45 8.924-2.56 1.767-5.61 2.403-8.38 1.81-2.42-.516-4.42-1.92-5.53-3.79-.93-1.56-1.15-3.3-.69-4.75l-4.56-1.446L59.325 65c.36-1.12 1.068-1.905 1.84-2.22.25-.103.48-.14.668-.13.06.006.11.015.14.025.01 0 .01 0-.01-.01-.02-.015-.054-.045-.094-.088-.06-.064-.12-.145-.17-.244-.15-.29-.23-.678-.18-1.11l-.005.04c.15-1.332 1.38-2.523 3.035-2.523-2.65 0-4.79 2.144-4.79 4.787s2.14 4.785 4.78 4.785z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/stamp": {
            "title": "$:/core/images/stamp",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-stamp tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M49.7334301,64 L16.0098166,64 C11.5838751,64 8,67.5829053 8,72.002643 L8,74.4986785 L8,97 L120,97 L120,74.4986785 L120,72.002643 C120,67.5737547 116.413883,64 111.990183,64 L78.2665699,64 C76.502049,60.7519149 75.5,57.0311962 75.5,53.0769231 C75.5,46.6017951 78.1869052,40.7529228 82.5087769,36.5800577 C85.3313113,32.7688808 87,28.0549983 87,22.952183 C87,10.2760423 76.7025492,0 64,0 C51.2974508,0 41,10.2760423 41,22.952183 C41,28.0549983 42.6686887,32.7688808 45.4912231,36.5800577 C49.8130948,40.7529228 52.5,46.6017951 52.5,53.0769231 C52.5,57.0311962 51.497951,60.7519149 49.7334301,64 Z M8,104 L120,104 L120,112 L8,112 L8,104 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/star-filled": {
            "title": "$:/core/images/star-filled",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-star-filled tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"nonzero\">\n        <path d=\"M61.8361286,96.8228569 L99.1627704,124.110219 C101.883827,126.099427 105.541968,123.420868 104.505636,120.198072 L90.2895569,75.9887263 L89.0292911,79.8977279 L126.314504,52.5528988 C129.032541,50.5595011 127.635256,46.2255025 124.273711,46.2229134 L78.1610486,46.1873965 L81.4604673,48.6032923 L67.1773543,4.41589688 C66.1361365,1.19470104 61.6144265,1.19470104 60.5732087,4.41589688 L46.2900957,48.6032923 L49.5895144,46.1873965 L3.47685231,46.2229134 C0.115307373,46.2255025 -1.28197785,50.5595011 1.43605908,52.5528988 L38.7212719,79.8977279 L37.4610061,75.9887263 L23.2449266,120.198072 C22.2085954,123.420868 25.8667356,126.099427 28.5877926,124.110219 L65.9144344,96.8228569 L61.8361286,96.8228569 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/storyview-classic": {
            "title": "$:/core/images/storyview-classic",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-storyview-classic tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.5776607 16,23.9924054 L16,40.0075946 C16,44.4216782 19.5881049,48 23.9992458,48 L104.000754,48 C108.418616,48 112,44.4223393 112,40.0075946 L112,23.9924054 C112,19.5783218 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z M23.9992458,64 C19.5813843,64 16,67.5907123 16,72 C16,76.418278 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.4092877 112,72 C112,67.581722 108.411895,64 104.000754,64 L23.9992458,64 L23.9992458,64 Z M23.9992458,96 C19.5813843,96 16,99.5907123 16,104 C16,108.418278 19.5881049,112 23.9992458,112 L104.000754,112 C108.418616,112 112,108.409288 112,104 C112,99.581722 108.411895,96 104.000754,96 L23.9992458,96 L23.9992458,96 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/storyview-pop": {
            "title": "$:/core/images/storyview-pop",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-storyview-pop tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.5776607 16,23.9924054 L16,40.0075946 C16,44.4216782 19.5881049,48 23.9992458,48 L104.000754,48 C108.418616,48 112,44.4223393 112,40.0075946 L112,23.9924054 C112,19.5783218 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z M16.0098166,56 C11.586117,56 8,59.5776607 8,63.9924054 L8,80.0075946 C8,84.4216782 11.5838751,88 16.0098166,88 L111.990183,88 C116.413883,88 120,84.4223393 120,80.0075946 L120,63.9924054 C120,59.5783218 116.416125,56 111.990183,56 L16.0098166,56 L16.0098166,56 Z M23.9992458,96 C19.5813843,96 16,99.5907123 16,104 C16,108.418278 19.5881049,112 23.9992458,112 L104.000754,112 C108.418616,112 112,108.409288 112,104 C112,99.581722 108.411895,96 104.000754,96 L23.9992458,96 L23.9992458,96 Z M23.9992458,64 C19.5813843,64 16,67.5907123 16,72 C16,76.418278 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.4092877 112,72 C112,67.581722 108.411895,64 104.000754,64 L23.9992458,64 L23.9992458,64 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/storyview-zoomin": {
            "title": "$:/core/images/storyview-zoomin",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-storyview-zoomin tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M8.00697327,0 C3.58484404,0 0,3.59075293 0,8.00697327 L0,119.993027 C0,124.415156 3.59075293,128 8.00697327,128 L119.993027,128 C124.415156,128 128,124.409247 128,119.993027 L128,8.00697327 C128,3.58484404 124.409247,0 119.993027,0 L8.00697327,0 L8.00697327,0 Z M23.9992458,16 C19.5813843,16 16,19.578055 16,24.0085154 L16,71.9914846 C16,76.4144655 19.5881049,80 23.9992458,80 L104.000754,80 C108.418616,80 112,76.421945 112,71.9914846 L112,24.0085154 C112,19.5855345 108.411895,16 104.000754,16 L23.9992458,16 L23.9992458,16 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/strikethrough": {
            "title": "$:/core/images/strikethrough",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-strikethrough tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M92.793842,38.7255689 L108.215529,38.7255689 C107.987058,31.985687 106.70193,26.1883331 104.360107,21.3333333 C102.018284,16.4783336 98.8197436,12.4516001 94.7643909,9.25301205 C90.7090382,6.05442399 85.9969032,3.71263572 80.6278447,2.22757697 C75.2587862,0.742518233 69.4328739,0 63.1499331,0 C57.552404,0 52.0977508,0.713959839 46.7858099,2.14190094 C41.473869,3.56984203 36.7331757,5.74027995 32.5635877,8.65327979 C28.3939997,11.5662796 25.0526676,15.2788708 22.5394913,19.7911647 C20.026315,24.3034585 18.7697456,29.6438781 18.7697456,35.8125837 C18.7697456,41.4101128 19.883523,46.0651309 22.1111111,49.7777778 C24.3386992,53.4904246 27.3087722,56.5176144 31.021419,58.8594378 C34.7340659,61.2012612 38.9321497,63.0861151 43.6157965,64.5140562 C48.2994433,65.9419973 53.068695,67.1985666 57.9236948,68.2838019 C62.7786945,69.3690371 67.5479462,70.4256977 72.231593,71.4538153 C76.9152398,72.4819329 81.1133237,73.8241773 84.8259705,75.480589 C88.5386174,77.1370007 91.5086903,79.2788802 93.7362784,81.9062918 C95.9638666,84.5337035 97.0776439,87.9607107 97.0776439,92.1874163 C97.0776439,96.6425926 96.1637753,100.298067 94.3360107,103.153949 C92.5082461,106.009831 90.109341,108.265944 87.1392236,109.922356 C84.1691061,111.578768 80.827774,112.749662 77.1151272,113.435074 C73.4024803,114.120485 69.7184476,114.463186 66.0629183,114.463186 C61.4935068,114.463186 57.0383974,113.892018 52.6974565,112.749665 C48.3565156,111.607312 44.5582492,109.836692 41.3025435,107.437751 C38.0468378,105.03881 35.4194656,101.983062 33.4203481,98.270415 C31.4212305,94.5577681 30.4216867,90.1312171 30.4216867,84.9906292 L15,84.9906292 C15,92.4159229 16.3422445,98.8415614 19.0267738,104.267738 C21.711303,109.693914 25.3667774,114.149023 29.9933066,117.633199 C34.6198357,121.117376 39.9888137,123.71619 46.1004016,125.429719 C52.2119895,127.143248 58.6947448,128 65.5488621,128 C71.1463912,128 76.7723948,127.343157 82.4270415,126.029451 C88.0816882,124.715745 93.1936407,122.602424 97.7630522,119.689424 C102.332464,116.776425 106.073613,113.006717 108.986613,108.380187 C111.899613,103.753658 113.356091,98.1847715 113.356091,91.6733601 C113.356091,85.6188899 112.242314,80.5926126 110.014726,76.5943775 C107.787137,72.5961424 104.817065,69.2833688 101.104418,66.6559572 C97.3917708,64.0285455 93.193687,61.9437828 88.5100402,60.4016064 C83.8263934,58.85943 79.0571416,57.5171855 74.2021419,56.3748327 C69.3471422,55.2324798 64.5778904,54.1758192 59.8942436,53.2048193 C55.2105968,52.2338193 51.012513,51.0058084 47.2998661,49.5207497 C43.5872193,48.0356909 40.6171463,46.1222786 38.3895582,43.7804552 C36.1619701,41.4386318 35.0481928,38.3828836 35.0481928,34.6131191 C35.0481928,30.6148841 35.8192694,27.273552 37.3614458,24.5890228 C38.9036222,21.9044935 40.9598265,19.762614 43.5301205,18.1633199 C46.1004145,16.5640259 49.041929,15.4216902 52.3547523,14.7362784 C55.6675757,14.0508667 59.0374661,13.708166 62.4645248,13.708166 C70.9179361,13.708166 77.8576257,15.6786952 83.2838019,19.6198126 C88.709978,23.56093 91.8799597,29.9294518 92.793842,38.7255689 L92.793842,38.7255689 Z\"></path>\n        <rect x=\"5\" y=\"54\" width=\"118\" height=\"16\"></rect>\n    </g>\n</svg>"
        },
        "$:/core/images/subscript": {
            "title": "$:/core/images/subscript",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-subscript tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M2.27170276,16 L22.1825093,16 L43.8305003,49.6746527 L66.4138983,16 L85.1220387,16 L53.5854592,61.9685735 L87.3937414,111.411516 L67.0820462,111.411516 L43.295982,74.9306422 L19.1090291,111.411516 L0,111.411516 L33.8082822,61.9685735 L2.27170276,16 Z M127.910914,128.411516 L85.3276227,128.411516 C85.3870139,123.24448 86.6342108,118.730815 89.0692508,114.870386 C91.5042907,111.009956 94.8301491,107.654403 99.0469256,104.803624 C101.066227,103.318844 103.174584,101.878629 105.372059,100.482935 C107.569534,99.0872413 109.588805,97.5876355 111.429933,95.9840726 C113.271061,94.3805097 114.785514,92.6433426 115.973338,90.7725192 C117.161163,88.9016958 117.784761,86.7487964 117.844152,84.3137564 C117.844152,83.1853233 117.710524,81.9826691 117.443264,80.7057579 C117.176003,79.4288467 116.656338,78.2410402 115.884252,77.1423026 C115.112166,76.0435651 114.04314,75.123015 112.677142,74.3806248 C111.311144,73.6382345 109.529434,73.267045 107.331959,73.267045 C105.312658,73.267045 103.634881,73.6679297 102.298579,74.4697112 C100.962276,75.2714926 99.8932503,76.3702137 99.0914688,77.7659073 C98.2896874,79.161601 97.6957841,80.8096826 97.3097412,82.7102016 C96.9236982,84.6107206 96.7009845,86.6596869 96.6415933,88.857162 L86.4857457,88.857162 C86.4857457,85.4124713 86.9460207,82.2202411 87.8665846,79.2803758 C88.7871485,76.3405105 90.1679736,73.801574 92.0091014,71.6634901 C93.8502292,69.5254062 96.092214,67.8476295 98.7351233,66.6301095 C101.378033,65.4125895 104.451482,64.8038386 107.955564,64.8038386 C111.756602,64.8038386 114.933984,65.4274371 117.487807,66.6746527 C120.041629,67.9218683 122.105443,69.4957119 123.67931,71.3962309 C125.253178,73.2967499 126.366746,75.3605638 127.02005,77.5877345 C127.673353,79.8149053 128,81.9381095 128,83.9574109 C128,86.4518421 127.613963,88.7086746 126.841877,90.727976 C126.069791,92.7472774 125.03046,94.6032252 123.723854,96.2958749 C122.417247,97.9885247 120.932489,99.5475208 119.269534,100.97291 C117.60658,102.398299 115.884261,103.734582 114.102524,104.981797 C112.320788,106.229013 110.539078,107.416819 108.757341,108.545253 C106.975605,109.673686 105.327523,110.802102 103.813047,111.930535 C102.298571,113.058968 100.977136,114.231927 99.8487031,115.449447 C98.7202699,116.666967 97.9481956,117.958707 97.5324571,119.324705 L127.910914,119.324705 L127.910914,128.411516 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/superscript": {
            "title": "$:/core/images/superscript",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-superscript tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M2.27170276,16 L22.1825093,16 L43.8305003,49.6746527 L66.4138983,16 L85.1220387,16 L53.5854592,61.9685735 L87.3937414,111.411516 L67.0820462,111.411516 L43.295982,74.9306422 L19.1090291,111.411516 L0,111.411516 L33.8082822,61.9685735 L2.27170276,16 Z M127.910914,63.4115159 L85.3276227,63.4115159 C85.3870139,58.2444799 86.6342108,53.7308149 89.0692508,49.8703857 C91.5042907,46.0099565 94.8301491,42.654403 99.0469256,39.8036245 C101.066227,38.318844 103.174584,36.8786285 105.372059,35.4829349 C107.569534,34.0872413 109.588805,32.5876355 111.429933,30.9840726 C113.271061,29.3805097 114.785514,27.6433426 115.973338,25.7725192 C117.161163,23.9016958 117.784761,21.7487964 117.844152,19.3137564 C117.844152,18.1853233 117.710524,16.9826691 117.443264,15.7057579 C117.176003,14.4288467 116.656338,13.2410402 115.884252,12.1423026 C115.112166,11.0435651 114.04314,10.123015 112.677142,9.38062477 C111.311144,8.63823453 109.529434,8.26704499 107.331959,8.26704499 C105.312658,8.26704499 103.634881,8.6679297 102.298579,9.46971115 C100.962276,10.2714926 99.8932503,11.3702137 99.0914688,12.7659073 C98.2896874,14.161601 97.6957841,15.8096826 97.3097412,17.7102016 C96.9236982,19.6107206 96.7009845,21.6596869 96.6415933,23.857162 L86.4857457,23.857162 C86.4857457,20.4124713 86.9460207,17.2202411 87.8665846,14.2803758 C88.7871485,11.3405105 90.1679736,8.80157397 92.0091014,6.6634901 C93.8502292,4.52540622 96.092214,2.84762946 98.7351233,1.63010947 C101.378033,0.412589489 104.451482,-0.196161372 107.955564,-0.196161372 C111.756602,-0.196161372 114.933984,0.427437071 117.487807,1.67465266 C120.041629,2.92186826 122.105443,4.49571195 123.67931,6.39623095 C125.253178,8.29674995 126.366746,10.3605638 127.02005,12.5877345 C127.673353,14.8149053 128,16.9381095 128,18.9574109 C128,21.4518421 127.613963,23.7086746 126.841877,25.727976 C126.069791,27.7472774 125.03046,29.6032252 123.723854,31.2958749 C122.417247,32.9885247 120.932489,34.5475208 119.269534,35.97291 C117.60658,37.3982993 115.884261,38.7345816 114.102524,39.9817972 C112.320788,41.2290128 110.539078,42.4168194 108.757341,43.5452525 C106.975605,44.6736857 105.327523,45.8021019 103.813047,46.9305351 C102.298571,48.0589682 100.977136,49.2319272 99.8487031,50.4494472 C98.7202699,51.6669672 97.9481956,52.9587068 97.5324571,54.3247048 L127.910914,54.3247048 L127.910914,63.4115159 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/tag-button": {
            "title": "$:/core/images/tag-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-tag-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M18.1643182,47.6600756 L18.1677196,51.7651887 C18.1708869,55.5878829 20.3581578,60.8623899 23.0531352,63.5573673 L84.9021823,125.406414 C87.5996731,128.103905 91.971139,128.096834 94.6717387,125.396234 L125.766905,94.3010679 C128.473612,91.5943612 128.472063,87.2264889 125.777085,84.5315115 L63.9280381,22.6824644 C61.2305472,19.9849735 55.9517395,17.801995 52.1318769,17.8010313 L25.0560441,17.7942007 C21.2311475,17.7932358 18.1421354,20.8872832 18.1452985,24.7049463 L18.1535504,34.6641936 C18.2481119,34.6754562 18.3439134,34.6864294 18.4409623,34.6971263 C22.1702157,35.1081705 26.9295004,34.6530132 31.806204,33.5444844 C32.1342781,33.0700515 32.5094815,32.6184036 32.9318197,32.1960654 C35.6385117,29.4893734 39.5490441,28.718649 42.94592,29.8824694 C43.0432142,29.8394357 43.1402334,29.7961748 43.2369683,29.7526887 L43.3646982,30.0368244 C44.566601,30.5115916 45.6933052,31.2351533 46.6655958,32.2074439 C50.4612154,36.0030635 50.4663097,42.1518845 46.6769742,45.94122 C43.0594074,49.5587868 37.2914155,49.7181264 33.4734256,46.422636 C28.1082519,47.5454734 22.7987486,48.0186448 18.1643182,47.6600756 Z\"></path>\n        <path d=\"M47.6333528,39.5324628 L47.6562932,39.5834939 C37.9670934,43.9391617 26.0718874,46.3819521 17.260095,45.4107025 C5.27267473,44.0894301 -1.02778744,36.4307276 2.44271359,24.0779512 C5.56175386,12.9761516 14.3014034,4.36129832 24.0466405,1.54817001 C34.7269254,-1.53487574 43.7955833,3.51606438 43.7955834,14.7730751 L35.1728168,14.7730752 C35.1728167,9.91428944 32.0946059,8.19982862 26.4381034,9.83267419 C19.5270911,11.8276553 13.046247,18.2159574 10.7440788,26.4102121 C8.82861123,33.2280582 11.161186,36.0634845 18.2047888,36.8398415 C25.3302805,37.6252244 35.7353482,35.4884477 44.1208333,31.7188498 L44.1475077,31.7781871 C44.159701,31.7725635 44.1718402,31.7671479 44.1839238,31.7619434 C45.9448098,31.0035157 50.4503245,38.3109156 47.7081571,39.5012767 C47.6834429,39.512005 47.6585061,39.5223987 47.6333528,39.5324628 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/theme-button": {
            "title": "$:/core/images/theme-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-theme-button tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M55.854113,66.9453198 C54.3299482,65.1432292 53.0133883,63.518995 51.9542746,62.1263761 C40.8899947,47.578055 35.3091807,55.2383404 28.9941893,62.1263758 C22.6791979,69.0144112 30.6577916,74.5954741 24.6646171,79.4611023 C18.6714426,84.3267304 19.0414417,86.0133155 8.92654943,77.1119468 C-1.18834284,68.2105781 -1.88793412,65.7597832 2.7553553,60.6807286 C7.39864472,55.601674 11.2794845,63.5989423 20.7646627,54.5728325 C30.2498409,45.5467226 22.2819131,37.5470737 22.2819131,37.5470737 C22.2819131,37.5470737 42.0310399,-2.82433362 68.4206088,0.157393922 C94.8101776,3.13912147 58.4373806,-3.70356506 49.3898693,27.958066 C45.5161782,41.5139906 50.1107906,38.3197672 57.4560458,44.0453955 C59.1625767,45.3756367 63.8839488,48.777453 70.127165,53.3625321 C63.9980513,59.2416709 58.9704753,64.0315459 55.854113,66.9453198 Z M67.4952439,79.8919946 C83.5082212,96.9282402 105.237121,117.617674 112.611591,120.312493 C123.044132,124.12481 128.000001,117.170903 128,105.522947 C127.999999,98.3705516 104.170675,78.980486 84.0760493,63.7529565 C76.6683337,70.9090328 70.7000957,76.7055226 67.4952439,79.8919946 Z\"></path>\n        <path d=\"M58.2852966,138.232794 L58.2852966,88.3943645 C56.318874,88.3923153 54.7254089,86.7952906 54.7254089,84.8344788 C54.7254089,82.8684071 56.3175932,81.2745911 58.2890859,81.2745911 L79.6408336,81.2745911 C81.608998,81.2745911 83.2045105,82.8724076 83.2045105,84.8344788 C83.2045105,86.7992907 81.614366,88.3923238 79.6446228,88.3943645 L79.6446228,88.3943646 L79.6446228,138.232794 C79.6446228,144.131009 74.8631748,148.912457 68.9649597,148.912457 C63.0667446,148.912457 58.2852966,144.131009 58.2852966,138.232794 Z M65.405072,-14.8423767 L72.5248474,-14.8423767 L76.0847351,-0.690681892 L72.5248474,6.51694947 L72.5248474,81.2745911 L65.405072,81.2745911 L65.405072,6.51694947 L61.8451843,-0.690681892 L65.405072,-14.8423767 Z\" transform=\"translate(68.964960, 67.035040) rotate(45.000000) translate(-68.964960, -67.035040) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/tip": {
            "title": "$:/core/images/tip",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-tip tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M64,128.241818 C99.346224,128.241818 128,99.5880417 128,64.2418177 C128,28.8955937 99.346224,0.241817675 64,0.241817675 C28.653776,0.241817675 0,28.8955937 0,64.2418177 C0,99.5880417 28.653776,128.241818 64,128.241818 Z M75.9358659,91.4531941 C75.3115438,95.581915 70.2059206,98.8016748 64,98.8016748 C57.7940794,98.8016748 52.6884562,95.581915 52.0641341,91.4531941 C54.3299053,94.0502127 58.8248941,95.8192805 64,95.8192805 C69.1751059,95.8192805 73.6700947,94.0502127 75.9358659,91.4531941 L75.9358659,91.4531941 Z M75.9358659,95.9453413 C75.3115438,100.074062 70.2059206,103.293822 64,103.293822 C57.7940794,103.293822 52.6884562,100.074062 52.0641341,95.9453413 C54.3299053,98.5423599 58.8248941,100.311428 64,100.311428 C69.1751059,100.311428 73.6700947,98.5423599 75.9358659,95.9453413 L75.9358659,95.9453413 Z M75.9358659,100.40119 C75.3115438,104.529911 70.2059206,107.74967 64,107.74967 C57.7940794,107.74967 52.6884562,104.529911 52.0641341,100.40119 C54.3299053,102.998208 58.8248941,104.767276 64,104.767276 C69.1751059,104.767276 73.6700947,102.998208 75.9358659,100.40119 L75.9358659,100.40119 Z M75.9358659,104.893337 C75.3115438,109.022058 70.2059206,112.241818 64,112.241818 C57.7940794,112.241818 52.6884562,109.022058 52.0641341,104.893337 C54.3299053,107.490356 58.8248941,109.259423 64,109.259423 C69.1751059,109.259423 73.6700947,107.490356 75.9358659,104.893337 L75.9358659,104.893337 Z M64.3010456,24.2418177 C75.9193117,24.2418188 88.0000013,32.0619847 88,48.4419659 C87.9999987,64.8219472 75.9193018,71.7540963 75.9193021,83.5755932 C75.9193022,89.4486648 70.0521957,92.8368862 63.9999994,92.8368862 C57.947803,92.8368862 51.9731007,89.8295115 51.9731007,83.5755932 C51.9731007,71.1469799 39.9999998,65.4700602 40,48.4419647 C40.0000002,31.4138691 52.6827796,24.2418166 64.3010456,24.2418177 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/twitter": {
            "title": "$:/core/images/twitter",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-twitter tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M41.6263422,115.803477 C27.0279663,115.803477 13.4398394,111.540813 1.99987456,104.234833 C4.02221627,104.472643 6.08004574,104.594302 8.16644978,104.594302 C20.277456,104.594302 31.4238403,100.47763 40.270894,93.5715185 C28.9590538,93.3635501 19.4123842,85.9189246 16.1230832,75.6885328 C17.7011365,75.9892376 19.320669,76.1503787 20.9862896,76.1503787 C23.344152,76.1503787 25.6278127,75.8359011 27.7971751,75.247346 C15.9709927,72.8821073 7.06079851,62.4745062 7.06079851,49.9982394 C7.06079851,49.8898938 7.06079851,49.7820074 7.06264203,49.67458 C10.5482779,51.6032228 14.5339687,52.7615103 18.7717609,52.8951059 C11.8355159,48.277565 7.2714207,40.3958845 7.2714207,31.4624258 C7.2714207,26.7434257 8.54621495,22.3200804 10.7713439,18.5169676 C23.5211299,34.0957738 42.568842,44.3472839 64.0532269,45.4210985 C63.6126256,43.5365285 63.3835682,41.5711584 63.3835682,39.5529928 C63.3835682,25.3326379 74.95811,13.8034766 89.2347917,13.8034766 C96.6697089,13.8034766 103.387958,16.930807 108.103682,21.9353619 C113.991886,20.780288 119.52429,18.6372496 124.518847,15.6866694 C122.588682,21.6993889 118.490075,26.7457211 113.152623,29.9327334 C118.381769,29.3102055 123.363882,27.926045 127.999875,25.8780385 C124.534056,31.0418981 120.151087,35.5772616 115.100763,39.2077561 C115.150538,40.3118708 115.175426,41.4224128 115.175426,42.538923 C115.175426,76.5663154 89.1744164,115.803477 41.6263422,115.803477\"></path>\n    </g>\n</svg>\n"
        },
        "$:/core/images/underline": {
            "title": "$:/core/images/underline",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-underline tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M7,117.421488 L121.247934,117.421488 L121.247934,128 L7,128 L7,117.421488 Z M104.871212,98.8958333 L104.871212,0 L88.6117424,0 L88.6117424,55.8560606 C88.6117424,60.3194668 88.0060035,64.432115 86.7945076,68.1941288 C85.5830116,71.9561425 83.7657949,75.239885 81.342803,78.0454545 C78.9198111,80.8510241 75.8911167,83.0189317 72.2566288,84.5492424 C68.6221409,86.0795531 64.3182067,86.844697 59.344697,86.844697 C53.0959284,86.844697 48.1862552,85.0593613 44.6155303,81.4886364 C41.0448054,77.9179114 39.2594697,73.0720003 39.2594697,66.9507576 L39.2594697,0 L23,0 L23,65.0378788 C23,70.3939662 23.5419769,75.2717583 24.625947,79.6714015 C25.709917,84.0710447 27.5908957,87.864883 30.2689394,91.0530303 C32.9469831,94.2411776 36.4538925,96.6960141 40.7897727,98.4176136 C45.125653,100.139213 50.545422,101 57.0492424,101 C64.3182182,101 70.630655,99.5653553 75.9867424,96.6960227 C81.3428298,93.8266902 85.742407,89.33147 89.1856061,83.2102273 L89.5681818,83.2102273 L89.5681818,98.8958333 L104.871212,98.8958333 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/unfold-all-button": {
            "title": "$:/core/images/unfold-all-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-unfold-all tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n        <rect x=\"0\" y=\"64\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n        <path d=\"M85.598226,8.34884273 C84.1490432,6.89863875 82.1463102,6 79.9340286,6 L47.9482224,6 C43.5292967,6 39.9411255,9.581722 39.9411255,14 C39.9411255,18.4092877 43.5260249,22 47.9482224,22 L71.9411255,22 L71.9411255,45.9929031 C71.9411255,50.4118288 75.5228475,54 79.9411255,54 C84.3504132,54 87.9411255,50.4151006 87.9411255,45.9929031 L87.9411255,14.0070969 C87.9411255,11.7964515 87.0447363,9.79371715 85.5956548,8.34412458 Z\" transform=\"translate(63.941125, 30.000000) scale(1, -1) rotate(-45.000000) translate(-63.941125, -30.000000) \"></path>\n        <path d=\"M85.6571005,72.2899682 C84.2079177,70.8397642 82.2051847,69.9411255 79.9929031,69.9411255 L48.0070969,69.9411255 C43.5881712,69.9411255 40,73.5228475 40,77.9411255 C40,82.3504132 43.5848994,85.9411255 48.0070969,85.9411255 L72,85.9411255 L72,109.934029 C72,114.352954 75.581722,117.941125 80,117.941125 C84.4092877,117.941125 88,114.356226 88,109.934029 L88,77.9482224 C88,75.737577 87.1036108,73.7348426 85.6545293,72.2852501 Z\" transform=\"translate(64.000000, 93.941125) scale(1, -1) rotate(-45.000000) translate(-64.000000, -93.941125) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/unfold-button": {
            "title": "$:/core/images/unfold-button",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-unfold tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <rect x=\"0\" y=\"0\" width=\"128\" height=\"16\" rx=\"8\"></rect>\n        <path d=\"M85.598226,11.3488427 C84.1490432,9.89863875 82.1463102,9 79.9340286,9 L47.9482224,9 C43.5292967,9 39.9411255,12.581722 39.9411255,17 C39.9411255,21.4092877 43.5260249,25 47.9482224,25 L71.9411255,25 L71.9411255,48.9929031 C71.9411255,53.4118288 75.5228475,57 79.9411255,57 C84.3504132,57 87.9411255,53.4151006 87.9411255,48.9929031 L87.9411255,17.0070969 C87.9411255,14.7964515 87.0447363,12.7937171 85.5956548,11.3441246 Z\" transform=\"translate(63.941125, 33.000000) scale(1, -1) rotate(-45.000000) translate(-63.941125, -33.000000) \"></path>\n        <path d=\"M85.6571005,53.4077172 C84.2079177,51.9575133 82.2051847,51.0588745 79.9929031,51.0588745 L48.0070969,51.0588745 C43.5881712,51.0588745 40,54.6405965 40,59.0588745 C40,63.4681622 43.5848994,67.0588745 48.0070969,67.0588745 L72,67.0588745 L72,91.0517776 C72,95.4707033 75.581722,99.0588745 80,99.0588745 C84.4092877,99.0588745 88,95.4739751 88,91.0517776 L88,59.0659714 C88,56.855326 87.1036108,54.8525917 85.6545293,53.4029991 Z\" transform=\"translate(64.000000, 75.058875) scale(1, -1) rotate(-45.000000) translate(-64.000000, -75.058875) \"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/unlocked-padlock": {
            "title": "$:/core/images/unlocked-padlock",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-unlocked-padlock tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M48.6266053,64 L105,64 L105,96.0097716 C105,113.673909 90.6736461,128 73.001193,128 L55.998807,128 C38.3179793,128 24,113.677487 24,96.0097716 L24,64 L30.136303,64 C19.6806213,51.3490406 2.77158986,28.2115132 25.8366966,8.85759246 C50.4723026,-11.8141335 71.6711028,13.2108337 81.613302,25.0594855 C91.5555012,36.9081373 78.9368488,47.4964439 69.1559674,34.9513593 C59.375086,22.4062748 47.9893192,10.8049522 35.9485154,20.9083862 C23.9077117,31.0118202 34.192312,43.2685325 44.7624679,55.8655518 C47.229397,58.805523 48.403443,61.5979188 48.6266053,64 Z M67.7315279,92.3641717 C70.8232551,91.0923621 73,88.0503841 73,84.5 C73,79.8055796 69.1944204,76 64.5,76 C59.8055796,76 56,79.8055796 56,84.5 C56,87.947435 58.0523387,90.9155206 61.0018621,92.2491029 L55.9067479,115.020857 L72.8008958,115.020857 L67.7315279,92.3641717 L67.7315279,92.3641717 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/up-arrow": {
            "created": "20150316000544368",
            "modified": "20150316000831867",
            "tags": "$:/tags/Image",
            "title": "$:/core/images/up-arrow",
            "text": "<svg class=\"tc-image-up-arrow tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n<path transform=\"rotate(-135, 63.8945, 64.1752)\" d=\"m109.07576,109.35336c-1.43248,1.43361 -3.41136,2.32182 -5.59717,2.32182l-79.16816,0c-4.36519,0 -7.91592,-3.5444 -7.91592,-7.91666c0,-4.36337 3.54408,-7.91667 7.91592,-7.91667l71.25075,0l0,-71.25074c0,-4.3652 3.54442,-7.91592 7.91667,-7.91592c4.36336,0 7.91667,3.54408 7.91667,7.91592l0,79.16815c0,2.1825 -0.88602,4.16136 -2.3185,5.59467l-0.00027,-0.00056l0.00001,-0.00001z\" />\n</svg>\n \n"
        },
        "$:/core/images/video": {
            "title": "$:/core/images/video",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-video tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M64,12 C29.0909091,12 8.72727273,14.9166667 5.81818182,17.8333333 C2.90909091,20.75 1.93784382e-15,41.1666667 0,64.5 C1.93784382e-15,87.8333333 2.90909091,108.25 5.81818182,111.166667 C8.72727273,114.083333 29.0909091,117 64,117 C98.9090909,117 119.272727,114.083333 122.181818,111.166667 C125.090909,108.25 128,87.8333333 128,64.5 C128,41.1666667 125.090909,20.75 122.181818,17.8333333 C119.272727,14.9166667 98.9090909,12 64,12 Z M54.9161194,44.6182253 C51.102648,42.0759111 48.0112186,43.7391738 48.0112186,48.3159447 L48.0112186,79.6840553 C48.0112186,84.2685636 51.109784,85.9193316 54.9161194,83.3817747 L77.0838806,68.6032672 C80.897352,66.0609529 80.890216,61.9342897 77.0838806,59.3967328 L54.9161194,44.6182253 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/core/images/warning": {
            "title": "$:/core/images/warning",
            "tags": "$:/tags/Image",
            "text": "<svg class=\"tc-image-warning tc-image-button\" width=\"22pt\" height=\"22pt\" viewBox=\"0 0 128 128\">\n    <g fill-rule=\"evenodd\">\n        <path d=\"M57.0717968,11 C60.1509982,5.66666667 67.8490018,5.66666667 70.9282032,11 L126.353829,107 C129.433031,112.333333 125.584029,119 119.425626,119 L8.57437416,119 C2.41597129,119 -1.43303051,112.333333 1.64617093,107 L57.0717968,11 Z M64,37 C59.581722,37 56,40.5820489 56,44.9935776 L56,73.0064224 C56,77.4211534 59.5907123,81 64,81 C68.418278,81 72,77.4179511 72,73.0064224 L72,44.9935776 C72,40.5788466 68.4092877,37 64,37 Z M64,104 C68.418278,104 72,100.418278 72,96 C72,91.581722 68.418278,88 64,88 C59.581722,88 56,91.581722 56,96 C56,100.418278 59.581722,104 64,104 Z\"></path>\n    </g>\n</svg>"
        },
        "$:/language/Buttons/AdvancedSearch/Caption": {
            "title": "$:/language/Buttons/AdvancedSearch/Caption",
            "text": "advanced search"
        },
        "$:/language/Buttons/AdvancedSearch/Hint": {
            "title": "$:/language/Buttons/AdvancedSearch/Hint",
            "text": "Advanced search"
        },
        "$:/language/Buttons/Cancel/Caption": {
            "title": "$:/language/Buttons/Cancel/Caption",
            "text": "cancel"
        },
        "$:/language/Buttons/Cancel/Hint": {
            "title": "$:/language/Buttons/Cancel/Hint",
            "text": "Discard changes to this tiddler"
        },
        "$:/language/Buttons/Clone/Caption": {
            "title": "$:/language/Buttons/Clone/Caption",
            "text": "clone"
        },
        "$:/language/Buttons/Clone/Hint": {
            "title": "$:/language/Buttons/Clone/Hint",
            "text": "Clone this tiddler"
        },
        "$:/language/Buttons/Close/Caption": {
            "title": "$:/language/Buttons/Close/Caption",
            "text": "close"
        },
        "$:/language/Buttons/Close/Hint": {
            "title": "$:/language/Buttons/Close/Hint",
            "text": "Close this tiddler"
        },
        "$:/language/Buttons/CloseAll/Caption": {
            "title": "$:/language/Buttons/CloseAll/Caption",
            "text": "close all"
        },
        "$:/language/Buttons/CloseAll/Hint": {
            "title": "$:/language/Buttons/CloseAll/Hint",
            "text": "Close all tiddlers"
        },
        "$:/language/Buttons/CloseOthers/Caption": {
            "title": "$:/language/Buttons/CloseOthers/Caption",
            "text": "close others"
        },
        "$:/language/Buttons/CloseOthers/Hint": {
            "title": "$:/language/Buttons/CloseOthers/Hint",
            "text": "Close other tiddlers"
        },
        "$:/language/Buttons/ControlPanel/Caption": {
            "title": "$:/language/Buttons/ControlPanel/Caption",
            "text": "control panel"
        },
        "$:/language/Buttons/ControlPanel/Hint": {
            "title": "$:/language/Buttons/ControlPanel/Hint",
            "text": "Open control panel"
        },
        "$:/language/Buttons/Delete/Caption": {
            "title": "$:/language/Buttons/Delete/Caption",
            "text": "delete"
        },
        "$:/language/Buttons/Delete/Hint": {
            "title": "$:/language/Buttons/Delete/Hint",
            "text": "Delete this tiddler"
        },
        "$:/language/Buttons/Edit/Caption": {
            "title": "$:/language/Buttons/Edit/Caption",
            "text": "edit"
        },
        "$:/language/Buttons/Edit/Hint": {
            "title": "$:/language/Buttons/Edit/Hint",
            "text": "Edit this tiddler"
        },
        "$:/language/Buttons/Encryption/Caption": {
            "title": "$:/language/Buttons/Encryption/Caption",
            "text": "encryption"
        },
        "$:/language/Buttons/Encryption/Hint": {
            "title": "$:/language/Buttons/Encryption/Hint",
            "text": "Set or clear a password for saving this wiki"
        },
        "$:/language/Buttons/Encryption/ClearPassword/Caption": {
            "title": "$:/language/Buttons/Encryption/ClearPassword/Caption",
            "text": "clear password"
        },
        "$:/language/Buttons/Encryption/ClearPassword/Hint": {
            "title": "$:/language/Buttons/Encryption/ClearPassword/Hint",
            "text": "Clear the password and save this wiki without encryption"
        },
        "$:/language/Buttons/Encryption/SetPassword/Caption": {
            "title": "$:/language/Buttons/Encryption/SetPassword/Caption",
            "text": "set password"
        },
        "$:/language/Buttons/Encryption/SetPassword/Hint": {
            "title": "$:/language/Buttons/Encryption/SetPassword/Hint",
            "text": "Set a password for saving this wiki with encryption"
        },
        "$:/language/Buttons/ExportPage/Caption": {
            "title": "$:/language/Buttons/ExportPage/Caption",
            "text": "export all"
        },
        "$:/language/Buttons/ExportPage/Hint": {
            "title": "$:/language/Buttons/ExportPage/Hint",
            "text": "Export all tiddlers"
        },
        "$:/language/Buttons/ExportTiddler/Caption": {
            "title": "$:/language/Buttons/ExportTiddler/Caption",
            "text": "export tiddler"
        },
        "$:/language/Buttons/ExportTiddler/Hint": {
            "title": "$:/language/Buttons/ExportTiddler/Hint",
            "text": "Export tiddler"
        },
        "$:/language/Buttons/ExportTiddlers/Caption": {
            "title": "$:/language/Buttons/ExportTiddlers/Caption",
            "text": "export tiddlers"
        },
        "$:/language/Buttons/ExportTiddlers/Hint": {
            "title": "$:/language/Buttons/ExportTiddlers/Hint",
            "text": "Export tiddlers"
        },
        "$:/language/Buttons/Fold/Caption": {
            "title": "$:/language/Buttons/Fold/Caption",
            "text": "fold tiddler"
        },
        "$:/language/Buttons/Fold/Hint": {
            "title": "$:/language/Buttons/Fold/Hint",
            "text": "Fold the body of this tiddler"
        },
        "$:/language/Buttons/Fold/FoldBar/Caption": {
            "title": "$:/language/Buttons/Fold/FoldBar/Caption",
            "text": "fold-bar"
        },
        "$:/language/Buttons/Fold/FoldBar/Hint": {
            "title": "$:/language/Buttons/Fold/FoldBar/Hint",
            "text": "Optional bars to fold and unfold tiddlers"
        },
        "$:/language/Buttons/Unfold/Caption": {
            "title": "$:/language/Buttons/Unfold/Caption",
            "text": "unfold tiddler"
        },
        "$:/language/Buttons/Unfold/Hint": {
            "title": "$:/language/Buttons/Unfold/Hint",
            "text": "Unfold the body of this tiddler"
        },
        "$:/language/Buttons/FoldOthers/Caption": {
            "title": "$:/language/Buttons/FoldOthers/Caption",
            "text": "fold other tiddlers"
        },
        "$:/language/Buttons/FoldOthers/Hint": {
            "title": "$:/language/Buttons/FoldOthers/Hint",
            "text": "Fold the bodies of other opened tiddlers"
        },
        "$:/language/Buttons/FoldAll/Caption": {
            "title": "$:/language/Buttons/FoldAll/Caption",
            "text": "fold all tiddlers"
        },
        "$:/language/Buttons/FoldAll/Hint": {
            "title": "$:/language/Buttons/FoldAll/Hint",
            "text": "Fold the bodies of all opened tiddlers"
        },
        "$:/language/Buttons/UnfoldAll/Caption": {
            "title": "$:/language/Buttons/UnfoldAll/Caption",
            "text": "unfold all tiddlers"
        },
        "$:/language/Buttons/UnfoldAll/Hint": {
            "title": "$:/language/Buttons/UnfoldAll/Hint",
            "text": "Unfold the bodies of all opened tiddlers"
        },
        "$:/language/Buttons/FullScreen/Caption": {
            "title": "$:/language/Buttons/FullScreen/Caption",
            "text": "full-screen"
        },
        "$:/language/Buttons/FullScreen/Hint": {
            "title": "$:/language/Buttons/FullScreen/Hint",
            "text": "Enter or leave full-screen mode"
        },
        "$:/language/Buttons/Help/Caption": {
            "title": "$:/language/Buttons/Help/Caption",
            "text": "help"
        },
        "$:/language/Buttons/Help/Hint": {
            "title": "$:/language/Buttons/Help/Hint",
            "text": "Show help panel"
        },
        "$:/language/Buttons/Import/Caption": {
            "title": "$:/language/Buttons/Import/Caption",
            "text": "import"
        },
        "$:/language/Buttons/Import/Hint": {
            "title": "$:/language/Buttons/Import/Hint",
            "text": "Import many types of file including text, image, TiddlyWiki or JSON"
        },
        "$:/language/Buttons/Info/Caption": {
            "title": "$:/language/Buttons/Info/Caption",
            "text": "info"
        },
        "$:/language/Buttons/Info/Hint": {
            "title": "$:/language/Buttons/Info/Hint",
            "text": "Show information for this tiddler"
        },
        "$:/language/Buttons/Home/Caption": {
            "title": "$:/language/Buttons/Home/Caption",
            "text": "home"
        },
        "$:/language/Buttons/Home/Hint": {
            "title": "$:/language/Buttons/Home/Hint",
            "text": "Open the default tiddlers"
        },
        "$:/language/Buttons/Language/Caption": {
            "title": "$:/language/Buttons/Language/Caption",
            "text": "language"
        },
        "$:/language/Buttons/Language/Hint": {
            "title": "$:/language/Buttons/Language/Hint",
            "text": "Choose the user interface language"
        },
        "$:/language/Buttons/More/Caption": {
            "title": "$:/language/Buttons/More/Caption",
            "text": "more"
        },
        "$:/language/Buttons/More/Hint": {
            "title": "$:/language/Buttons/More/Hint",
            "text": "More actions"
        },
        "$:/language/Buttons/NewHere/Caption": {
            "title": "$:/language/Buttons/NewHere/Caption",
            "text": "new here"
        },
        "$:/language/Buttons/NewHere/Hint": {
            "title": "$:/language/Buttons/NewHere/Hint",
            "text": "Create a new tiddler tagged with this one"
        },
        "$:/language/Buttons/NewJournal/Caption": {
            "title": "$:/language/Buttons/NewJournal/Caption",
            "text": "new journal"
        },
        "$:/language/Buttons/NewJournal/Hint": {
            "title": "$:/language/Buttons/NewJournal/Hint",
            "text": "Create a new journal tiddler"
        },
        "$:/language/Buttons/NewJournalHere/Caption": {
            "title": "$:/language/Buttons/NewJournalHere/Caption",
            "text": "new journal here"
        },
        "$:/language/Buttons/NewJournalHere/Hint": {
            "title": "$:/language/Buttons/NewJournalHere/Hint",
            "text": "Create a new journal tiddler tagged with this one"
        },
        "$:/language/Buttons/NewImage/Caption": {
            "title": "$:/language/Buttons/NewImage/Caption",
            "text": "new image"
        },
        "$:/language/Buttons/NewImage/Hint": {
            "title": "$:/language/Buttons/NewImage/Hint",
            "text": "Create a new image tiddler"
        },
        "$:/language/Buttons/NewMarkdown/Caption": {
            "title": "$:/language/Buttons/NewMarkdown/Caption",
            "text": "new Markdown tiddler"
        },
        "$:/language/Buttons/NewMarkdown/Hint": {
            "title": "$:/language/Buttons/NewMarkdown/Hint",
            "text": "Create a new Markdown tiddler"
        },
        "$:/language/Buttons/NewTiddler/Caption": {
            "title": "$:/language/Buttons/NewTiddler/Caption",
            "text": "new tiddler"
        },
        "$:/language/Buttons/NewTiddler/Hint": {
            "title": "$:/language/Buttons/NewTiddler/Hint",
            "text": "Create a new tiddler"
        },
        "$:/language/Buttons/OpenWindow/Caption": {
            "title": "$:/language/Buttons/OpenWindow/Caption",
            "text": "open in new window"
        },
        "$:/language/Buttons/OpenWindow/Hint": {
            "title": "$:/language/Buttons/OpenWindow/Hint",
            "text": "Open tiddler in new window"
        },
        "$:/language/Buttons/Palette/Caption": {
            "title": "$:/language/Buttons/Palette/Caption",
            "text": "palette"
        },
        "$:/language/Buttons/Palette/Hint": {
            "title": "$:/language/Buttons/Palette/Hint",
            "text": "Choose the colour palette"
        },
        "$:/language/Buttons/Permalink/Caption": {
            "title": "$:/language/Buttons/Permalink/Caption",
            "text": "permalink"
        },
        "$:/language/Buttons/Permalink/Hint": {
            "title": "$:/language/Buttons/Permalink/Hint",
            "text": "Set browser address bar to a direct link to this tiddler"
        },
        "$:/language/Buttons/Permaview/Caption": {
            "title": "$:/language/Buttons/Permaview/Caption",
            "text": "permaview"
        },
        "$:/language/Buttons/Permaview/Hint": {
            "title": "$:/language/Buttons/Permaview/Hint",
            "text": "Set browser address bar to a direct link to all the tiddlers in this story"
        },
        "$:/language/Buttons/Refresh/Caption": {
            "title": "$:/language/Buttons/Refresh/Caption",
            "text": "refresh"
        },
        "$:/language/Buttons/Refresh/Hint": {
            "title": "$:/language/Buttons/Refresh/Hint",
            "text": "Perform a full refresh of the wiki"
        },
        "$:/language/Buttons/Save/Caption": {
            "title": "$:/language/Buttons/Save/Caption",
            "text": "ok"
        },
        "$:/language/Buttons/Save/Hint": {
            "title": "$:/language/Buttons/Save/Hint",
            "text": "Confirm changes to this tiddler"
        },
        "$:/language/Buttons/SaveWiki/Caption": {
            "title": "$:/language/Buttons/SaveWiki/Caption",
            "text": "save changes"
        },
        "$:/language/Buttons/SaveWiki/Hint": {
            "title": "$:/language/Buttons/SaveWiki/Hint",
            "text": "Save changes"
        },
        "$:/language/Buttons/StoryView/Caption": {
            "title": "$:/language/Buttons/StoryView/Caption",
            "text": "storyview"
        },
        "$:/language/Buttons/StoryView/Hint": {
            "title": "$:/language/Buttons/StoryView/Hint",
            "text": "Choose the story visualisation"
        },
        "$:/language/Buttons/HideSideBar/Caption": {
            "title": "$:/language/Buttons/HideSideBar/Caption",
            "text": "hide sidebar"
        },
        "$:/language/Buttons/HideSideBar/Hint": {
            "title": "$:/language/Buttons/HideSideBar/Hint",
            "text": "Hide sidebar"
        },
        "$:/language/Buttons/ShowSideBar/Caption": {
            "title": "$:/language/Buttons/ShowSideBar/Caption",
            "text": "show sidebar"
        },
        "$:/language/Buttons/ShowSideBar/Hint": {
            "title": "$:/language/Buttons/ShowSideBar/Hint",
            "text": "Show sidebar"
        },
        "$:/language/Buttons/TagManager/Caption": {
            "title": "$:/language/Buttons/TagManager/Caption",
            "text": "tag manager"
        },
        "$:/language/Buttons/TagManager/Hint": {
            "title": "$:/language/Buttons/TagManager/Hint",
            "text": "Open tag manager"
        },
        "$:/language/Buttons/Theme/Caption": {
            "title": "$:/language/Buttons/Theme/Caption",
            "text": "theme"
        },
        "$:/language/Buttons/Theme/Hint": {
            "title": "$:/language/Buttons/Theme/Hint",
            "text": "Choose the display theme"
        },
        "$:/language/Buttons/Bold/Caption": {
            "title": "$:/language/Buttons/Bold/Caption",
            "text": "bold"
        },
        "$:/language/Buttons/Bold/Hint": {
            "title": "$:/language/Buttons/Bold/Hint",
            "text": "Apply bold formatting to selection"
        },
        "$:/language/Buttons/Clear/Caption": {
            "title": "$:/language/Buttons/Clear/Caption",
            "text": "clear"
        },
        "$:/language/Buttons/Clear/Hint": {
            "title": "$:/language/Buttons/Clear/Hint",
            "text": "Clear image to solid colour"
        },
        "$:/language/Buttons/EditorHeight/Caption": {
            "title": "$:/language/Buttons/EditorHeight/Caption",
            "text": "editor height"
        },
        "$:/language/Buttons/EditorHeight/Caption/Auto": {
            "title": "$:/language/Buttons/EditorHeight/Caption/Auto",
            "text": "Automatically adjust height to fit content"
        },
        "$:/language/Buttons/EditorHeight/Caption/Fixed": {
            "title": "$:/language/Buttons/EditorHeight/Caption/Fixed",
            "text": "Fixed height:"
        },
        "$:/language/Buttons/EditorHeight/Hint": {
            "title": "$:/language/Buttons/EditorHeight/Hint",
            "text": "Choose the height of the text editor"
        },
        "$:/language/Buttons/Excise/Caption": {
            "title": "$:/language/Buttons/Excise/Caption",
            "text": "excise"
        },
        "$:/language/Buttons/Excise/Caption/Excise": {
            "title": "$:/language/Buttons/Excise/Caption/Excise",
            "text": "Perform excision"
        },
        "$:/language/Buttons/Excise/Caption/MacroName": {
            "title": "$:/language/Buttons/Excise/Caption/MacroName",
            "text": "Macro name:"
        },
        "$:/language/Buttons/Excise/Caption/NewTitle": {
            "title": "$:/language/Buttons/Excise/Caption/NewTitle",
            "text": "Title of new tiddler:"
        },
        "$:/language/Buttons/Excise/Caption/Replace": {
            "title": "$:/language/Buttons/Excise/Caption/Replace",
            "text": "Replace excised text with:"
        },
        "$:/language/Buttons/Excise/Caption/Replace/Macro": {
            "title": "$:/language/Buttons/Excise/Caption/Replace/Macro",
            "text": "macro"
        },
        "$:/language/Buttons/Excise/Caption/Replace/Link": {
            "title": "$:/language/Buttons/Excise/Caption/Replace/Link",
            "text": "link"
        },
        "$:/language/Buttons/Excise/Caption/Replace/Transclusion": {
            "title": "$:/language/Buttons/Excise/Caption/Replace/Transclusion",
            "text": "transclusion"
        },
        "$:/language/Buttons/Excise/Caption/Tag": {
            "title": "$:/language/Buttons/Excise/Caption/Tag",
            "text": "Tag new tiddler with the title of this tiddler"
        },
        "$:/language/Buttons/Excise/Caption/TiddlerExists": {
            "title": "$:/language/Buttons/Excise/Caption/TiddlerExists",
            "text": "Warning: tiddler already exists"
        },
        "$:/language/Buttons/Excise/Hint": {
            "title": "$:/language/Buttons/Excise/Hint",
            "text": "Excise the selected text into a new tiddler"
        },
        "$:/language/Buttons/Heading1/Caption": {
            "title": "$:/language/Buttons/Heading1/Caption",
            "text": "heading 1"
        },
        "$:/language/Buttons/Heading1/Hint": {
            "title": "$:/language/Buttons/Heading1/Hint",
            "text": "Apply heading level 1 formatting to lines containing selection"
        },
        "$:/language/Buttons/Heading2/Caption": {
            "title": "$:/language/Buttons/Heading2/Caption",
            "text": "heading 2"
        },
        "$:/language/Buttons/Heading2/Hint": {
            "title": "$:/language/Buttons/Heading2/Hint",
            "text": "Apply heading level 2 formatting to lines containing selection"
        },
        "$:/language/Buttons/Heading3/Caption": {
            "title": "$:/language/Buttons/Heading3/Caption",
            "text": "heading 3"
        },
        "$:/language/Buttons/Heading3/Hint": {
            "title": "$:/language/Buttons/Heading3/Hint",
            "text": "Apply heading level 3 formatting to lines containing selection"
        },
        "$:/language/Buttons/Heading4/Caption": {
            "title": "$:/language/Buttons/Heading4/Caption",
            "text": "heading 4"
        },
        "$:/language/Buttons/Heading4/Hint": {
            "title": "$:/language/Buttons/Heading4/Hint",
            "text": "Apply heading level 4 formatting to lines containing selection"
        },
        "$:/language/Buttons/Heading5/Caption": {
            "title": "$:/language/Buttons/Heading5/Caption",
            "text": "heading 5"
        },
        "$:/language/Buttons/Heading5/Hint": {
            "title": "$:/language/Buttons/Heading5/Hint",
            "text": "Apply heading level 5 formatting to lines containing selection"
        },
        "$:/language/Buttons/Heading6/Caption": {
            "title": "$:/language/Buttons/Heading6/Caption",
            "text": "heading 6"
        },
        "$:/language/Buttons/Heading6/Hint": {
            "title": "$:/language/Buttons/Heading6/Hint",
            "text": "Apply heading level 6 formatting to lines containing selection"
        },
        "$:/language/Buttons/Italic/Caption": {
            "title": "$:/language/Buttons/Italic/Caption",
            "text": "italic"
        },
        "$:/language/Buttons/Italic/Hint": {
            "title": "$:/language/Buttons/Italic/Hint",
            "text": "Apply italic formatting to selection"
        },
        "$:/language/Buttons/LineWidth/Caption": {
            "title": "$:/language/Buttons/LineWidth/Caption",
            "text": "line width"
        },
        "$:/language/Buttons/LineWidth/Hint": {
            "title": "$:/language/Buttons/LineWidth/Hint",
            "text": "Set line width for painting"
        },
        "$:/language/Buttons/Link/Caption": {
            "title": "$:/language/Buttons/Link/Caption",
            "text": "link"
        },
        "$:/language/Buttons/Link/Hint": {
            "title": "$:/language/Buttons/Link/Hint",
            "text": "Create wikitext link"
        },
        "$:/language/Buttons/ListBullet/Caption": {
            "title": "$:/language/Buttons/ListBullet/Caption",
            "text": "bulleted list"
        },
        "$:/language/Buttons/ListBullet/Hint": {
            "title": "$:/language/Buttons/ListBullet/Hint",
            "text": "Apply bulleted list formatting to lines containing selection"
        },
        "$:/language/Buttons/ListNumber/Caption": {
            "title": "$:/language/Buttons/ListNumber/Caption",
            "text": "numbered list"
        },
        "$:/language/Buttons/ListNumber/Hint": {
            "title": "$:/language/Buttons/ListNumber/Hint",
            "text": "Apply numbered list formatting to lines containing selection"
        },
        "$:/language/Buttons/MonoBlock/Caption": {
            "title": "$:/language/Buttons/MonoBlock/Caption",
            "text": "monospaced block"
        },
        "$:/language/Buttons/MonoBlock/Hint": {
            "title": "$:/language/Buttons/MonoBlock/Hint",
            "text": "Apply monospaced block formatting to lines containing selection"
        },
        "$:/language/Buttons/MonoLine/Caption": {
            "title": "$:/language/Buttons/MonoLine/Caption",
            "text": "monospaced"
        },
        "$:/language/Buttons/MonoLine/Hint": {
            "title": "$:/language/Buttons/MonoLine/Hint",
            "text": "Apply monospaced character formatting to selection"
        },
        "$:/language/Buttons/Opacity/Caption": {
            "title": "$:/language/Buttons/Opacity/Caption",
            "text": "opacity"
        },
        "$:/language/Buttons/Opacity/Hint": {
            "title": "$:/language/Buttons/Opacity/Hint",
            "text": "Set painting opacity"
        },
        "$:/language/Buttons/Paint/Caption": {
            "title": "$:/language/Buttons/Paint/Caption",
            "text": "paint colour"
        },
        "$:/language/Buttons/Paint/Hint": {
            "title": "$:/language/Buttons/Paint/Hint",
            "text": "Set painting colour"
        },
        "$:/language/Buttons/Picture/Caption": {
            "title": "$:/language/Buttons/Picture/Caption",
            "text": "picture"
        },
        "$:/language/Buttons/Picture/Hint": {
            "title": "$:/language/Buttons/Picture/Hint",
            "text": "Insert picture"
        },
        "$:/language/Buttons/Preview/Caption": {
            "title": "$:/language/Buttons/Preview/Caption",
            "text": "preview"
        },
        "$:/language/Buttons/Preview/Hint": {
            "title": "$:/language/Buttons/Preview/Hint",
            "text": "Show preview pane"
        },
        "$:/language/Buttons/PreviewType/Caption": {
            "title": "$:/language/Buttons/PreviewType/Caption",
            "text": "preview type"
        },
        "$:/language/Buttons/PreviewType/Hint": {
            "title": "$:/language/Buttons/PreviewType/Hint",
            "text": "Choose preview type"
        },
        "$:/language/Buttons/Quote/Caption": {
            "title": "$:/language/Buttons/Quote/Caption",
            "text": "quote"
        },
        "$:/language/Buttons/Quote/Hint": {
            "title": "$:/language/Buttons/Quote/Hint",
            "text": "Apply quoted text formatting to lines containing selection"
        },
        "$:/language/Buttons/Size/Caption": {
            "title": "$:/language/Buttons/Size/Caption",
            "text": "image size"
        },
        "$:/language/Buttons/Size/Caption/Height": {
            "title": "$:/language/Buttons/Size/Caption/Height",
            "text": "Height:"
        },
        "$:/language/Buttons/Size/Caption/Resize": {
            "title": "$:/language/Buttons/Size/Caption/Resize",
            "text": "Resize image"
        },
        "$:/language/Buttons/Size/Caption/Width": {
            "title": "$:/language/Buttons/Size/Caption/Width",
            "text": "Width:"
        },
        "$:/language/Buttons/Size/Hint": {
            "title": "$:/language/Buttons/Size/Hint",
            "text": "Set image size"
        },
        "$:/language/Buttons/Stamp/Caption": {
            "title": "$:/language/Buttons/Stamp/Caption",
            "text": "stamp"
        },
        "$:/language/Buttons/Stamp/Caption/New": {
            "title": "$:/language/Buttons/Stamp/Caption/New",
            "text": "Add your own"
        },
        "$:/language/Buttons/Stamp/Hint": {
            "title": "$:/language/Buttons/Stamp/Hint",
            "text": "Insert a preconfigured snippet of text"
        },
        "$:/language/Buttons/Stamp/New/Title": {
            "title": "$:/language/Buttons/Stamp/New/Title",
            "text": "Name as shown in menu"
        },
        "$:/language/Buttons/Stamp/New/Text": {
            "title": "$:/language/Buttons/Stamp/New/Text",
            "text": "Text of snippet. (Remember to add a descriptive title in the caption field)."
        },
        "$:/language/Buttons/Strikethrough/Caption": {
            "title": "$:/language/Buttons/Strikethrough/Caption",
            "text": "strikethrough"
        },
        "$:/language/Buttons/Strikethrough/Hint": {
            "title": "$:/language/Buttons/Strikethrough/Hint",
            "text": "Apply strikethrough formatting to selection"
        },
        "$:/language/Buttons/Subscript/Caption": {
            "title": "$:/language/Buttons/Subscript/Caption",
            "text": "subscript"
        },
        "$:/language/Buttons/Subscript/Hint": {
            "title": "$:/language/Buttons/Subscript/Hint",
            "text": "Apply subscript formatting to selection"
        },
        "$:/language/Buttons/Superscript/Caption": {
            "title": "$:/language/Buttons/Superscript/Caption",
            "text": "superscript"
        },
        "$:/language/Buttons/Superscript/Hint": {
            "title": "$:/language/Buttons/Superscript/Hint",
            "text": "Apply superscript formatting to selection"
        },
        "$:/language/Buttons/Underline/Caption": {
            "title": "$:/language/Buttons/Underline/Caption",
            "text": "underline"
        },
        "$:/language/Buttons/Underline/Hint": {
            "title": "$:/language/Buttons/Underline/Hint",
            "text": "Apply underline formatting to selection"
        },
        "$:/language/ControlPanel/Advanced/Caption": {
            "title": "$:/language/ControlPanel/Advanced/Caption",
            "text": "Advanced"
        },
        "$:/language/ControlPanel/Advanced/Hint": {
            "title": "$:/language/ControlPanel/Advanced/Hint",
            "text": "Internal information about this TiddlyWiki"
        },
        "$:/language/ControlPanel/Appearance/Caption": {
            "title": "$:/language/ControlPanel/Appearance/Caption",
            "text": "Appearance"
        },
        "$:/language/ControlPanel/Appearance/Hint": {
            "title": "$:/language/ControlPanel/Appearance/Hint",
            "text": "Ways to customise the appearance of your TiddlyWiki."
        },
        "$:/language/ControlPanel/Basics/AnimDuration/Prompt": {
            "title": "$:/language/ControlPanel/Basics/AnimDuration/Prompt",
            "text": "Animation duration:"
        },
        "$:/language/ControlPanel/Basics/Caption": {
            "title": "$:/language/ControlPanel/Basics/Caption",
            "text": "Basics"
        },
        "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint": {
            "title": "$:/language/ControlPanel/Basics/DefaultTiddlers/BottomHint",
            "text": "Use &#91;&#91;double square brackets&#93;&#93; for titles with spaces. Or you can choose to <$button set=\"$:/DefaultTiddlers\" setTo=\"[list[$:/StoryList]]\">retain story ordering</$button>"
        },
        "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/DefaultTiddlers/Prompt",
            "text": "Default tiddlers:"
        },
        "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint": {
            "title": "$:/language/ControlPanel/Basics/DefaultTiddlers/TopHint",
            "text": "Choose which tiddlers are displayed at startup:"
        },
        "$:/language/ControlPanel/Basics/Language/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Language/Prompt",
            "text": "Hello! Current language:"
        },
        "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt": {
            "title": "$:/language/ControlPanel/Basics/NewJournal/Title/Prompt",
            "text": "Title of new journal tiddlers"
        },
        "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt": {
            "title": "$:/language/ControlPanel/Basics/NewJournal/Tags/Prompt",
            "text": "Tags for new journal tiddlers"
        },
        "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/OverriddenShadowTiddlers/Prompt",
            "text": "Number of overridden shadow tiddlers:"
        },
        "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/ShadowTiddlers/Prompt",
            "text": "Number of shadow tiddlers:"
        },
        "$:/language/ControlPanel/Basics/Subtitle/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Subtitle/Prompt",
            "text": "Subtitle:"
        },
        "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/SystemTiddlers/Prompt",
            "text": "Number of system tiddlers:"
        },
        "$:/language/ControlPanel/Basics/Tags/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Tags/Prompt",
            "text": "Number of tags:"
        },
        "$:/language/ControlPanel/Basics/Tiddlers/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Tiddlers/Prompt",
            "text": "Number of tiddlers:"
        },
        "$:/language/ControlPanel/Basics/Title/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Title/Prompt",
            "text": "Title of this ~TiddlyWiki:"
        },
        "$:/language/ControlPanel/Basics/Username/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Username/Prompt",
            "text": "Username for signing edits:"
        },
        "$:/language/ControlPanel/Basics/Version/Prompt": {
            "title": "$:/language/ControlPanel/Basics/Version/Prompt",
            "text": "~TiddlyWiki version:"
        },
        "$:/language/ControlPanel/EditorTypes/Caption": {
            "title": "$:/language/ControlPanel/EditorTypes/Caption",
            "text": "Editor Types"
        },
        "$:/language/ControlPanel/EditorTypes/Editor/Caption": {
            "title": "$:/language/ControlPanel/EditorTypes/Editor/Caption",
            "text": "Editor"
        },
        "$:/language/ControlPanel/EditorTypes/Hint": {
            "title": "$:/language/ControlPanel/EditorTypes/Hint",
            "text": "These tiddlers determine which editor is used to edit specific tiddler types."
        },
        "$:/language/ControlPanel/EditorTypes/Type/Caption": {
            "title": "$:/language/ControlPanel/EditorTypes/Type/Caption",
            "text": "Type"
        },
        "$:/language/ControlPanel/Info/Caption": {
            "title": "$:/language/ControlPanel/Info/Caption",
            "text": "Info"
        },
        "$:/language/ControlPanel/Info/Hint": {
            "title": "$:/language/ControlPanel/Info/Hint",
            "text": "Information about this TiddlyWiki"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt",
            "text": "Type shortcut here"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Add/Caption",
            "text": "add shortcut"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Caption": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Caption",
            "text": "Keyboard Shortcuts"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Hint": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Hint",
            "text": "Manage keyboard shortcut assignments"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/NoShortcuts/Caption",
            "text": "No keyboard shortcuts assigned"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Remove/Hint",
            "text": "remove keyboard shortcut"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/All": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/All",
            "text": "All platforms"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Mac",
            "text": "Macintosh platform only"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonMac",
            "text": "Non-Macintosh platforms only"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Linux",
            "text": "Linux platform only"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonLinux",
            "text": "Non-Linux platforms only"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/Windows",
            "text": "Windows platform only"
        },
        "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows": {
            "title": "$:/language/ControlPanel/KeyboardShortcuts/Platform/NonWindows",
            "text": "Non-Windows platforms only"
        },
        "$:/language/ControlPanel/LoadedModules/Caption": {
            "title": "$:/language/ControlPanel/LoadedModules/Caption",
            "text": "Loaded Modules"
        },
        "$:/language/ControlPanel/LoadedModules/Hint": {
            "title": "$:/language/ControlPanel/LoadedModules/Hint",
            "text": "These are the currently loaded tiddler modules linked to their source tiddlers. Any italicised modules lack a source tiddler, typically because they were setup during the boot process."
        },
        "$:/language/ControlPanel/Palette/Caption": {
            "title": "$:/language/ControlPanel/Palette/Caption",
            "text": "Palette"
        },
        "$:/language/ControlPanel/Palette/Editor/Clone/Caption": {
            "title": "$:/language/ControlPanel/Palette/Editor/Clone/Caption",
            "text": "clone"
        },
        "$:/language/ControlPanel/Palette/Editor/Clone/Prompt": {
            "title": "$:/language/ControlPanel/Palette/Editor/Clone/Prompt",
            "text": "It is recommended that you clone this shadow palette before editing it"
        },
        "$:/language/ControlPanel/Palette/Editor/Prompt/Modified": {
            "title": "$:/language/ControlPanel/Palette/Editor/Prompt/Modified",
            "text": "This shadow palette has been modified"
        },
        "$:/language/ControlPanel/Palette/Editor/Prompt": {
            "title": "$:/language/ControlPanel/Palette/Editor/Prompt",
            "text": "Editing"
        },
        "$:/language/ControlPanel/Palette/Editor/Reset/Caption": {
            "title": "$:/language/ControlPanel/Palette/Editor/Reset/Caption",
            "text": "reset"
        },
        "$:/language/ControlPanel/Palette/HideEditor/Caption": {
            "title": "$:/language/ControlPanel/Palette/HideEditor/Caption",
            "text": "hide editor"
        },
        "$:/language/ControlPanel/Palette/Prompt": {
            "title": "$:/language/ControlPanel/Palette/Prompt",
            "text": "Current palette:"
        },
        "$:/language/ControlPanel/Palette/ShowEditor/Caption": {
            "title": "$:/language/ControlPanel/Palette/ShowEditor/Caption",
            "text": "show editor"
        },
        "$:/language/ControlPanel/Parsing/Caption": {
            "title": "$:/language/ControlPanel/Parsing/Caption",
            "text": "Parsing"
        },
        "$:/language/ControlPanel/Parsing/Hint": {
            "title": "$:/language/ControlPanel/Parsing/Hint",
            "text": "Here you can globally disable individual wiki parser rules. Take care as disabling some parser rules can prevent ~TiddlyWiki functioning correctly (you can restore normal operation with [[safe mode|http://tiddlywiki.com/#SafeMode]] )"
        },
        "$:/language/ControlPanel/Parsing/Block/Caption": {
            "title": "$:/language/ControlPanel/Parsing/Block/Caption",
            "text": "Block Parse Rules"
        },
        "$:/language/ControlPanel/Parsing/Inline/Caption": {
            "title": "$:/language/ControlPanel/Parsing/Inline/Caption",
            "text": "Inline Parse Rules"
        },
        "$:/language/ControlPanel/Parsing/Pragma/Caption": {
            "title": "$:/language/ControlPanel/Parsing/Pragma/Caption",
            "text": "Pragma Parse Rules"
        },
        "$:/language/ControlPanel/Plugins/Add/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Add/Caption",
            "text": "Get more plugins"
        },
        "$:/language/ControlPanel/Plugins/Add/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Add/Hint",
            "text": "Install plugins from the official library"
        },
        "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint": {
            "title": "$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint",
            "text": "This plugin is already installed at version <$text text=<<installedVersion>>/>"
        },
        "$:/language/ControlPanel/Plugins/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Caption",
            "text": "Plugins"
        },
        "$:/language/ControlPanel/Plugins/Disable/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Disable/Caption",
            "text": "disable"
        },
        "$:/language/ControlPanel/Plugins/Disable/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Disable/Hint",
            "text": "Disable this plugin when reloading page"
        },
        "$:/language/ControlPanel/Plugins/Disabled/Status": {
            "title": "$:/language/ControlPanel/Plugins/Disabled/Status",
            "text": "(disabled)"
        },
        "$:/language/ControlPanel/Plugins/Empty/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Empty/Hint",
            "text": "None"
        },
        "$:/language/ControlPanel/Plugins/Enable/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Enable/Caption",
            "text": "enable"
        },
        "$:/language/ControlPanel/Plugins/Enable/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Enable/Hint",
            "text": "Enable this plugin when reloading page"
        },
        "$:/language/ControlPanel/Plugins/Install/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Install/Caption",
            "text": "install"
        },
        "$:/language/ControlPanel/Plugins/Installed/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Installed/Hint",
            "text": "Currently installed plugins:"
        },
        "$:/language/ControlPanel/Plugins/Languages/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Languages/Caption",
            "text": "Languages"
        },
        "$:/language/ControlPanel/Plugins/Languages/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Languages/Hint",
            "text": "Language pack plugins"
        },
        "$:/language/ControlPanel/Plugins/NoInfoFound/Hint": {
            "title": "$:/language/ControlPanel/Plugins/NoInfoFound/Hint",
            "text": "No ''\"<$text text=<<currentTab>>/>\"'' found"
        },
        "$:/language/ControlPanel/Plugins/NoInformation/Hint": {
            "title": "$:/language/ControlPanel/Plugins/NoInformation/Hint",
            "text": "No information provided"
        },
        "$:/language/ControlPanel/Plugins/NotInstalled/Hint": {
            "title": "$:/language/ControlPanel/Plugins/NotInstalled/Hint",
            "text": "This plugin is not currently installed"
        },
        "$:/language/ControlPanel/Plugins/OpenPluginLibrary": {
            "title": "$:/language/ControlPanel/Plugins/OpenPluginLibrary",
            "text": "open plugin library"
        },
        "$:/language/ControlPanel/Plugins/Plugins/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Plugins/Caption",
            "text": "Plugins"
        },
        "$:/language/ControlPanel/Plugins/Plugins/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Plugins/Hint",
            "text": "Plugins"
        },
        "$:/language/ControlPanel/Plugins/Reinstall/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Reinstall/Caption",
            "text": "reinstall"
        },
        "$:/language/ControlPanel/Plugins/Themes/Caption": {
            "title": "$:/language/ControlPanel/Plugins/Themes/Caption",
            "text": "Themes"
        },
        "$:/language/ControlPanel/Plugins/Themes/Hint": {
            "title": "$:/language/ControlPanel/Plugins/Themes/Hint",
            "text": "Theme plugins"
        },
        "$:/language/ControlPanel/Saving/Caption": {
            "title": "$:/language/ControlPanel/Saving/Caption",
            "text": "Saving"
        },
        "$:/language/ControlPanel/Saving/Heading": {
            "title": "$:/language/ControlPanel/Saving/Heading",
            "text": "Saving"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Advanced/Heading",
            "text": "Advanced Settings"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/BackupDir",
            "text": "Backup Directory"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Backups": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Backups",
            "text": "Backups"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Description": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Description",
            "text": "These settings are only used when saving to http://tiddlyspot.com or a compatible remote server"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Filename": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Filename",
            "text": "Upload Filename"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Heading": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Heading",
            "text": "~TiddlySpot"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Hint": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Hint",
            "text": "//The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi` and can be changed to use a custom server address, e.g. `http://example.com/store.php`.//"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/Password": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/Password",
            "text": "Password"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/ServerURL",
            "text": "Server URL"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/UploadDir",
            "text": "Upload Directory"
        },
        "$:/language/ControlPanel/Saving/TiddlySpot/UserName": {
            "title": "$:/language/ControlPanel/Saving/TiddlySpot/UserName",
            "text": "Wiki Name"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Caption": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Caption",
            "text": "Autosave"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Disabled/Description",
            "text": "Do not save changes automatically"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Enabled/Description",
            "text": "Save changes automatically"
        },
        "$:/language/ControlPanel/Settings/AutoSave/Hint": {
            "title": "$:/language/ControlPanel/Settings/AutoSave/Hint",
            "text": "Automatically save changes during editing"
        },
        "$:/language/ControlPanel/Settings/CamelCase/Caption": {
            "title": "$:/language/ControlPanel/Settings/CamelCase/Caption",
            "text": "Camel Case Wiki Links"
        },
        "$:/language/ControlPanel/Settings/CamelCase/Hint": {
            "title": "$:/language/ControlPanel/Settings/CamelCase/Hint",
            "text": "You can globally disable automatic linking of ~CamelCase phrases. Requires reload to take effect"
        },
        "$:/language/ControlPanel/Settings/CamelCase/Description": {
            "title": "$:/language/ControlPanel/Settings/CamelCase/Description",
            "text": "Enable automatic ~CamelCase linking"
        },
        "$:/language/ControlPanel/Settings/Caption": {
            "title": "$:/language/ControlPanel/Settings/Caption",
            "text": "Settings"
        },
        "$:/language/ControlPanel/Settings/EditorToolbar/Caption": {
            "title": "$:/language/ControlPanel/Settings/EditorToolbar/Caption",
            "text": "Editor Toolbar"
        },
        "$:/language/ControlPanel/Settings/EditorToolbar/Hint": {
            "title": "$:/language/ControlPanel/Settings/EditorToolbar/Hint",
            "text": "Enable or disable the editor toolbar:"
        },
        "$:/language/ControlPanel/Settings/EditorToolbar/Description": {
            "title": "$:/language/ControlPanel/Settings/EditorToolbar/Description",
            "text": "Show editor toolbar"
        },
        "$:/language/ControlPanel/Settings/Hint": {
            "title": "$:/language/ControlPanel/Settings/Hint",
            "text": "These settings let you customise the behaviour of TiddlyWiki."
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Caption",
            "text": "Navigation Address Bar"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Hint",
            "text": "Behaviour of the browser address bar when navigating to a tiddler:"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/No/Description",
            "text": "Do not update the address bar"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permalink/Description",
            "text": "Include the target tiddler"
        },
        "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationAddressBar/Permaview/Description",
            "text": "Include the target tiddler and the current story sequence"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/Caption": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/Caption",
            "text": "Navigation History"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/Hint": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/Hint",
            "text": "Update browser history when navigating to a tiddler:"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/No/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/No/Description",
            "text": "Do not update history"
        },
        "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description": {
            "title": "$:/language/ControlPanel/Settings/NavigationHistory/Yes/Description",
            "text": "Update history"
        },
        "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption": {
            "title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption",
            "text": "Performance Instrumentation"
        },
        "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint": {
            "title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Hint",
            "text": "Displays performance statistics in the browser developer console. Requires reload to take effect"
        },
        "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description": {
            "title": "$:/language/ControlPanel/Settings/PerformanceInstrumentation/Description",
            "text": "Enable performance instrumentation"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption",
            "text": "Toolbar Button Style"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Hint",
            "text": "Choose the style for toolbar buttons:"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless",
            "text": "Borderless"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed",
            "text": "Boxed"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded",
            "text": "Rounded"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Caption": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Caption",
            "text": "Toolbar Buttons"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Hint": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Hint",
            "text": "Default toolbar button appearance:"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Icons/Description",
            "text": "Include icon"
        },
        "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description": {
            "title": "$:/language/ControlPanel/Settings/ToolbarButtons/Text/Description",
            "text": "Include text"
        },
        "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption": {
            "title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption",
            "text": "Default Sidebar Tab"
        },
        "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint": {
            "title": "$:/language/ControlPanel/Settings/DefaultSidebarTab/Hint",
            "text": "Specify which sidebar tab is displayed by default"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/Caption",
            "text": "Tiddler Opening Behaviour"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/InsideRiver/Hint",
            "text": "Navigation from //within// the story river"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OutsideRiver/Hint",
            "text": "Navigation from //outside// the story river"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAbove",
            "text": "Open above the current tiddler"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenBelow",
            "text": "Open below the current tiddler"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtTop",
            "text": "Open at the top of the story river"
        },
        "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom": {
            "title": "$:/language/ControlPanel/Settings/LinkToBehaviour/OpenAtBottom",
            "text": "Open at the bottom of the story river"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/Caption": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/Caption",
            "text": "Tiddler Titles"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/Hint": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/Hint",
            "text": "Optionally display tiddler titles as links"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/No/Description": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/No/Description",
            "text": "Do not display tiddler titles as links"
        },
        "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description": {
            "title": "$:/language/ControlPanel/Settings/TitleLinks/Yes/Description",
            "text": "Display tiddler titles as links"
        },
        "$:/language/ControlPanel/Settings/MissingLinks/Caption": {
            "title": "$:/language/ControlPanel/Settings/MissingLinks/Caption",
            "text": "Wiki Links"
        },
        "$:/language/ControlPanel/Settings/MissingLinks/Hint": {
            "title": "$:/language/ControlPanel/Settings/MissingLinks/Hint",
            "text": "Choose whether to link to tiddlers that do not exist yet"
        },
        "$:/language/ControlPanel/Settings/MissingLinks/Description": {
            "title": "$:/language/ControlPanel/Settings/MissingLinks/Description",
            "text": "Enable links to missing tiddlers"
        },
        "$:/language/ControlPanel/StoryView/Caption": {
            "title": "$:/language/ControlPanel/StoryView/Caption",
            "text": "Story View"
        },
        "$:/language/ControlPanel/StoryView/Prompt": {
            "title": "$:/language/ControlPanel/StoryView/Prompt",
            "text": "Current view:"
        },
        "$:/language/ControlPanel/Theme/Caption": {
            "title": "$:/language/ControlPanel/Theme/Caption",
            "text": "Theme"
        },
        "$:/language/ControlPanel/Theme/Prompt": {
            "title": "$:/language/ControlPanel/Theme/Prompt",
            "text": "Current theme:"
        },
        "$:/language/ControlPanel/TiddlerFields/Caption": {
            "title": "$:/language/ControlPanel/TiddlerFields/Caption",
            "text": "Tiddler Fields"
        },
        "$:/language/ControlPanel/TiddlerFields/Hint": {
            "title": "$:/language/ControlPanel/TiddlerFields/Hint",
            "text": "This is the full set of TiddlerFields in use in this wiki (including system tiddlers but excluding shadow tiddlers)."
        },
        "$:/language/ControlPanel/Toolbars/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/Caption",
            "text": "Toolbars"
        },
        "$:/language/ControlPanel/Toolbars/EditToolbar/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/EditToolbar/Caption",
            "text": "Edit Toolbar"
        },
        "$:/language/ControlPanel/Toolbars/EditToolbar/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/EditToolbar/Hint",
            "text": "Choose which buttons are displayed for tiddlers in edit mode"
        },
        "$:/language/ControlPanel/Toolbars/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/Hint",
            "text": "Select which toolbar buttons are displayed"
        },
        "$:/language/ControlPanel/Toolbars/PageControls/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/PageControls/Caption",
            "text": "Page Toolbar"
        },
        "$:/language/ControlPanel/Toolbars/PageControls/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/PageControls/Hint",
            "text": "Choose which buttons are displayed on the main page toolbar"
        },
        "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Caption",
            "text": "Editor Toolbar"
        },
        "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/EditorToolbar/Hint",
            "text": "Choose which buttons are displayed in the editor toolbar. Note that some buttons will only appear when editing tiddlers of a certain type"
        },
        "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption": {
            "title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Caption",
            "text": "View Toolbar"
        },
        "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint": {
            "title": "$:/language/ControlPanel/Toolbars/ViewToolbar/Hint",
            "text": "Choose which buttons are displayed for tiddlers in view mode"
        },
        "$:/language/ControlPanel/Tools/Download/Full/Caption": {
            "title": "$:/language/ControlPanel/Tools/Download/Full/Caption",
            "text": "Download full wiki"
        },
        "$:/language/Date/DaySuffix/1": {
            "title": "$:/language/Date/DaySuffix/1",
            "text": "st"
        },
        "$:/language/Date/DaySuffix/2": {
            "title": "$:/language/Date/DaySuffix/2",
            "text": "nd"
        },
        "$:/language/Date/DaySuffix/3": {
            "title": "$:/language/Date/DaySuffix/3",
            "text": "rd"
        },
        "$:/language/Date/DaySuffix/4": {
            "title": "$:/language/Date/DaySuffix/4",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/5": {
            "title": "$:/language/Date/DaySuffix/5",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/6": {
            "title": "$:/language/Date/DaySuffix/6",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/7": {
            "title": "$:/language/Date/DaySuffix/7",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/8": {
            "title": "$:/language/Date/DaySuffix/8",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/9": {
            "title": "$:/language/Date/DaySuffix/9",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/10": {
            "title": "$:/language/Date/DaySuffix/10",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/11": {
            "title": "$:/language/Date/DaySuffix/11",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/12": {
            "title": "$:/language/Date/DaySuffix/12",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/13": {
            "title": "$:/language/Date/DaySuffix/13",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/14": {
            "title": "$:/language/Date/DaySuffix/14",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/15": {
            "title": "$:/language/Date/DaySuffix/15",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/16": {
            "title": "$:/language/Date/DaySuffix/16",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/17": {
            "title": "$:/language/Date/DaySuffix/17",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/18": {
            "title": "$:/language/Date/DaySuffix/18",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/19": {
            "title": "$:/language/Date/DaySuffix/19",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/20": {
            "title": "$:/language/Date/DaySuffix/20",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/21": {
            "title": "$:/language/Date/DaySuffix/21",
            "text": "st"
        },
        "$:/language/Date/DaySuffix/22": {
            "title": "$:/language/Date/DaySuffix/22",
            "text": "nd"
        },
        "$:/language/Date/DaySuffix/23": {
            "title": "$:/language/Date/DaySuffix/23",
            "text": "rd"
        },
        "$:/language/Date/DaySuffix/24": {
            "title": "$:/language/Date/DaySuffix/24",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/25": {
            "title": "$:/language/Date/DaySuffix/25",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/26": {
            "title": "$:/language/Date/DaySuffix/26",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/27": {
            "title": "$:/language/Date/DaySuffix/27",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/28": {
            "title": "$:/language/Date/DaySuffix/28",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/29": {
            "title": "$:/language/Date/DaySuffix/29",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/30": {
            "title": "$:/language/Date/DaySuffix/30",
            "text": "th"
        },
        "$:/language/Date/DaySuffix/31": {
            "title": "$:/language/Date/DaySuffix/31",
            "text": "st"
        },
        "$:/language/Date/Long/Day/0": {
            "title": "$:/language/Date/Long/Day/0",
            "text": "Sunday"
        },
        "$:/language/Date/Long/Day/1": {
            "title": "$:/language/Date/Long/Day/1",
            "text": "Monday"
        },
        "$:/language/Date/Long/Day/2": {
            "title": "$:/language/Date/Long/Day/2",
            "text": "Tuesday"
        },
        "$:/language/Date/Long/Day/3": {
            "title": "$:/language/Date/Long/Day/3",
            "text": "Wednesday"
        },
        "$:/language/Date/Long/Day/4": {
            "title": "$:/language/Date/Long/Day/4",
            "text": "Thursday"
        },
        "$:/language/Date/Long/Day/5": {
            "title": "$:/language/Date/Long/Day/5",
            "text": "Friday"
        },
        "$:/language/Date/Long/Day/6": {
            "title": "$:/language/Date/Long/Day/6",
            "text": "Saturday"
        },
        "$:/language/Date/Long/Month/1": {
            "title": "$:/language/Date/Long/Month/1",
            "text": "January"
        },
        "$:/language/Date/Long/Month/2": {
            "title": "$:/language/Date/Long/Month/2",
            "text": "February"
        },
        "$:/language/Date/Long/Month/3": {
            "title": "$:/language/Date/Long/Month/3",
            "text": "March"
        },
        "$:/language/Date/Long/Month/4": {
            "title": "$:/language/Date/Long/Month/4",
            "text": "April"
        },
        "$:/language/Date/Long/Month/5": {
            "title": "$:/language/Date/Long/Month/5",
            "text": "May"
        },
        "$:/language/Date/Long/Month/6": {
            "title": "$:/language/Date/Long/Month/6",
            "text": "June"
        },
        "$:/language/Date/Long/Month/7": {
            "title": "$:/language/Date/Long/Month/7",
            "text": "July"
        },
        "$:/language/Date/Long/Month/8": {
            "title": "$:/language/Date/Long/Month/8",
            "text": "August"
        },
        "$:/language/Date/Long/Month/9": {
            "title": "$:/language/Date/Long/Month/9",
            "text": "September"
        },
        "$:/language/Date/Long/Month/10": {
            "title": "$:/language/Date/Long/Month/10",
            "text": "October"
        },
        "$:/language/Date/Long/Month/11": {
            "title": "$:/language/Date/Long/Month/11",
            "text": "November"
        },
        "$:/language/Date/Long/Month/12": {
            "title": "$:/language/Date/Long/Month/12",
            "text": "December"
        },
        "$:/language/Date/Period/am": {
            "title": "$:/language/Date/Period/am",
            "text": "am"
        },
        "$:/language/Date/Period/pm": {
            "title": "$:/language/Date/Period/pm",
            "text": "pm"
        },
        "$:/language/Date/Short/Day/0": {
            "title": "$:/language/Date/Short/Day/0",
            "text": "Sun"
        },
        "$:/language/Date/Short/Day/1": {
            "title": "$:/language/Date/Short/Day/1",
            "text": "Mon"
        },
        "$:/language/Date/Short/Day/2": {
            "title": "$:/language/Date/Short/Day/2",
            "text": "Tue"
        },
        "$:/language/Date/Short/Day/3": {
            "title": "$:/language/Date/Short/Day/3",
            "text": "Wed"
        },
        "$:/language/Date/Short/Day/4": {
            "title": "$:/language/Date/Short/Day/4",
            "text": "Thu"
        },
        "$:/language/Date/Short/Day/5": {
            "title": "$:/language/Date/Short/Day/5",
            "text": "Fri"
        },
        "$:/language/Date/Short/Day/6": {
            "title": "$:/language/Date/Short/Day/6",
            "text": "Sat"
        },
        "$:/language/Date/Short/Month/1": {
            "title": "$:/language/Date/Short/Month/1",
            "text": "Jan"
        },
        "$:/language/Date/Short/Month/2": {
            "title": "$:/language/Date/Short/Month/2",
            "text": "Feb"
        },
        "$:/language/Date/Short/Month/3": {
            "title": "$:/language/Date/Short/Month/3",
            "text": "Mar"
        },
        "$:/language/Date/Short/Month/4": {
            "title": "$:/language/Date/Short/Month/4",
            "text": "Apr"
        },
        "$:/language/Date/Short/Month/5": {
            "title": "$:/language/Date/Short/Month/5",
            "text": "May"
        },
        "$:/language/Date/Short/Month/6": {
            "title": "$:/language/Date/Short/Month/6",
            "text": "Jun"
        },
        "$:/language/Date/Short/Month/7": {
            "title": "$:/language/Date/Short/Month/7",
            "text": "Jul"
        },
        "$:/language/Date/Short/Month/8": {
            "title": "$:/language/Date/Short/Month/8",
            "text": "Aug"
        },
        "$:/language/Date/Short/Month/9": {
            "title": "$:/language/Date/Short/Month/9",
            "text": "Sep"
        },
        "$:/language/Date/Short/Month/10": {
            "title": "$:/language/Date/Short/Month/10",
            "text": "Oct"
        },
        "$:/language/Date/Short/Month/11": {
            "title": "$:/language/Date/Short/Month/11",
            "text": "Nov"
        },
        "$:/language/Date/Short/Month/12": {
            "title": "$:/language/Date/Short/Month/12",
            "text": "Dec"
        },
        "$:/language/RelativeDate/Future/Days": {
            "title": "$:/language/RelativeDate/Future/Days",
            "text": "<<period>> days from now"
        },
        "$:/language/RelativeDate/Future/Hours": {
            "title": "$:/language/RelativeDate/Future/Hours",
            "text": "<<period>> hours from now"
        },
        "$:/language/RelativeDate/Future/Minutes": {
            "title": "$:/language/RelativeDate/Future/Minutes",
            "text": "<<period>> minutes from now"
        },
        "$:/language/RelativeDate/Future/Months": {
            "title": "$:/language/RelativeDate/Future/Months",
            "text": "<<period>> months from now"
        },
        "$:/language/RelativeDate/Future/Second": {
            "title": "$:/language/RelativeDate/Future/Second",
            "text": "1 second from now"
        },
        "$:/language/RelativeDate/Future/Seconds": {
            "title": "$:/language/RelativeDate/Future/Seconds",
            "text": "<<period>> seconds from now"
        },
        "$:/language/RelativeDate/Future/Years": {
            "title": "$:/language/RelativeDate/Future/Years",
            "text": "<<period>> years from now"
        },
        "$:/language/RelativeDate/Past/Days": {
            "title": "$:/language/RelativeDate/Past/Days",
            "text": "<<period>> days ago"
        },
        "$:/language/RelativeDate/Past/Hours": {
            "title": "$:/language/RelativeDate/Past/Hours",
            "text": "<<period>> hours ago"
        },
        "$:/language/RelativeDate/Past/Minutes": {
            "title": "$:/language/RelativeDate/Past/Minutes",
            "text": "<<period>> minutes ago"
        },
        "$:/language/RelativeDate/Past/Months": {
            "title": "$:/language/RelativeDate/Past/Months",
            "text": "<<period>> months ago"
        },
        "$:/language/RelativeDate/Past/Second": {
            "title": "$:/language/RelativeDate/Past/Second",
            "text": "1 second ago"
        },
        "$:/language/RelativeDate/Past/Seconds": {
            "title": "$:/language/RelativeDate/Past/Seconds",
            "text": "<<period>> seconds ago"
        },
        "$:/language/RelativeDate/Past/Years": {
            "title": "$:/language/RelativeDate/Past/Years",
            "text": "<<period>> years ago"
        },
        "$:/language/Docs/ModuleTypes/animation": {
            "title": "$:/language/Docs/ModuleTypes/animation",
            "text": "Animations that may be used with the RevealWidget."
        },
        "$:/language/Docs/ModuleTypes/command": {
            "title": "$:/language/Docs/ModuleTypes/command",
            "text": "Commands that can be executed under Node.js."
        },
        "$:/language/Docs/ModuleTypes/config": {
            "title": "$:/language/Docs/ModuleTypes/config",
            "text": "Data to be inserted into `$tw.config`."
        },
        "$:/language/Docs/ModuleTypes/filteroperator": {
            "title": "$:/language/Docs/ModuleTypes/filteroperator",
            "text": "Individual filter operator methods."
        },
        "$:/language/Docs/ModuleTypes/global": {
            "title": "$:/language/Docs/ModuleTypes/global",
            "text": "Global data to be inserted into `$tw`."
        },
        "$:/language/Docs/ModuleTypes/isfilteroperator": {
            "title": "$:/language/Docs/ModuleTypes/isfilteroperator",
            "text": "Operands for the ''is'' filter operator."
        },
        "$:/language/Docs/ModuleTypes/macro": {
            "title": "$:/language/Docs/ModuleTypes/macro",
            "text": "JavaScript macro definitions."
        },
        "$:/language/Docs/ModuleTypes/parser": {
            "title": "$:/language/Docs/ModuleTypes/parser",
            "text": "Parsers for different content types."
        },
        "$:/language/Docs/ModuleTypes/saver": {
            "title": "$:/language/Docs/ModuleTypes/saver",
            "text": "Savers handle different methods for saving files from the browser."
        },
        "$:/language/Docs/ModuleTypes/startup": {
            "title": "$:/language/Docs/ModuleTypes/startup",
            "text": "Startup functions."
        },
        "$:/language/Docs/ModuleTypes/storyview": {
            "title": "$:/language/Docs/ModuleTypes/storyview",
            "text": "Story views customise the animation and behaviour of list widgets."
        },
        "$:/language/Docs/ModuleTypes/tiddlerdeserializer": {
            "title": "$:/language/Docs/ModuleTypes/tiddlerdeserializer",
            "text": "Converts different content types into tiddlers."
        },
        "$:/language/Docs/ModuleTypes/tiddlerfield": {
            "title": "$:/language/Docs/ModuleTypes/tiddlerfield",
            "text": "Defines the behaviour of an individual tiddler field."
        },
        "$:/language/Docs/ModuleTypes/tiddlermethod": {
            "title": "$:/language/Docs/ModuleTypes/tiddlermethod",
            "text": "Adds methods to the `$tw.Tiddler` prototype."
        },
        "$:/language/Docs/ModuleTypes/upgrader": {
            "title": "$:/language/Docs/ModuleTypes/upgrader",
            "text": "Applies upgrade processing to tiddlers during an upgrade/import."
        },
        "$:/language/Docs/ModuleTypes/utils": {
            "title": "$:/language/Docs/ModuleTypes/utils",
            "text": "Adds methods to `$tw.utils`."
        },
        "$:/language/Docs/ModuleTypes/utils-node": {
            "title": "$:/language/Docs/ModuleTypes/utils-node",
            "text": "Adds Node.js-specific methods to `$tw.utils`."
        },
        "$:/language/Docs/ModuleTypes/widget": {
            "title": "$:/language/Docs/ModuleTypes/widget",
            "text": "Widgets encapsulate DOM rendering and refreshing."
        },
        "$:/language/Docs/ModuleTypes/wikimethod": {
            "title": "$:/language/Docs/ModuleTypes/wikimethod",
            "text": "Adds methods to `$tw.Wiki`."
        },
        "$:/language/Docs/ModuleTypes/wikirule": {
            "title": "$:/language/Docs/ModuleTypes/wikirule",
            "text": "Individual parser rules for the main WikiText parser."
        },
        "$:/language/Docs/PaletteColours/alert-background": {
            "title": "$:/language/Docs/PaletteColours/alert-background",
            "text": "Alert background"
        },
        "$:/language/Docs/PaletteColours/alert-border": {
            "title": "$:/language/Docs/PaletteColours/alert-border",
            "text": "Alert border"
        },
        "$:/language/Docs/PaletteColours/alert-highlight": {
            "title": "$:/language/Docs/PaletteColours/alert-highlight",
            "text": "Alert highlight"
        },
        "$:/language/Docs/PaletteColours/alert-muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/alert-muted-foreground",
            "text": "Alert muted foreground"
        },
        "$:/language/Docs/PaletteColours/background": {
            "title": "$:/language/Docs/PaletteColours/background",
            "text": "General background"
        },
        "$:/language/Docs/PaletteColours/blockquote-bar": {
            "title": "$:/language/Docs/PaletteColours/blockquote-bar",
            "text": "Blockquote bar"
        },
        "$:/language/Docs/PaletteColours/button-background": {
            "title": "$:/language/Docs/PaletteColours/button-background",
            "text": "Default button background"
        },
        "$:/language/Docs/PaletteColours/button-border": {
            "title": "$:/language/Docs/PaletteColours/button-border",
            "text": "Default button border"
        },
        "$:/language/Docs/PaletteColours/button-foreground": {
            "title": "$:/language/Docs/PaletteColours/button-foreground",
            "text": "Default button foreground"
        },
        "$:/language/Docs/PaletteColours/dirty-indicator": {
            "title": "$:/language/Docs/PaletteColours/dirty-indicator",
            "text": "Unsaved changes indicator"
        },
        "$:/language/Docs/PaletteColours/code-background": {
            "title": "$:/language/Docs/PaletteColours/code-background",
            "text": "Code background"
        },
        "$:/language/Docs/PaletteColours/code-border": {
            "title": "$:/language/Docs/PaletteColours/code-border",
            "text": "Code border"
        },
        "$:/language/Docs/PaletteColours/code-foreground": {
            "title": "$:/language/Docs/PaletteColours/code-foreground",
            "text": "Code foreground"
        },
        "$:/language/Docs/PaletteColours/download-background": {
            "title": "$:/language/Docs/PaletteColours/download-background",
            "text": "Download button background"
        },
        "$:/language/Docs/PaletteColours/download-foreground": {
            "title": "$:/language/Docs/PaletteColours/download-foreground",
            "text": "Download button foreground"
        },
        "$:/language/Docs/PaletteColours/dragger-background": {
            "title": "$:/language/Docs/PaletteColours/dragger-background",
            "text": "Dragger background"
        },
        "$:/language/Docs/PaletteColours/dragger-foreground": {
            "title": "$:/language/Docs/PaletteColours/dragger-foreground",
            "text": "Dragger foreground"
        },
        "$:/language/Docs/PaletteColours/dropdown-background": {
            "title": "$:/language/Docs/PaletteColours/dropdown-background",
            "text": "Dropdown background"
        },
        "$:/language/Docs/PaletteColours/dropdown-border": {
            "title": "$:/language/Docs/PaletteColours/dropdown-border",
            "text": "Dropdown border"
        },
        "$:/language/Docs/PaletteColours/dropdown-tab-background-selected": {
            "title": "$:/language/Docs/PaletteColours/dropdown-tab-background-selected",
            "text": "Dropdown tab background for selected tabs"
        },
        "$:/language/Docs/PaletteColours/dropdown-tab-background": {
            "title": "$:/language/Docs/PaletteColours/dropdown-tab-background",
            "text": "Dropdown tab background"
        },
        "$:/language/Docs/PaletteColours/dropzone-background": {
            "title": "$:/language/Docs/PaletteColours/dropzone-background",
            "text": "Dropzone background"
        },
        "$:/language/Docs/PaletteColours/external-link-background-hover": {
            "title": "$:/language/Docs/PaletteColours/external-link-background-hover",
            "text": "External link background hover"
        },
        "$:/language/Docs/PaletteColours/external-link-background-visited": {
            "title": "$:/language/Docs/PaletteColours/external-link-background-visited",
            "text": "External link background visited"
        },
        "$:/language/Docs/PaletteColours/external-link-background": {
            "title": "$:/language/Docs/PaletteColours/external-link-background",
            "text": "External link background"
        },
        "$:/language/Docs/PaletteColours/external-link-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/external-link-foreground-hover",
            "text": "External link foreground hover"
        },
        "$:/language/Docs/PaletteColours/external-link-foreground-visited": {
            "title": "$:/language/Docs/PaletteColours/external-link-foreground-visited",
            "text": "External link foreground visited"
        },
        "$:/language/Docs/PaletteColours/external-link-foreground": {
            "title": "$:/language/Docs/PaletteColours/external-link-foreground",
            "text": "External link foreground"
        },
        "$:/language/Docs/PaletteColours/foreground": {
            "title": "$:/language/Docs/PaletteColours/foreground",
            "text": "General foreground"
        },
        "$:/language/Docs/PaletteColours/message-background": {
            "title": "$:/language/Docs/PaletteColours/message-background",
            "text": "Message box background"
        },
        "$:/language/Docs/PaletteColours/message-border": {
            "title": "$:/language/Docs/PaletteColours/message-border",
            "text": "Message box border"
        },
        "$:/language/Docs/PaletteColours/message-foreground": {
            "title": "$:/language/Docs/PaletteColours/message-foreground",
            "text": "Message box foreground"
        },
        "$:/language/Docs/PaletteColours/modal-backdrop": {
            "title": "$:/language/Docs/PaletteColours/modal-backdrop",
            "text": "Modal backdrop"
        },
        "$:/language/Docs/PaletteColours/modal-background": {
            "title": "$:/language/Docs/PaletteColours/modal-background",
            "text": "Modal background"
        },
        "$:/language/Docs/PaletteColours/modal-border": {
            "title": "$:/language/Docs/PaletteColours/modal-border",
            "text": "Modal border"
        },
        "$:/language/Docs/PaletteColours/modal-footer-background": {
            "title": "$:/language/Docs/PaletteColours/modal-footer-background",
            "text": "Modal footer background"
        },
        "$:/language/Docs/PaletteColours/modal-footer-border": {
            "title": "$:/language/Docs/PaletteColours/modal-footer-border",
            "text": "Modal footer border"
        },
        "$:/language/Docs/PaletteColours/modal-header-border": {
            "title": "$:/language/Docs/PaletteColours/modal-header-border",
            "text": "Modal header border"
        },
        "$:/language/Docs/PaletteColours/muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/muted-foreground",
            "text": "General muted foreground"
        },
        "$:/language/Docs/PaletteColours/notification-background": {
            "title": "$:/language/Docs/PaletteColours/notification-background",
            "text": "Notification background"
        },
        "$:/language/Docs/PaletteColours/notification-border": {
            "title": "$:/language/Docs/PaletteColours/notification-border",
            "text": "Notification border"
        },
        "$:/language/Docs/PaletteColours/page-background": {
            "title": "$:/language/Docs/PaletteColours/page-background",
            "text": "Page background"
        },
        "$:/language/Docs/PaletteColours/pre-background": {
            "title": "$:/language/Docs/PaletteColours/pre-background",
            "text": "Preformatted code background"
        },
        "$:/language/Docs/PaletteColours/pre-border": {
            "title": "$:/language/Docs/PaletteColours/pre-border",
            "text": "Preformatted code border"
        },
        "$:/language/Docs/PaletteColours/primary": {
            "title": "$:/language/Docs/PaletteColours/primary",
            "text": "General primary"
        },
        "$:/language/Docs/PaletteColours/sidebar-button-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-button-foreground",
            "text": "Sidebar button foreground"
        },
        "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground-hover",
            "text": "Sidebar controls foreground hover"
        },
        "$:/language/Docs/PaletteColours/sidebar-controls-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-controls-foreground",
            "text": "Sidebar controls foreground"
        },
        "$:/language/Docs/PaletteColours/sidebar-foreground-shadow": {
            "title": "$:/language/Docs/PaletteColours/sidebar-foreground-shadow",
            "text": "Sidebar foreground shadow"
        },
        "$:/language/Docs/PaletteColours/sidebar-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-foreground",
            "text": "Sidebar foreground"
        },
        "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground-hover",
            "text": "Sidebar muted foreground hover"
        },
        "$:/language/Docs/PaletteColours/sidebar-muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-muted-foreground",
            "text": "Sidebar muted foreground"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-background-selected": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-background-selected",
            "text": "Sidebar tab background for selected tabs"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-background": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-background",
            "text": "Sidebar tab background"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-border-selected": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-border-selected",
            "text": "Sidebar tab border for selected tabs"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-border": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-border",
            "text": "Sidebar tab border"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-divider": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-divider",
            "text": "Sidebar tab divider"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground-selected",
            "text": "Sidebar tab foreground for selected tabs"
        },
        "$:/language/Docs/PaletteColours/sidebar-tab-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tab-foreground",
            "text": "Sidebar tab foreground"
        },
        "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground-hover",
            "text": "Sidebar tiddler link foreground hover"
        },
        "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground": {
            "title": "$:/language/Docs/PaletteColours/sidebar-tiddler-link-foreground",
            "text": "Sidebar tiddler link foreground"
        },
        "$:/language/Docs/PaletteColours/site-title-foreground": {
            "title": "$:/language/Docs/PaletteColours/site-title-foreground",
            "text": "Site title foreground"
        },
        "$:/language/Docs/PaletteColours/static-alert-foreground": {
            "title": "$:/language/Docs/PaletteColours/static-alert-foreground",
            "text": "Static alert foreground"
        },
        "$:/language/Docs/PaletteColours/tab-background-selected": {
            "title": "$:/language/Docs/PaletteColours/tab-background-selected",
            "text": "Tab background for selected tabs"
        },
        "$:/language/Docs/PaletteColours/tab-background": {
            "title": "$:/language/Docs/PaletteColours/tab-background",
            "text": "Tab background"
        },
        "$:/language/Docs/PaletteColours/tab-border-selected": {
            "title": "$:/language/Docs/PaletteColours/tab-border-selected",
            "text": "Tab border for selected tabs"
        },
        "$:/language/Docs/PaletteColours/tab-border": {
            "title": "$:/language/Docs/PaletteColours/tab-border",
            "text": "Tab border"
        },
        "$:/language/Docs/PaletteColours/tab-divider": {
            "title": "$:/language/Docs/PaletteColours/tab-divider",
            "text": "Tab divider"
        },
        "$:/language/Docs/PaletteColours/tab-foreground-selected": {
            "title": "$:/language/Docs/PaletteColours/tab-foreground-selected",
            "text": "Tab foreground for selected tabs"
        },
        "$:/language/Docs/PaletteColours/tab-foreground": {
            "title": "$:/language/Docs/PaletteColours/tab-foreground",
            "text": "Tab foreground"
        },
        "$:/language/Docs/PaletteColours/table-border": {
            "title": "$:/language/Docs/PaletteColours/table-border",
            "text": "Table border"
        },
        "$:/language/Docs/PaletteColours/table-footer-background": {
            "title": "$:/language/Docs/PaletteColours/table-footer-background",
            "text": "Table footer background"
        },
        "$:/language/Docs/PaletteColours/table-header-background": {
            "title": "$:/language/Docs/PaletteColours/table-header-background",
            "text": "Table header background"
        },
        "$:/language/Docs/PaletteColours/tag-background": {
            "title": "$:/language/Docs/PaletteColours/tag-background",
            "text": "Tag background"
        },
        "$:/language/Docs/PaletteColours/tag-foreground": {
            "title": "$:/language/Docs/PaletteColours/tag-foreground",
            "text": "Tag foreground"
        },
        "$:/language/Docs/PaletteColours/tiddler-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-background",
            "text": "Tiddler background"
        },
        "$:/language/Docs/PaletteColours/tiddler-border": {
            "title": "$:/language/Docs/PaletteColours/tiddler-border",
            "text": "Tiddler border"
        },
        "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover": {
            "title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-hover",
            "text": "Tiddler controls foreground hover"
        },
        "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected": {
            "title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground-selected",
            "text": "Tiddler controls foreground for selected controls"
        },
        "$:/language/Docs/PaletteColours/tiddler-controls-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-controls-foreground",
            "text": "Tiddler controls foreground"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-background",
            "text": "Tiddler editor background"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-border-image": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-border-image",
            "text": "Tiddler editor border image"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-border": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-border",
            "text": "Tiddler editor border"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-fields-even": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-even",
            "text": "Tiddler editor background for even fields"
        },
        "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd": {
            "title": "$:/language/Docs/PaletteColours/tiddler-editor-fields-odd",
            "text": "Tiddler editor background for odd fields"
        },
        "$:/language/Docs/PaletteColours/tiddler-info-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-info-background",
            "text": "Tiddler info panel background"
        },
        "$:/language/Docs/PaletteColours/tiddler-info-border": {
            "title": "$:/language/Docs/PaletteColours/tiddler-info-border",
            "text": "Tiddler info panel border"
        },
        "$:/language/Docs/PaletteColours/tiddler-info-tab-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-info-tab-background",
            "text": "Tiddler info panel tab background"
        },
        "$:/language/Docs/PaletteColours/tiddler-link-background": {
            "title": "$:/language/Docs/PaletteColours/tiddler-link-background",
            "text": "Tiddler link background"
        },
        "$:/language/Docs/PaletteColours/tiddler-link-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-link-foreground",
            "text": "Tiddler link foreground"
        },
        "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-subtitle-foreground",
            "text": "Tiddler subtitle foreground"
        },
        "$:/language/Docs/PaletteColours/tiddler-title-foreground": {
            "title": "$:/language/Docs/PaletteColours/tiddler-title-foreground",
            "text": "Tiddler title foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-new-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-new-button",
            "text": "Toolbar 'new tiddler' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-options-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-options-button",
            "text": "Toolbar 'options' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-save-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-save-button",
            "text": "Toolbar 'save' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-info-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-info-button",
            "text": "Toolbar 'info' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-edit-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-edit-button",
            "text": "Toolbar 'edit' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-close-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-close-button",
            "text": "Toolbar 'close' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-delete-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-delete-button",
            "text": "Toolbar 'delete' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-cancel-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-cancel-button",
            "text": "Toolbar 'cancel' button foreground"
        },
        "$:/language/Docs/PaletteColours/toolbar-done-button": {
            "title": "$:/language/Docs/PaletteColours/toolbar-done-button",
            "text": "Toolbar 'done' button foreground"
        },
        "$:/language/Docs/PaletteColours/untagged-background": {
            "title": "$:/language/Docs/PaletteColours/untagged-background",
            "text": "Untagged pill background"
        },
        "$:/language/Docs/PaletteColours/very-muted-foreground": {
            "title": "$:/language/Docs/PaletteColours/very-muted-foreground",
            "text": "Very muted foreground"
        },
        "$:/language/EditTemplate/Body/External/Hint": {
            "title": "$:/language/EditTemplate/Body/External/Hint",
            "text": "This is an external tiddler stored outside of the main TiddlyWiki file. You can edit the tags and fields but cannot directly edit the content itself"
        },
        "$:/language/EditTemplate/Body/Placeholder": {
            "title": "$:/language/EditTemplate/Body/Placeholder",
            "text": "Type the text for this tiddler"
        },
        "$:/language/EditTemplate/Body/Preview/Type/Output": {
            "title": "$:/language/EditTemplate/Body/Preview/Type/Output",
            "text": "output"
        },
        "$:/language/EditTemplate/Field/Remove/Caption": {
            "title": "$:/language/EditTemplate/Field/Remove/Caption",
            "text": "remove field"
        },
        "$:/language/EditTemplate/Field/Remove/Hint": {
            "title": "$:/language/EditTemplate/Field/Remove/Hint",
            "text": "Remove field"
        },
        "$:/language/EditTemplate/Fields/Add/Button": {
            "title": "$:/language/EditTemplate/Fields/Add/Button",
            "text": "add"
        },
        "$:/language/EditTemplate/Fields/Add/Name/Placeholder": {
            "title": "$:/language/EditTemplate/Fields/Add/Name/Placeholder",
            "text": "field name"
        },
        "$:/language/EditTemplate/Fields/Add/Prompt": {
            "title": "$:/language/EditTemplate/Fields/Add/Prompt",
            "text": "Add a new field:"
        },
        "$:/language/EditTemplate/Fields/Add/Value/Placeholder": {
            "title": "$:/language/EditTemplate/Fields/Add/Value/Placeholder",
            "text": "field value"
        },
        "$:/language/EditTemplate/Fields/Add/Dropdown/System": {
            "title": "$:/language/EditTemplate/Fields/Add/Dropdown/System",
            "text": "System fields"
        },
        "$:/language/EditTemplate/Fields/Add/Dropdown/User": {
            "title": "$:/language/EditTemplate/Fields/Add/Dropdown/User",
            "text": "User fields"
        },
        "$:/language/EditTemplate/Shadow/Warning": {
            "title": "$:/language/EditTemplate/Shadow/Warning",
            "text": "This is a shadow tiddler. Any changes you make will override the default version from the plugin <<pluginLink>>"
        },
        "$:/language/EditTemplate/Shadow/OverriddenWarning": {
            "title": "$:/language/EditTemplate/Shadow/OverriddenWarning",
            "text": "This is a modified shadow tiddler. You can revert to the default version in the plugin <<pluginLink>> by deleting this tiddler"
        },
        "$:/language/EditTemplate/Tags/Add/Button": {
            "title": "$:/language/EditTemplate/Tags/Add/Button",
            "text": "add"
        },
        "$:/language/EditTemplate/Tags/Add/Placeholder": {
            "title": "$:/language/EditTemplate/Tags/Add/Placeholder",
            "text": "tag name"
        },
        "$:/language/EditTemplate/Tags/Dropdown/Caption": {
            "title": "$:/language/EditTemplate/Tags/Dropdown/Caption",
            "text": "tag list"
        },
        "$:/language/EditTemplate/Tags/Dropdown/Hint": {
            "title": "$:/language/EditTemplate/Tags/Dropdown/Hint",
            "text": "Show tag list"
        },
        "$:/language/EditTemplate/Title/BadCharacterWarning": {
            "title": "$:/language/EditTemplate/Title/BadCharacterWarning",
            "text": "Warning: avoid using any of the characters <<bad-chars>> in tiddler titles"
        },
        "$:/language/EditTemplate/Type/Dropdown/Caption": {
            "title": "$:/language/EditTemplate/Type/Dropdown/Caption",
            "text": "content type list"
        },
        "$:/language/EditTemplate/Type/Dropdown/Hint": {
            "title": "$:/language/EditTemplate/Type/Dropdown/Hint",
            "text": "Show content type list"
        },
        "$:/language/EditTemplate/Type/Delete/Caption": {
            "title": "$:/language/EditTemplate/Type/Delete/Caption",
            "text": "delete content type"
        },
        "$:/language/EditTemplate/Type/Delete/Hint": {
            "title": "$:/language/EditTemplate/Type/Delete/Hint",
            "text": "Delete content type"
        },
        "$:/language/EditTemplate/Type/Placeholder": {
            "title": "$:/language/EditTemplate/Type/Placeholder",
            "text": "content type"
        },
        "$:/language/EditTemplate/Type/Prompt": {
            "title": "$:/language/EditTemplate/Type/Prompt",
            "text": "Type:"
        },
        "$:/language/Exporters/StaticRiver": {
            "title": "$:/language/Exporters/StaticRiver",
            "text": "Static HTML"
        },
        "$:/language/Exporters/JsonFile": {
            "title": "$:/language/Exporters/JsonFile",
            "text": "JSON file"
        },
        "$:/language/Exporters/CsvFile": {
            "title": "$:/language/Exporters/CsvFile",
            "text": "CSV file"
        },
        "$:/language/Exporters/TidFile": {
            "title": "$:/language/Exporters/TidFile",
            "text": "\".tid\" file"
        },
        "$:/language/Docs/Fields/_canonical_uri": {
            "title": "$:/language/Docs/Fields/_canonical_uri",
            "text": "The full URI of an external image tiddler"
        },
        "$:/language/Docs/Fields/bag": {
            "title": "$:/language/Docs/Fields/bag",
            "text": "The name of the bag from which a tiddler came"
        },
        "$:/language/Docs/Fields/caption": {
            "title": "$:/language/Docs/Fields/caption",
            "text": "The text to be displayed on a tab or button"
        },
        "$:/language/Docs/Fields/color": {
            "title": "$:/language/Docs/Fields/color",
            "text": "The CSS color value associated with a tiddler"
        },
        "$:/language/Docs/Fields/component": {
            "title": "$:/language/Docs/Fields/component",
            "text": "The name of the component responsible for an [[alert tiddler|AlertMechanism]]"
        },
        "$:/language/Docs/Fields/current-tiddler": {
            "title": "$:/language/Docs/Fields/current-tiddler",
            "text": "Used to cache the top tiddler in a [[history list|HistoryMechanism]]"
        },
        "$:/language/Docs/Fields/created": {
            "title": "$:/language/Docs/Fields/created",
            "text": "The date a tiddler was created"
        },
        "$:/language/Docs/Fields/creator": {
            "title": "$:/language/Docs/Fields/creator",
            "text": "The name of the person who created a tiddler"
        },
        "$:/language/Docs/Fields/dependents": {
            "title": "$:/language/Docs/Fields/dependents",
            "text": "For a plugin, lists the dependent plugin titles"
        },
        "$:/language/Docs/Fields/description": {
            "title": "$:/language/Docs/Fields/description",
            "text": "The descriptive text for a plugin, or a modal dialogue"
        },
        "$:/language/Docs/Fields/draft.of": {
            "title": "$:/language/Docs/Fields/draft.of",
            "text": "For draft tiddlers, contains the title of the tiddler of which this is a draft"
        },
        "$:/language/Docs/Fields/draft.title": {
            "title": "$:/language/Docs/Fields/draft.title",
            "text": "For draft tiddlers, contains the proposed new title of the tiddler"
        },
        "$:/language/Docs/Fields/footer": {
            "title": "$:/language/Docs/Fields/footer",
            "text": "The footer text for a wizard"
        },
        "$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against": {
            "title": "$:/language/Docs/Fields/hack-to-give-us-something-to-compare-against",
            "text": "A temporary storage field used in [[$:/core/templates/static.content]]"
        },
        "$:/language/Docs/Fields/icon": {
            "title": "$:/language/Docs/Fields/icon",
            "text": "The title of the tiddler containing the icon associated with a tiddler"
        },
        "$:/language/Docs/Fields/library": {
            "title": "$:/language/Docs/Fields/library",
            "text": "If set to \"yes\" indicates that a tiddler should be saved as a JavaScript library"
        },
        "$:/language/Docs/Fields/list": {
            "title": "$:/language/Docs/Fields/list",
            "text": "An ordered list of tiddler titles associated with a tiddler"
        },
        "$:/language/Docs/Fields/list-before": {
            "title": "$:/language/Docs/Fields/list-before",
            "text": "If set, the title of a tiddler before which this tiddler should be added to the ordered list of tiddler titles, or at the start of the list if this field is present but empty"
        },
        "$:/language/Docs/Fields/list-after": {
            "title": "$:/language/Docs/Fields/list-after",
            "text": "If set, the title of the tiddler after which this tiddler should be added to the ordered list of tiddler titles"
        },
        "$:/language/Docs/Fields/modified": {
            "title": "$:/language/Docs/Fields/modified",
            "text": "The date and time at which a tiddler was last modified"
        },
        "$:/language/Docs/Fields/modifier": {
            "title": "$:/language/Docs/Fields/modifier",
            "text": "The tiddler title associated with the person who last modified a tiddler"
        },
        "$:/language/Docs/Fields/name": {
            "title": "$:/language/Docs/Fields/name",
            "text": "The human readable name associated with a plugin tiddler"
        },
        "$:/language/Docs/Fields/plugin-priority": {
            "title": "$:/language/Docs/Fields/plugin-priority",
            "text": "A numerical value indicating the priority of a plugin tiddler"
        },
        "$:/language/Docs/Fields/plugin-type": {
            "title": "$:/language/Docs/Fields/plugin-type",
            "text": "The type of plugin in a plugin tiddler"
        },
        "$:/language/Docs/Fields/revision": {
            "title": "$:/language/Docs/Fields/revision",
            "text": "The revision of the tiddler held at the server"
        },
        "$:/language/Docs/Fields/released": {
            "title": "$:/language/Docs/Fields/released",
            "text": "Date of a TiddlyWiki release"
        },
        "$:/language/Docs/Fields/source": {
            "title": "$:/language/Docs/Fields/source",
            "text": "The source URL associated with a tiddler"
        },
        "$:/language/Docs/Fields/subtitle": {
            "title": "$:/language/Docs/Fields/subtitle",
            "text": "The subtitle text for a wizard"
        },
        "$:/language/Docs/Fields/tags": {
            "title": "$:/language/Docs/Fields/tags",
            "text": "A list of tags associated with a tiddler"
        },
        "$:/language/Docs/Fields/text": {
            "title": "$:/language/Docs/Fields/text",
            "text": "The body text of a tiddler"
        },
        "$:/language/Docs/Fields/title": {
            "title": "$:/language/Docs/Fields/title",
            "text": "The unique name of a tiddler"
        },
        "$:/language/Docs/Fields/type": {
            "title": "$:/language/Docs/Fields/type",
            "text": "The content type of a tiddler"
        },
        "$:/language/Docs/Fields/version": {
            "title": "$:/language/Docs/Fields/version",
            "text": "Version information for a plugin"
        },
        "$:/language/Filters/AllTiddlers": {
            "title": "$:/language/Filters/AllTiddlers",
            "text": "All tiddlers except system tiddlers"
        },
        "$:/language/Filters/RecentSystemTiddlers": {
            "title": "$:/language/Filters/RecentSystemTiddlers",
            "text": "Recently modified tiddlers, including system tiddlers"
        },
        "$:/language/Filters/RecentTiddlers": {
            "title": "$:/language/Filters/RecentTiddlers",
            "text": "Recently modified tiddlers"
        },
        "$:/language/Filters/AllTags": {
            "title": "$:/language/Filters/AllTags",
            "text": "All tags except system tags"
        },
        "$:/language/Filters/Missing": {
            "title": "$:/language/Filters/Missing",
            "text": "Missing tiddlers"
        },
        "$:/language/Filters/Drafts": {
            "title": "$:/language/Filters/Drafts",
            "text": "Draft tiddlers"
        },
        "$:/language/Filters/Orphans": {
            "title": "$:/language/Filters/Orphans",
            "text": "Orphan tiddlers"
        },
        "$:/language/Filters/SystemTiddlers": {
            "title": "$:/language/Filters/SystemTiddlers",
            "text": "System tiddlers"
        },
        "$:/language/Filters/ShadowTiddlers": {
            "title": "$:/language/Filters/ShadowTiddlers",
            "text": "Shadow tiddlers"
        },
        "$:/language/Filters/OverriddenShadowTiddlers": {
            "title": "$:/language/Filters/OverriddenShadowTiddlers",
            "text": "Overridden shadow tiddlers"
        },
        "$:/language/Filters/SystemTags": {
            "title": "$:/language/Filters/SystemTags",
            "text": "System tags"
        },
        "$:/language/Filters/TypedTiddlers": {
            "title": "$:/language/Filters/TypedTiddlers",
            "text": "Non wiki-text tiddlers"
        },
        "GettingStarted": {
            "title": "GettingStarted",
            "text": "\\define lingo-base() $:/language/ControlPanel/Basics/\nWelcome to ~TiddlyWiki and the ~TiddlyWiki community\n\nBefore you start storing important information in ~TiddlyWiki it is important to make sure that you can reliably save changes. See http://tiddlywiki.com/#GettingStarted for details\n\n!! Set up this ~TiddlyWiki\n\n<div class=\"tc-control-panel\">\n\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n</div>\n\nSee the [[control panel|$:/ControlPanel]] for more options.\n"
        },
        "$:/language/Help/build": {
            "title": "$:/language/Help/build",
            "description": "Automatically run configured commands",
            "text": "Build the specified build targets for the current wiki. If no build targets are specified then all available targets will be built.\n\n```\n--build <target> [<target> ...]\n```\n\nBuild targets are defined in the `tiddlywiki.info` file of a wiki folder.\n\n"
        },
        "$:/language/Help/clearpassword": {
            "title": "$:/language/Help/clearpassword",
            "description": "Clear a password for subsequent crypto operations",
            "text": "Clear the password for subsequent crypto operations\n\n```\n--clearpassword\n```\n"
        },
        "$:/language/Help/default": {
            "title": "$:/language/Help/default",
            "text": "\\define commandTitle()\n$:/language/Help/$(command)$\n\\end\n```\nusage: tiddlywiki [<wikifolder>] [--<command> [<args>...]...]\n```\n\nAvailable commands:\n\n<ul>\n<$list filter=\"[commands[]sort[title]]\" variable=\"command\">\n<li><$link to=<<commandTitle>>><$macrocall $name=\"command\" $type=\"text/plain\" $output=\"text/plain\"/></$link>: <$transclude tiddler=<<commandTitle>> field=\"description\"/></li>\n</$list>\n</ul>\n\nTo get detailed help on a command:\n\n```\ntiddlywiki --help <command>\n```\n"
        },
        "$:/language/Help/editions": {
            "title": "$:/language/Help/editions",
            "description": "Lists the available editions of TiddlyWiki",
            "text": "Lists the names and descriptions of the available editions. You can create a new wiki of a specified edition with the `--init` command.\n\n```\n--editions\n```\n"
        },
        "$:/language/Help/help": {
            "title": "$:/language/Help/help",
            "description": "Display help for TiddlyWiki commands",
            "text": "Displays help text for a command:\n\n```\n--help [<command>]\n```\n\nIf the command name is omitted then a list of available commands is displayed.\n"
        },
        "$:/language/Help/init": {
            "title": "$:/language/Help/init",
            "description": "Initialise a new wiki folder",
            "text": "Initialise an empty [[WikiFolder|WikiFolders]] with a copy of the specified edition.\n\n```\n--init <edition> [<edition> ...]\n```\n\nFor example:\n\n```\ntiddlywiki ./MyWikiFolder --init empty\n```\n\nNote:\n\n* The wiki folder directory will be created if necessary\n* The \"edition\" defaults to ''empty''\n* The init command will fail if the wiki folder is not empty\n* The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file\n* When multiple editions are specified, editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)\n* `--editions` returns a list of available editions\n"
        },
        "$:/language/Help/load": {
            "title": "$:/language/Help/load",
            "description": "Load tiddlers from a file",
            "text": "Load tiddlers from 2.x.x TiddlyWiki files (`.html`), `.tiddler`, `.tid`, `.json` or other files\n\n```\n--load <filepath>\n```\n\nTo load tiddlers from an encrypted TiddlyWiki file you should first specify the password with the PasswordCommand. For example:\n\n```\ntiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html\n```\n\nNote that TiddlyWiki will not load an older version of an already loaded plugin.\n"
        },
        "$:/language/Help/makelibrary": {
            "title": "$:/language/Help/makelibrary",
            "description": "Construct library plugin required by upgrade process",
            "text": "Constructs the `$:/UpgradeLibrary` tiddler for the upgrade process.\n\nThe upgrade library is formatted as an ordinary plugin tiddler with the plugin type `library`. It contains a copy of each of the plugins, themes and language packs available within the TiddlyWiki5 repository.\n\nThis command is intended for internal use; it is only relevant to users constructing a custom upgrade procedure.\n\n```\n--makelibrary <title>\n```\n\nThe title argument defaults to `$:/UpgradeLibrary`.\n"
        },
        "$:/language/Help/notfound": {
            "title": "$:/language/Help/notfound",
            "text": "No such help item"
        },
        "$:/language/Help/output": {
            "title": "$:/language/Help/output",
            "description": "Set the base output directory for subsequent commands",
            "text": "Sets the base output directory for subsequent commands. The default output directory is the `output` subdirectory of the edition directory.\n\n```\n--output <pathname>\n```\n\nIf the specified pathname is relative then it is resolved relative to the current working directory. For example `--output .` sets the output directory to the current working directory.\n\n"
        },
        "$:/language/Help/password": {
            "title": "$:/language/Help/password",
            "description": "Set a password for subsequent crypto operations",
            "text": "Set a password for subsequent crypto operations\n\n```\n--password <password>\n```\n\n''Note'': This should not be used for serving TiddlyWiki with password protection. Instead, see the password option under the [[ServerCommand]].\n"
        },
        "$:/language/Help/rendertiddler": {
            "title": "$:/language/Help/rendertiddler",
            "description": "Render an individual tiddler as a specified ContentType",
            "text": "Render an individual tiddler as a specified ContentType, defaulting to `text/html` and save it to the specified filename. Optionally a template can be specified, in which case the template tiddler is rendered with the \"currentTiddler\" variable set to the tiddler that is being rendered (the first parameter value).\n\n```\n--rendertiddler <title> <filename> [<type>] [<template>]\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"
        },
        "$:/language/Help/rendertiddlers": {
            "title": "$:/language/Help/rendertiddlers",
            "description": "Render tiddlers matching a filter to a specified ContentType",
            "text": "Render a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to `text/html`) and extension (defaults to `.html`).\n\n```\n--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>] [\"noclean\"]\n```\n\nFor example:\n\n```\n--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny files in the target directory are deleted unless the ''noclean'' flag is specified. The target directory is recursively created if it is missing.\n"
        },
        "$:/language/Help/savetiddler": {
            "title": "$:/language/Help/savetiddler",
            "description": "Saves a raw tiddler to a file",
            "text": "Saves an individual tiddler in its raw text or binary format to the specified filename.\n\n```\n--savetiddler <title> <filename>\n```\n\nBy default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nAny missing directories in the path to the filename are automatically created.\n"
        },
        "$:/language/Help/savetiddlers": {
            "title": "$:/language/Help/savetiddlers",
            "description": "Saves a group of raw tiddlers to a directory",
            "text": "Saves a group of tiddlers in their raw text or binary format to the specified directory.\n\n```\n--savetiddlers <filter> <pathname> [\"noclean\"]\n```\n\nBy default, the pathname is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.\n\nThe output directory is cleared of existing files before saving the specified files. The deletion can be disabled by specifying the ''noclean'' flag.\n\nAny missing directories in the pathname are automatically created.\n"
        },
        "$:/language/Help/server": {
            "title": "$:/language/Help/server",
            "description": "Provides an HTTP server interface to TiddlyWiki",
            "text": "The server built in to TiddlyWiki5 is very simple. Although compatible with TiddlyWeb it doesn't support many of the features needed for robust Internet-facing usage.\n\nAt the root, it serves a rendering of a specified tiddler. Away from the root, it serves individual tiddlers encoded in JSON, and supports the basic HTTP operations for `GET`, `PUT` and `DELETE`.\n\n```\n--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>\n```\n\nThe parameters are:\n\n* ''port'' - port number to serve from (defaults to \"8080\")\n* ''roottiddler'' - the tiddler to serve at the root (defaults to \"$:/core/save/all\")\n* ''rendertype'' - the content type to which the root tiddler should be rendered (defaults to \"text/plain\")\n* ''servetype'' - the content type with which the root tiddler should be served (defaults to \"text/html\")\n* ''username'' - the default username for signing edits\n* ''password'' - optional password for basic authentication\n* ''host'' - optional hostname to serve from (defaults to \"127.0.0.1\" aka \"localhost\")\n* ''pathprefix'' - optional prefix for paths\n\nIf the password parameter is specified then the browser will prompt the user for the username and password. Note that the password is transmitted in plain text so this implementation isn't suitable for general use.\n\nFor example:\n\n```\n--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd\n```\n\nThe username and password can be specified as empty strings if you need to set the hostname or pathprefix and don't want to require a password:\n\n```\n--server 8080 $:/core/save/all text/plain text/html \"\" \"\" 192.168.0.245\n```\n\nTo run multiple TiddlyWiki servers at the same time you'll need to put each one on a different port.\n"
        },
        "$:/language/Help/setfield": {
            "title": "$:/language/Help/setfield",
            "description": "Prepares external tiddlers for use",
            "text": "//Note that this command is experimental and may change or be replaced before being finalised//\n\nSets the specified field of a group of tiddlers to the result of wikifying a template tiddler with the `currentTiddler` variable set to the tiddler.\n\n```\n--setfield <filter> <fieldname> <templatetitle> <rendertype>\n```\n\nThe parameters are:\n\n* ''filter'' - filter identifying the tiddlers to be affected\n* ''fieldname'' - the field to modify (defaults to \"text\")\n* ''templatetitle'' - the tiddler to wikify into the specified field. If blank or missing then the specified field is deleted\n* ''rendertype'' - the text type to render (defaults to \"text/plain\"; \"text/html\" can be used to include HTML tags)\n"
        },
        "$:/language/Help/unpackplugin": {
            "title": "$:/language/Help/unpackplugin",
            "description": "Unpack the payload tiddlers from a plugin",
            "text": "Extract the payload tiddlers from a plugin, creating them as ordinary tiddlers:\n\n```\n--unpackplugin <title>\n```\n"
        },
        "$:/language/Help/verbose": {
            "title": "$:/language/Help/verbose",
            "description": "Triggers verbose output mode",
            "text": "Triggers verbose output, useful for debugging\n\n```\n--verbose\n```\n"
        },
        "$:/language/Help/version": {
            "title": "$:/language/Help/version",
            "description": "Displays the version number of TiddlyWiki",
            "text": "Displays the version number of TiddlyWiki.\n\n```\n--version\n```\n"
        },
        "$:/language/Import/Imported/Hint": {
            "title": "$:/language/Import/Imported/Hint",
            "text": "The following tiddlers were imported:"
        },
        "$:/language/Import/Listing/Cancel/Caption": {
            "title": "$:/language/Import/Listing/Cancel/Caption",
            "text": "Cancel"
        },
        "$:/language/Import/Listing/Hint": {
            "title": "$:/language/Import/Listing/Hint",
            "text": "These tiddlers are ready to import:"
        },
        "$:/language/Import/Listing/Import/Caption": {
            "title": "$:/language/Import/Listing/Import/Caption",
            "text": "Import"
        },
        "$:/language/Import/Listing/Select/Caption": {
            "title": "$:/language/Import/Listing/Select/Caption",
            "text": "Select"
        },
        "$:/language/Import/Listing/Status/Caption": {
            "title": "$:/language/Import/Listing/Status/Caption",
            "text": "Status"
        },
        "$:/language/Import/Listing/Title/Caption": {
            "title": "$:/language/Import/Listing/Title/Caption",
            "text": "Title"
        },
        "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible": {
            "title": "$:/language/Import/Upgrader/Plugins/Suppressed/Incompatible",
            "text": "Blocked incompatible or obsolete plugin"
        },
        "$:/language/Import/Upgrader/Plugins/Suppressed/Version": {
            "title": "$:/language/Import/Upgrader/Plugins/Suppressed/Version",
            "text": "Blocked plugin (due to incoming <<incoming>> being older than existing <<existing>>)"
        },
        "$:/language/Import/Upgrader/Plugins/Upgraded": {
            "title": "$:/language/Import/Upgrader/Plugins/Upgraded",
            "text": "Upgraded plugin from <<incoming>> to <<upgraded>>"
        },
        "$:/language/Import/Upgrader/State/Suppressed": {
            "title": "$:/language/Import/Upgrader/State/Suppressed",
            "text": "Blocked temporary state tiddler"
        },
        "$:/language/Import/Upgrader/System/Suppressed": {
            "title": "$:/language/Import/Upgrader/System/Suppressed",
            "text": "Blocked system tiddler"
        },
        "$:/language/Import/Upgrader/ThemeTweaks/Created": {
            "title": "$:/language/Import/Upgrader/ThemeTweaks/Created",
            "text": "Migrated theme tweak from <$text text=<<from>>/>"
        },
        "$:/language/AboveStory/ClassicPlugin/Warning": {
            "title": "$:/language/AboveStory/ClassicPlugin/Warning",
            "text": "It looks like you are trying to load a plugin designed for ~TiddlyWiki Classic. Please note that [[these plugins do not work with TiddlyWiki version 5.x.x|http://tiddlywiki.com/#TiddlyWikiClassic]]. ~TiddlyWiki Classic plugins detected:"
        },
        "$:/language/BinaryWarning/Prompt": {
            "title": "$:/language/BinaryWarning/Prompt",
            "text": "This tiddler contains binary data"
        },
        "$:/language/ClassicWarning/Hint": {
            "title": "$:/language/ClassicWarning/Hint",
            "text": "This tiddler is written in TiddlyWiki Classic wiki text format, which is not fully compatible with TiddlyWiki version 5. See http://tiddlywiki.com/static/Upgrading.html for more details."
        },
        "$:/language/ClassicWarning/Upgrade/Caption": {
            "title": "$:/language/ClassicWarning/Upgrade/Caption",
            "text": "upgrade"
        },
        "$:/language/CloseAll/Button": {
            "title": "$:/language/CloseAll/Button",
            "text": "close all"
        },
        "$:/language/ColourPicker/Recent": {
            "title": "$:/language/ColourPicker/Recent",
            "text": "Recent:"
        },
        "$:/language/ConfirmCancelTiddler": {
            "title": "$:/language/ConfirmCancelTiddler",
            "text": "Do you wish to discard changes to the tiddler \"<$text text=<<title>>/>\"?"
        },
        "$:/language/ConfirmDeleteTiddler": {
            "title": "$:/language/ConfirmDeleteTiddler",
            "text": "Do you wish to delete the tiddler \"<$text text=<<title>>/>\"?"
        },
        "$:/language/ConfirmOverwriteTiddler": {
            "title": "$:/language/ConfirmOverwriteTiddler",
            "text": "Do you wish to overwrite the tiddler \"<$text text=<<title>>/>\"?"
        },
        "$:/language/ConfirmEditShadowTiddler": {
            "title": "$:/language/ConfirmEditShadowTiddler",
            "text": "You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit \"<$text text=<<title>>/>\"?"
        },
        "$:/language/Count": {
            "title": "$:/language/Count",
            "text": "count"
        },
        "$:/language/DefaultNewTiddlerTitle": {
            "title": "$:/language/DefaultNewTiddlerTitle",
            "text": "New Tiddler"
        },
        "$:/language/DropMessage": {
            "title": "$:/language/DropMessage",
            "text": "Drop here (or use the 'Escape' key to cancel)"
        },
        "$:/language/Encryption/Cancel": {
            "title": "$:/language/Encryption/Cancel",
            "text": "Cancel"
        },
        "$:/language/Encryption/ConfirmClearPassword": {
            "title": "$:/language/Encryption/ConfirmClearPassword",
            "text": "Do you wish to clear the password? This will remove the encryption applied when saving this wiki"
        },
        "$:/language/Encryption/PromptSetPassword": {
            "title": "$:/language/Encryption/PromptSetPassword",
            "text": "Set a new password for this TiddlyWiki"
        },
        "$:/language/Encryption/Username": {
            "title": "$:/language/Encryption/Username",
            "text": "Username"
        },
        "$:/language/Encryption/Password": {
            "title": "$:/language/Encryption/Password",
            "text": "Password"
        },
        "$:/language/Encryption/RepeatPassword": {
            "title": "$:/language/Encryption/RepeatPassword",
            "text": "Repeat password"
        },
        "$:/language/Encryption/PasswordNoMatch": {
            "title": "$:/language/Encryption/PasswordNoMatch",
            "text": "Passwords do not match"
        },
        "$:/language/Encryption/SetPassword": {
            "title": "$:/language/Encryption/SetPassword",
            "text": "Set password"
        },
        "$:/language/Error/Caption": {
            "title": "$:/language/Error/Caption",
            "text": "Error"
        },
        "$:/language/Error/Filter": {
            "title": "$:/language/Error/Filter",
            "text": "Filter error"
        },
        "$:/language/Error/FilterSyntax": {
            "title": "$:/language/Error/FilterSyntax",
            "text": "Syntax error in filter expression"
        },
        "$:/language/Error/IsFilterOperator": {
            "title": "$:/language/Error/IsFilterOperator",
            "text": "Filter Error: Unknown operand for the 'is' filter operator"
        },
        "$:/language/Error/LoadingPluginLibrary": {
            "title": "$:/language/Error/LoadingPluginLibrary",
            "text": "Error loading plugin library"
        },
        "$:/language/Error/RecursiveTransclusion": {
            "title": "$:/language/Error/RecursiveTransclusion",
            "text": "Recursive transclusion error in transclude widget"
        },
        "$:/language/Error/RetrievingSkinny": {
            "title": "$:/language/Error/RetrievingSkinny",
            "text": "Error retrieving skinny tiddler list"
        },
        "$:/language/Error/SavingToTWEdit": {
            "title": "$:/language/Error/SavingToTWEdit",
            "text": "Error saving to TWEdit"
        },
        "$:/language/Error/WhileSaving": {
            "title": "$:/language/Error/WhileSaving",
            "text": "Error while saving"
        },
        "$:/language/Error/XMLHttpRequest": {
            "title": "$:/language/Error/XMLHttpRequest",
            "text": "XMLHttpRequest error code"
        },
        "$:/language/InternalJavaScriptError/Title": {
            "title": "$:/language/InternalJavaScriptError/Title",
            "text": "Internal JavaScript Error"
        },
        "$:/language/InternalJavaScriptError/Hint": {
            "title": "$:/language/InternalJavaScriptError/Hint",
            "text": "Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser"
        },
        "$:/language/InvalidFieldName": {
            "title": "$:/language/InvalidFieldName",
            "text": "Illegal characters in field name \"<$text text=<<fieldName>>/>\". Fields can only contain lowercase letters, digits and the characters underscore (`_`), hyphen (`-`) and period (`.`)"
        },
        "$:/language/LazyLoadingWarning": {
            "title": "$:/language/LazyLoadingWarning",
            "text": "<p>Loading external text from ''<$text text={{!!_canonical_uri}}/>''</p><p>If this message doesn't disappear you may be using a browser that doesn't support external text in this configuration. See http://tiddlywiki.com/#ExternalText</p>"
        },
        "$:/language/LoginToTiddlySpace": {
            "title": "$:/language/LoginToTiddlySpace",
            "text": "Login to TiddlySpace"
        },
        "$:/language/MissingTiddler/Hint": {
            "title": "$:/language/MissingTiddler/Hint",
            "text": "Missing tiddler \"<$text text=<<currentTiddler>>/>\" - click {{$:/core/images/edit-button}} to create"
        },
        "$:/language/No": {
            "title": "$:/language/No",
            "text": "No"
        },
        "$:/language/OfficialPluginLibrary": {
            "title": "$:/language/OfficialPluginLibrary",
            "text": "Official ~TiddlyWiki Plugin Library"
        },
        "$:/language/OfficialPluginLibrary/Hint": {
            "title": "$:/language/OfficialPluginLibrary/Hint",
            "text": "The official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team."
        },
        "$:/language/PluginReloadWarning": {
            "title": "$:/language/PluginReloadWarning",
            "text": "Please save {{$:/core/ui/Buttons/save-wiki}} and reload {{$:/core/ui/Buttons/refresh}} to allow changes to plugins to take effect"
        },
        "$:/language/RecentChanges/DateFormat": {
            "title": "$:/language/RecentChanges/DateFormat",
            "text": "DDth MMM YYYY"
        },
        "$:/language/SystemTiddler/Tooltip": {
            "title": "$:/language/SystemTiddler/Tooltip",
            "text": "This is a system tiddler"
        },
        "$:/language/TagManager/Colour/Heading": {
            "title": "$:/language/TagManager/Colour/Heading",
            "text": "Colour"
        },
        "$:/language/TagManager/Count/Heading": {
            "title": "$:/language/TagManager/Count/Heading",
            "text": "Count"
        },
        "$:/language/TagManager/Icon/Heading": {
            "title": "$:/language/TagManager/Icon/Heading",
            "text": "Icon"
        },
        "$:/language/TagManager/Info/Heading": {
            "title": "$:/language/TagManager/Info/Heading",
            "text": "Info"
        },
        "$:/language/TagManager/Tag/Heading": {
            "title": "$:/language/TagManager/Tag/Heading",
            "text": "Tag"
        },
        "$:/language/Tiddler/DateFormat": {
            "title": "$:/language/Tiddler/DateFormat",
            "text": "DDth MMM YYYY at hh12:0mmam"
        },
        "$:/language/UnsavedChangesWarning": {
            "title": "$:/language/UnsavedChangesWarning",
            "text": "You have unsaved changes in TiddlyWiki"
        },
        "$:/language/Yes": {
            "title": "$:/language/Yes",
            "text": "Yes"
        },
        "$:/language/Modals/Download": {
            "title": "$:/language/Modals/Download",
            "type": "text/vnd.tiddlywiki",
            "subtitle": "Download changes",
            "footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
            "help": "http://tiddlywiki.com/static/DownloadingChanges.html",
            "text": "Your browser only supports manual saving.\n\nTo save your modified wiki, right click on the download link below and select \"Download file\" or \"Save file\", and then choose the folder and filename.\n\n//You can marginally speed things up by clicking the link with the control key (Windows) or the options/alt key (Mac OS X). You will not be prompted for the folder or filename, but your browser is likely to give it an unrecognisable name -- you may need to rename the file to include an `.html` extension before you can do anything useful with it.//\n\nOn smartphones that do not allow files to be downloaded you can instead bookmark the link, and then sync your bookmarks to a desktop computer from where the wiki can be saved normally.\n"
        },
        "$:/language/Modals/SaveInstructions": {
            "title": "$:/language/Modals/SaveInstructions",
            "type": "text/vnd.tiddlywiki",
            "subtitle": "Save your work",
            "footer": "<$button message=\"tm-close-tiddler\">Close</$button>",
            "help": "http://tiddlywiki.com/static/SavingChanges.html",
            "text": "Your changes to this wiki need to be saved as a ~TiddlyWiki HTML file.\n\n!!! Desktop browsers\n\n# Select ''Save As'' from the ''File'' menu\n# Choose a filename and location\n#* Some browsers also require you to explicitly specify the file saving format as ''Webpage, HTML only'' or similar\n# Close this tab\n\n!!! Smartphone browsers\n\n# Create a bookmark to this page\n#* If you've got iCloud or Google Sync set up then the bookmark will automatically sync to your desktop where you can open it and save it as above\n# Close this tab\n\n//If you open the bookmark again in Mobile Safari you will see this message again. If you want to go ahead and use the file, just click the ''close'' button below//\n"
        },
        "$:/config/NewJournal/Title": {
            "title": "$:/config/NewJournal/Title",
            "text": "DDth MMM YYYY"
        },
        "$:/config/NewJournal/Tags": {
            "title": "$:/config/NewJournal/Tags",
            "text": "Journal"
        },
        "$:/language/Notifications/Save/Done": {
            "title": "$:/language/Notifications/Save/Done",
            "text": "Saved wiki"
        },
        "$:/language/Notifications/Save/Starting": {
            "title": "$:/language/Notifications/Save/Starting",
            "text": "Starting to save wiki"
        },
        "$:/language/Search/DefaultResults/Caption": {
            "title": "$:/language/Search/DefaultResults/Caption",
            "text": "List"
        },
        "$:/language/Search/Filter/Caption": {
            "title": "$:/language/Search/Filter/Caption",
            "text": "Filter"
        },
        "$:/language/Search/Filter/Hint": {
            "title": "$:/language/Search/Filter/Hint",
            "text": "Search via a [[filter expression|http://tiddlywiki.com/static/Filters.html]]"
        },
        "$:/language/Search/Filter/Matches": {
            "title": "$:/language/Search/Filter/Matches",
            "text": "//<small><<resultCount>> matches</small>//"
        },
        "$:/language/Search/Matches": {
            "title": "$:/language/Search/Matches",
            "text": "//<small><<resultCount>> matches</small>//"
        },
        "$:/language/Search/Matches/All": {
            "title": "$:/language/Search/Matches/All",
            "text": "All matches:"
        },
        "$:/language/Search/Matches/Title": {
            "title": "$:/language/Search/Matches/Title",
            "text": "Title matches:"
        },
        "$:/language/Search/Search": {
            "title": "$:/language/Search/Search",
            "text": "Search"
        },
        "$:/language/Search/Shadows/Caption": {
            "title": "$:/language/Search/Shadows/Caption",
            "text": "Shadows"
        },
        "$:/language/Search/Shadows/Hint": {
            "title": "$:/language/Search/Shadows/Hint",
            "text": "Search for shadow tiddlers"
        },
        "$:/language/Search/Shadows/Matches": {
            "title": "$:/language/Search/Shadows/Matches",
            "text": "//<small><<resultCount>> matches</small>//"
        },
        "$:/language/Search/Standard/Caption": {
            "title": "$:/language/Search/Standard/Caption",
            "text": "Standard"
        },
        "$:/language/Search/Standard/Hint": {
            "title": "$:/language/Search/Standard/Hint",
            "text": "Search for standard tiddlers"
        },
        "$:/language/Search/Standard/Matches": {
            "title": "$:/language/Search/Standard/Matches",
            "text": "//<small><<resultCount>> matches</small>//"
        },
        "$:/language/Search/System/Caption": {
            "title": "$:/language/Search/System/Caption",
            "text": "System"
        },
        "$:/language/Search/System/Hint": {
            "title": "$:/language/Search/System/Hint",
            "text": "Search for system tiddlers"
        },
        "$:/language/Search/System/Matches": {
            "title": "$:/language/Search/System/Matches",
            "text": "//<small><<resultCount>> matches</small>//"
        },
        "$:/language/SideBar/All/Caption": {
            "title": "$:/language/SideBar/All/Caption",
            "text": "All"
        },
        "$:/language/SideBar/Contents/Caption": {
            "title": "$:/language/SideBar/Contents/Caption",
            "text": "Contents"
        },
        "$:/language/SideBar/Drafts/Caption": {
            "title": "$:/language/SideBar/Drafts/Caption",
            "text": "Drafts"
        },
        "$:/language/SideBar/Missing/Caption": {
            "title": "$:/language/SideBar/Missing/Caption",
            "text": "Missing"
        },
        "$:/language/SideBar/More/Caption": {
            "title": "$:/language/SideBar/More/Caption",
            "text": "More"
        },
        "$:/language/SideBar/Open/Caption": {
            "title": "$:/language/SideBar/Open/Caption",
            "text": "Open"
        },
        "$:/language/SideBar/Orphans/Caption": {
            "title": "$:/language/SideBar/Orphans/Caption",
            "text": "Orphans"
        },
        "$:/language/SideBar/Recent/Caption": {
            "title": "$:/language/SideBar/Recent/Caption",
            "text": "Recent"
        },
        "$:/language/SideBar/Shadows/Caption": {
            "title": "$:/language/SideBar/Shadows/Caption",
            "text": "Shadows"
        },
        "$:/language/SideBar/System/Caption": {
            "title": "$:/language/SideBar/System/Caption",
            "text": "System"
        },
        "$:/language/SideBar/Tags/Caption": {
            "title": "$:/language/SideBar/Tags/Caption",
            "text": "Tags"
        },
        "$:/language/SideBar/Tags/Untagged/Caption": {
            "title": "$:/language/SideBar/Tags/Untagged/Caption",
            "text": "untagged"
        },
        "$:/language/SideBar/Tools/Caption": {
            "title": "$:/language/SideBar/Tools/Caption",
            "text": "Tools"
        },
        "$:/language/SideBar/Types/Caption": {
            "title": "$:/language/SideBar/Types/Caption",
            "text": "Types"
        },
        "$:/SiteSubtitle": {
            "title": "$:/SiteSubtitle",
            "text": "a non-linear personal web notebook"
        },
        "$:/SiteTitle": {
            "title": "$:/SiteTitle",
            "text": "My ~TiddlyWiki"
        },
        "$:/language/Snippets/ListByTag": {
            "title": "$:/language/Snippets/ListByTag",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "List of tiddlers by tag",
            "text": "<<list-links \"[tag[task]sort[title]]\">>\n"
        },
        "$:/language/Snippets/MacroDefinition": {
            "title": "$:/language/Snippets/MacroDefinition",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "Macro definition",
            "text": "\\define macroName(param1:\"default value\",param2)\nText of the macro\n\\end\n"
        },
        "$:/language/Snippets/Table4x3": {
            "title": "$:/language/Snippets/Table4x3",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "Table with 4 columns by 3 rows",
            "text": "|! |!Alpha |!Beta |!Gamma |!Delta |\n|!One | | | | |\n|!Two | | | | |\n|!Three | | | | |\n"
        },
        "$:/language/Snippets/TableOfContents": {
            "title": "$:/language/Snippets/TableOfContents",
            "tags": "$:/tags/TextEditor/Snippet",
            "caption": "Table of Contents",
            "text": "<div class=\"tc-table-of-contents\">\n\n<<toc-selective-expandable 'TableOfContents'>>\n\n</div>"
        },
        "$:/language/ThemeTweaks/ThemeTweaks": {
            "title": "$:/language/ThemeTweaks/ThemeTweaks",
            "text": "Theme Tweaks"
        },
        "$:/language/ThemeTweaks/ThemeTweaks/Hint": {
            "title": "$:/language/ThemeTweaks/ThemeTweaks/Hint",
            "text": "You can tweak certain aspects of the ''Vanilla'' theme."
        },
        "$:/language/ThemeTweaks/Options": {
            "title": "$:/language/ThemeTweaks/Options",
            "text": "Options"
        },
        "$:/language/ThemeTweaks/Options/SidebarLayout": {
            "title": "$:/language/ThemeTweaks/Options/SidebarLayout",
            "text": "Sidebar layout"
        },
        "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid": {
            "title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fixed-Fluid",
            "text": "Fixed story, fluid sidebar"
        },
        "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed": {
            "title": "$:/language/ThemeTweaks/Options/SidebarLayout/Fluid-Fixed",
            "text": "Fluid story, fixed sidebar"
        },
        "$:/language/ThemeTweaks/Options/StickyTitles": {
            "title": "$:/language/ThemeTweaks/Options/StickyTitles",
            "text": "Sticky titles"
        },
        "$:/language/ThemeTweaks/Options/StickyTitles/Hint": {
            "title": "$:/language/ThemeTweaks/Options/StickyTitles/Hint",
            "text": "Causes tiddler titles to \"stick\" to the top of the browser window. Caution: Does not work at all with Chrome, and causes some layout issues in Firefox"
        },
        "$:/language/ThemeTweaks/Options/CodeWrapping": {
            "title": "$:/language/ThemeTweaks/Options/CodeWrapping",
            "text": "Wrap long lines in code blocks"
        },
        "$:/language/ThemeTweaks/Settings": {
            "title": "$:/language/ThemeTweaks/Settings",
            "text": "Settings"
        },
        "$:/language/ThemeTweaks/Settings/FontFamily": {
            "title": "$:/language/ThemeTweaks/Settings/FontFamily",
            "text": "Font family"
        },
        "$:/language/ThemeTweaks/Settings/CodeFontFamily": {
            "title": "$:/language/ThemeTweaks/Settings/CodeFontFamily",
            "text": "Code font family"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImage": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImage",
            "text": "Page background image"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment",
            "text": "Page background image attachment"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Scroll",
            "text": "Scroll with tiddlers"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageAttachment/Fixed",
            "text": "Fixed to window"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageSize": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize",
            "text": "Page background image size"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Auto",
            "text": "Auto"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Cover",
            "text": "Cover"
        },
        "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain": {
            "title": "$:/language/ThemeTweaks/Settings/BackgroundImageSize/Contain",
            "text": "Contain"
        },
        "$:/language/ThemeTweaks/Metrics": {
            "title": "$:/language/ThemeTweaks/Metrics",
            "text": "Sizes"
        },
        "$:/language/ThemeTweaks/Metrics/FontSize": {
            "title": "$:/language/ThemeTweaks/Metrics/FontSize",
            "text": "Font size"
        },
        "$:/language/ThemeTweaks/Metrics/LineHeight": {
            "title": "$:/language/ThemeTweaks/Metrics/LineHeight",
            "text": "Line height"
        },
        "$:/language/ThemeTweaks/Metrics/BodyFontSize": {
            "title": "$:/language/ThemeTweaks/Metrics/BodyFontSize",
            "text": "Font size for tiddler body"
        },
        "$:/language/ThemeTweaks/Metrics/BodyLineHeight": {
            "title": "$:/language/ThemeTweaks/Metrics/BodyLineHeight",
            "text": "Line height for tiddler body"
        },
        "$:/language/ThemeTweaks/Metrics/StoryLeft": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryLeft",
            "text": "Story left position"
        },
        "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryLeft/Hint",
            "text": "how far the left margin of the story river<br>(tiddler area) is from the left of the page"
        },
        "$:/language/ThemeTweaks/Metrics/StoryTop": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryTop",
            "text": "Story top position"
        },
        "$:/language/ThemeTweaks/Metrics/StoryTop/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryTop/Hint",
            "text": "how far the top margin of the story river<br>is from the top of the page"
        },
        "$:/language/ThemeTweaks/Metrics/StoryRight": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryRight",
            "text": "Story right"
        },
        "$:/language/ThemeTweaks/Metrics/StoryRight/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryRight/Hint",
            "text": "how far the left margin of the sidebar <br>is from the left of the page"
        },
        "$:/language/ThemeTweaks/Metrics/StoryWidth": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryWidth",
            "text": "Story width"
        },
        "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/StoryWidth/Hint",
            "text": "the overall width of the story river"
        },
        "$:/language/ThemeTweaks/Metrics/TiddlerWidth": {
            "title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth",
            "text": "Tiddler width"
        },
        "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/TiddlerWidth/Hint",
            "text": "within the story river"
        },
        "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint": {
            "title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint",
            "text": "Sidebar breakpoint"
        },
        "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/SidebarBreakpoint/Hint",
            "text": "the minimum page width at which the story<br>river and sidebar will appear side by side"
        },
        "$:/language/ThemeTweaks/Metrics/SidebarWidth": {
            "title": "$:/language/ThemeTweaks/Metrics/SidebarWidth",
            "text": "Sidebar width"
        },
        "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint": {
            "title": "$:/language/ThemeTweaks/Metrics/SidebarWidth/Hint",
            "text": "the width of the sidebar in fluid-fixed layout"
        },
        "$:/language/TiddlerInfo/Advanced/Caption": {
            "title": "$:/language/TiddlerInfo/Advanced/Caption",
            "text": "Advanced"
        },
        "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Empty/Hint",
            "text": "none"
        },
        "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading": {
            "title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Heading",
            "text": "Plugin Details"
        },
        "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/PluginInfo/Hint",
            "text": "This plugin contains the following shadow tiddlers:"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Heading",
            "text": "Shadow Status"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/NotShadow/Hint",
            "text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is not a shadow tiddler"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Hint",
            "text": "The tiddler <$link to=<<infoTiddler>>><$text text=<<infoTiddler>>/></$link> is a shadow tiddler"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/Shadow/Source",
            "text": "It is defined in the plugin <$link to=<<pluginTiddler>>><$text text=<<pluginTiddler>>/></$link>"
        },
        "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint": {
            "title": "$:/language/TiddlerInfo/Advanced/ShadowInfo/OverriddenShadow/Hint",
            "text": "It is overridden by an ordinary tiddler"
        },
        "$:/language/TiddlerInfo/Fields/Caption": {
            "title": "$:/language/TiddlerInfo/Fields/Caption",
            "text": "Fields"
        },
        "$:/language/TiddlerInfo/List/Caption": {
            "title": "$:/language/TiddlerInfo/List/Caption",
            "text": "List"
        },
        "$:/language/TiddlerInfo/List/Empty": {
            "title": "$:/language/TiddlerInfo/List/Empty",
            "text": "This tiddler does not have a list"
        },
        "$:/language/TiddlerInfo/Listed/Caption": {
            "title": "$:/language/TiddlerInfo/Listed/Caption",
            "text": "Listed"
        },
        "$:/language/TiddlerInfo/Listed/Empty": {
            "title": "$:/language/TiddlerInfo/Listed/Empty",
            "text": "This tiddler is not listed by any others"
        },
        "$:/language/TiddlerInfo/References/Caption": {
            "title": "$:/language/TiddlerInfo/References/Caption",
            "text": "References"
        },
        "$:/language/TiddlerInfo/References/Empty": {
            "title": "$:/language/TiddlerInfo/References/Empty",
            "text": "No tiddlers link to this one"
        },
        "$:/language/TiddlerInfo/Tagging/Caption": {
            "title": "$:/language/TiddlerInfo/Tagging/Caption",
            "text": "Tagging"
        },
        "$:/language/TiddlerInfo/Tagging/Empty": {
            "title": "$:/language/TiddlerInfo/Tagging/Empty",
            "text": "No tiddlers are tagged with this one"
        },
        "$:/language/TiddlerInfo/Tools/Caption": {
            "title": "$:/language/TiddlerInfo/Tools/Caption",
            "text": "Tools"
        },
        "$:/language/Docs/Types/application/javascript": {
            "title": "$:/language/Docs/Types/application/javascript",
            "description": "JavaScript code",
            "name": "application/javascript",
            "group": "Developer"
        },
        "$:/language/Docs/Types/application/json": {
            "title": "$:/language/Docs/Types/application/json",
            "description": "JSON data",
            "name": "application/json",
            "group": "Developer"
        },
        "$:/language/Docs/Types/application/x-tiddler-dictionary": {
            "title": "$:/language/Docs/Types/application/x-tiddler-dictionary",
            "description": "Data dictionary",
            "name": "application/x-tiddler-dictionary",
            "group": "Developer"
        },
        "$:/language/Docs/Types/image/gif": {
            "title": "$:/language/Docs/Types/image/gif",
            "description": "GIF image",
            "name": "image/gif",
            "group": "Image"
        },
        "$:/language/Docs/Types/image/jpeg": {
            "title": "$:/language/Docs/Types/image/jpeg",
            "description": "JPEG image",
            "name": "image/jpeg",
            "group": "Image"
        },
        "$:/language/Docs/Types/image/png": {
            "title": "$:/language/Docs/Types/image/png",
            "description": "PNG image",
            "name": "image/png",
            "group": "Image"
        },
        "$:/language/Docs/Types/image/svg+xml": {
            "title": "$:/language/Docs/Types/image/svg+xml",
            "description": "Structured Vector Graphics image",
            "name": "image/svg+xml",
            "group": "Image"
        },
        "$:/language/Docs/Types/image/x-icon": {
            "title": "$:/language/Docs/Types/image/x-icon",
            "description": "ICO format icon file",
            "name": "image/x-icon",
            "group": "Image"
        },
        "$:/language/Docs/Types/text/css": {
            "title": "$:/language/Docs/Types/text/css",
            "description": "Static stylesheet",
            "name": "text/css",
            "group": "Developer"
        },
        "$:/language/Docs/Types/text/html": {
            "title": "$:/language/Docs/Types/text/html",
            "description": "HTML markup",
            "name": "text/html",
            "group": "Text"
        },
        "$:/language/Docs/Types/text/plain": {
            "title": "$:/language/Docs/Types/text/plain",
            "description": "Plain text",
            "name": "text/plain",
            "group": "Text"
        },
        "$:/language/Docs/Types/text/vnd.tiddlywiki": {
            "title": "$:/language/Docs/Types/text/vnd.tiddlywiki",
            "description": "TiddlyWiki 5",
            "name": "text/vnd.tiddlywiki",
            "group": "Text"
        },
        "$:/language/Docs/Types/text/x-tiddlywiki": {
            "title": "$:/language/Docs/Types/text/x-tiddlywiki",
            "description": "TiddlyWiki Classic",
            "name": "text/x-tiddlywiki",
            "group": "Text"
        },
        "$:/languages/en-GB/icon": {
            "title": "$:/languages/en-GB/icon",
            "type": "image/svg+xml",
            "text": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 60 30\" width=\"1200\" height=\"600\">\n<clipPath id=\"t\">\n\t<path d=\"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z\"/>\n</clipPath>\n<path d=\"M0,0 v30 h60 v-30 z\" fill=\"#00247d\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" stroke=\"#fff\" stroke-width=\"6\"/>\n<path d=\"M0,0 L60,30 M60,0 L0,30\" clip-path=\"url(#t)\" stroke=\"#cf142b\" stroke-width=\"4\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#fff\" stroke-width=\"10\"/>\n<path d=\"M30,0 v30 M0,15 h60\" stroke=\"#cf142b\" stroke-width=\"6\"/>\n</svg>\n"
        },
        "$:/languages/en-GB": {
            "title": "$:/languages/en-GB",
            "name": "en-GB",
            "description": "English (British)",
            "author": "JeremyRuston",
            "core-version": ">=5.0.0\"",
            "text": "Stub pseudo-plugin for the default language"
        },
        "$:/core/modules/commander.js": {
            "text": "/*\\\ntitle: $:/core/modules/commander.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Commander class is a command interpreter\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParse a sequence of commands\n\tcommandTokens: an array of command string tokens\n\twiki: reference to the wiki store object\n\tstreams: {output:, error:}, each of which has a write(string) method\n\tcallback: a callback invoked as callback(err) where err is null if there was no error\n*/\nvar Commander = function(commandTokens,callback,wiki,streams) {\n\tvar path = require(\"path\");\n\tthis.commandTokens = commandTokens;\n\tthis.nextToken = 0;\n\tthis.callback = callback;\n\tthis.wiki = wiki;\n\tthis.streams = streams;\n\tthis.outputPath = path.resolve($tw.boot.wikiPath,$tw.config.wikiOutputSubDir);\n};\n\n/*\nAdd a string of tokens to the command queue\n*/\nCommander.prototype.addCommandTokens = function(commandTokens) {\n\tvar params = commandTokens.slice(0);\n\tparams.unshift(0);\n\tparams.unshift(this.nextToken);\n\tArray.prototype.splice.apply(this.commandTokens,params);\n};\n\n/*\nExecute the sequence of commands and invoke a callback on completion\n*/\nCommander.prototype.execute = function() {\n\tthis.executeNextCommand();\n};\n\n/*\nExecute the next command in the sequence\n*/\nCommander.prototype.executeNextCommand = function() {\n\tvar self = this;\n\t// Invoke the callback if there are no more commands\n\tif(this.nextToken >= this.commandTokens.length) {\n\t\tthis.callback(null);\n\t} else {\n\t\t// Get and check the command token\n\t\tvar commandName = this.commandTokens[this.nextToken++];\n\t\tif(commandName.substr(0,2) !== \"--\") {\n\t\t\tthis.callback(\"Missing command: \" + commandName);\n\t\t} else {\n\t\t\tcommandName = commandName.substr(2); // Trim off the --\n\t\t\t// Accumulate the parameters to the command\n\t\t\tvar params = [];\n\t\t\twhile(this.nextToken < this.commandTokens.length && \n\t\t\t\tthis.commandTokens[this.nextToken].substr(0,2) !== \"--\") {\n\t\t\t\tparams.push(this.commandTokens[this.nextToken++]);\n\t\t\t}\n\t\t\t// Get the command info\n\t\t\tvar command = $tw.commands[commandName],\n\t\t\t\tc,err;\n\t\t\tif(!command) {\n\t\t\t\tthis.callback(\"Unknown command: \" + commandName);\n\t\t\t} else {\n\t\t\t\tif(this.verbose) {\n\t\t\t\t\tthis.streams.output.write(\"Executing command: \" + commandName + \" \" + params.join(\" \") + \"\\n\");\n\t\t\t\t}\n\t\t\t\tif(command.info.synchronous) {\n\t\t\t\t\t// Synchronous command\n\t\t\t\t\tc = new command.Command(params,this);\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.executeNextCommand();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// Asynchronous command\n\t\t\t\t\tc = new command.Command(params,this,function(err) {\n\t\t\t\t\t\tif(err) {\n\t\t\t\t\t\t\tself.callback(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tself.executeNextCommand();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\terr = c.execute();\n\t\t\t\t\tif(err) {\n\t\t\t\t\t\tthis.callback(err);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nCommander.initCommands = function(moduleType) {\n\tmoduleType = moduleType || \"command\";\n\t$tw.commands = {};\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tvar c = $tw.commands[module.info.name] = {};\n\t\t// Add the methods defined by the module\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\tc[f] = module[f];\n\t\t\t}\n\t\t}\n\t});\n};\n\nexports.Commander = Commander;\n\n})();\n",
            "title": "$:/core/modules/commander.js",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/commands/build.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/build.js\ntype: application/javascript\nmodule-type: command\n\nCommand to build a build target\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"build\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\t// Get the build targets defined in the wiki\n\tvar buildTargets = $tw.boot.wikiInfo.build;\n\tif(!buildTargets) {\n\t\treturn \"No build targets defined\";\n\t}\n\t// Loop through each of the specified targets\n\tvar targets;\n\tif(this.params.length > 0) {\n\t\ttargets = this.params;\n\t} else {\n\t\ttargets = Object.keys(buildTargets);\n\t}\n\tfor(var targetIndex=0; targetIndex<targets.length; targetIndex++) {\n\t\tvar target = targets[targetIndex],\n\t\t\tcommands = buildTargets[target];\n\t\tif(!commands) {\n\t\t\treturn \"Build target '\" + target + \"' not found\";\n\t\t}\n\t\t// Add the commands to the queue\n\t\tthis.commander.addCommandTokens(commands);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/build.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/clearpassword.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/clearpassword.js\ntype: application/javascript\nmodule-type: command\n\nClear password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"clearpassword\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\t$tw.crypto.setPassword(null);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/clearpassword.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/editions.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/editions.js\ntype: application/javascript\nmodule-type: command\n\nCommand to list the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"editions\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this;\n\t// Output the list\n\tthis.commander.streams.output.write(\"Available editions:\\n\\n\");\n\tvar editionInfo = $tw.utils.getEditionInfo();\n\t$tw.utils.each(editionInfo,function(info,name) {\n\t\tself.commander.streams.output.write(\"    \" + name + \": \" + info.description + \"\\n\");\n\t});\n\tthis.commander.streams.output.write(\"\\n\");\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/editions.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/help.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/help.js\ntype: application/javascript\nmodule-type: command\n\nHelp command\n\n\\*/\n(function(){\n\n/*jshint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"help\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar subhelp = this.params[0] || \"default\",\n\t\thelpBase = \"$:/language/Help/\",\n\t\ttext;\n\tif(!this.commander.wiki.getTiddler(helpBase + subhelp)) {\n\t\tsubhelp = \"notfound\";\n\t}\n\t// Wikify the help as formatted text (ie block elements generate newlines)\n\ttext = this.commander.wiki.renderTiddler(\"text/plain-formatted\",helpBase + subhelp);\n\t// Remove any leading linebreaks\n\ttext = text.replace(/^(\\r?\\n)*/g,\"\");\n\tthis.commander.streams.output.write(text);\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/help.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/init.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/init.js\ntype: application/javascript\nmodule-type: command\n\nCommand to initialise an empty wiki folder\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"init\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\t// Check that we don't already have a valid wiki folder\n\tif($tw.boot.wikiTiddlersPath || ($tw.utils.isDirectory($tw.boot.wikiPath) && !$tw.utils.isDirectoryEmpty($tw.boot.wikiPath))) {\n\t\treturn \"Wiki folder is not empty\";\n\t}\n\t// Loop through each of the specified editions\n\tvar editions = this.params.length > 0 ? this.params : [\"empty\"];\n\tfor(var editionIndex=0; editionIndex<editions.length; editionIndex++) {\n\t\tvar editionName = editions[editionIndex];\n\t\t// Check the edition exists\n\t\tvar editionPath = $tw.findLibraryItem(editionName,$tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar));\n\t\tif(!$tw.utils.isDirectory(editionPath)) {\n\t\t\treturn \"Edition '\" + editionName + \"' not found\";\n\t\t}\n\t\t// Copy the edition content\n\t\tvar err = $tw.utils.copyDirectory(editionPath,$tw.boot.wikiPath);\n\t\tif(!err) {\n\t\t\tthis.commander.streams.output.write(\"Copied edition '\" + editionName + \"' to \" + $tw.boot.wikiPath + \"\\n\");\n\t\t} else {\n\t\t\treturn err;\n\t\t}\n\t}\n\t// Tweak the tiddlywiki.info to remove any included wikis\n\tvar packagePath = $tw.boot.wikiPath + \"/tiddlywiki.info\",\n\t\tpackageJson = JSON.parse(fs.readFileSync(packagePath));\n\tdelete packageJson.includeWikis;\n\tfs.writeFileSync(packagePath,JSON.stringify(packageJson,null,$tw.config.preferences.jsonSpaces));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/init.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/load.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/load.js\ntype: application/javascript\nmodule-type: command\n\nCommand to load tiddlers from a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"load\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar ext = path.extname(self.params[0]);\n\tfs.readFile(this.params[0],$tw.utils.getTypeEncoding(ext),function(err,data) {\n\t\tif (err) {\n\t\t\tself.callback(err);\n\t\t} else {\n\t\t\tvar fields = {title: self.params[0]},\n\t\t\t\ttype = path.extname(self.params[0]);\n\t\t\tvar tiddlers = self.commander.wiki.deserializeTiddlers(type,data,fields);\n\t\t\tif(!tiddlers) {\n\t\t\t\tself.callback(\"No tiddlers found in file \\\"\" + self.params[0] + \"\\\"\");\n\t\t\t} else {\n\t\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t\tself.commander.wiki.importTiddler(new $tw.Tiddler(tiddlers[t]));\n\t\t\t\t}\n\t\t\t\tself.callback(null);\t\n\t\t\t}\n\t\t}\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/load.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/makelibrary.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/makelibrary.js\ntype: application/javascript\nmodule-type: command\n\nCommand to pack all of the plugins in the library into a plugin tiddler of type \"library\"\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"makelibrary\",\n\tsynchronous: true\n};\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar wiki = this.commander.wiki,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tupgradeLibraryTitle = this.params[0] || UPGRADE_LIBRARY_TITLE,\n\t\ttiddlers = {};\n\t// Collect up the library plugins\n\tvar collectPlugins = function(folder) {\n\t\t\tvar pluginFolders = fs.readdirSync(folder);\n\t\t\tfor(var p=0; p<pluginFolders.length; p++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(pluginFolders[p])) {\n\t\t\t\t\tpluginFields = $tw.loadPluginFolder(path.resolve(folder,\"./\" + pluginFolders[p]));\n\t\t\t\t\tif(pluginFields && pluginFields.title) {\n\t\t\t\t\t\ttiddlers[pluginFields.title] = pluginFields;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcollectPublisherPlugins = function(folder) {\n\t\t\tvar publisherFolders = fs.readdirSync(folder);\n\t\t\tfor(var t=0; t<publisherFolders.length; t++) {\n\t\t\t\tif(!$tw.boot.excludeRegExp.test(publisherFolders[t])) {\n\t\t\t\t\tcollectPlugins(path.resolve(folder,\"./\" + publisherFolders[t]));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\tcollectPublisherPlugins(path.resolve($tw.boot.corePath,$tw.config.pluginsPath));\n\tcollectPublisherPlugins(path.resolve($tw.boot.corePath,$tw.config.themesPath));\n\tcollectPlugins(path.resolve($tw.boot.corePath,$tw.config.languagesPath));\n\t// Save the upgrade library tiddler\n\tvar pluginFields = {\n\t\ttitle: upgradeLibraryTitle,\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"library\",\n\t\t\"text\": JSON.stringify({tiddlers: tiddlers},null,$tw.config.preferences.jsonSpaces)\n\t};\n\twiki.addTiddler(new $tw.Tiddler(pluginFields));\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/makelibrary.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/output.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/output.js\ntype: application/javascript\nmodule-type: command\n\nCommand to set the default output location (defaults to current working directory)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"output\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tvar fs = require(\"fs\"),\n\t\tpath = require(\"path\");\n\tif(this.params.length < 1) {\n\t\treturn \"Missing output path\";\n\t}\n\tthis.commander.outputPath = path.resolve(process.cwd(),this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/output.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/password.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/password.js\ntype: application/javascript\nmodule-type: command\n\nSave password for crypto operations\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"password\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing password\";\n\t}\n\t$tw.crypto.setPassword(this.params[0]);\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/password.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/rendertiddler.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/rendertiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render a tiddler and save it to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"rendertiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttype = this.params[2] || \"text/html\",\n\t\ttemplate = this.params[3],\n\t\tvariables = {};\n\t$tw.utils.createFileDirectories(filename);\n\tif(template) {\n\t\tvariables.currentTiddler = title;\n\t\ttitle = template;\n\t}\n\tfs.writeFile(filename,this.commander.wiki.renderTiddler(type,title,{variables: variables}),\"utf8\",function(err) {\n\t\tself.callback(err);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/rendertiddler.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/rendertiddlers.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/rendertiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to render several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"rendertiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\ttemplate = this.params[1],\n\t\toutputPath = this.commander.outputPath,\n\t\tpathname = path.resolve(outputPath,this.params[2]),\t\t\n\t\ttype = this.params[3] || \"text/html\",\n\t\textension = this.params[4] || \".html\",\n\t\tdeleteDirectory = (this.params[5] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(template),\n\t\t\twidgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}}),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\tvar text = type === \"text/html\" ? container.innerHTML : container.textContent,\n\t\t\texportPath = null;\n\t\tif($tw.utils.hop($tw.macros,\"tv-get-export-path\")) {\n\t\t\tvar macroPath = $tw.macros[\"tv-get-export-path\"].run.apply(self,[title]);\n\t\t\tif(macroPath) {\n\t\t\t\texportPath = path.resolve(outputPath,macroPath + extension);\n\t\t\t}\n\t\t}\n\t\tvar finalPath = exportPath || path.resolve(pathname,encodeURIComponent(title) + extension);\n\t\t$tw.utils.createFileDirectories(finalPath);\n\t\tfs.writeFileSync(finalPath,text,\"utf8\");\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/rendertiddlers.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/savelibrarytiddlers.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/savelibrarytiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the subtiddlers of a bundle tiddler as a series of JSON files\n\n--savelibrarytiddlers <tiddler> <pathname> <skinnylisting>\n\nThe tiddler identifies the bundle tiddler that contains the subtiddlers.\n\nThe pathname specifies the pathname to the folder in which the JSON files should be saved. The filename is the URL encoded title of the subtiddler.\n\nThe skinnylisting specifies the title of the tiddler to which a JSON catalogue of the subtiddlers will be saved. The JSON file contains the same data as the bundle tiddler but with the `text` field removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savelibrarytiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\tcontainerTitle = this.params[0],\n\t\tfilter = this.params[1],\n\t\tbasepath = this.params[2],\n\t\tskinnyListTitle = this.params[3];\n\t// Get the container tiddler as data\n\tvar containerData = self.commander.wiki.getTiddlerDataCached(containerTitle,undefined);\n\tif(!containerData) {\n\t\treturn \"'\" + containerTitle + \"' is not a tiddler bundle\";\n\t}\n\t// Filter the list of plugins\n\tvar pluginList = [];\n\t$tw.utils.each(containerData.tiddlers,function(tiddler,title) {\n\t\tpluginList.push(title);\n\t});\n\tvar filteredPluginList;\n\tif(filter) {\n\t\tfilteredPluginList = self.commander.wiki.filterTiddlers(filter,null,self.commander.wiki.makeTiddlerIterator(pluginList));\n\t} else {\n\t\tfilteredPluginList = pluginList;\n\t}\n\t// Iterate through the plugins\n\tvar skinnyList = [];\n\t$tw.utils.each(filteredPluginList,function(title) {\n\t\tvar tiddler = containerData.tiddlers[title];\n\t\t// Save each JSON file and collect the skinny data\n\t\tvar pathname = path.resolve(self.commander.outputPath,basepath + encodeURIComponent(title) + \".json\");\n\t\t$tw.utils.createFileDirectories(pathname);\n\t\tfs.writeFileSync(pathname,JSON.stringify(tiddler,null,$tw.config.preferences.jsonSpaces),\"utf8\");\n\t\t// Collect the skinny list data\n\t\tvar pluginTiddlers = JSON.parse(tiddler.text),\n\t\t\treadmeContent = (pluginTiddlers.tiddlers[title + \"/readme\"] || {}).text,\n\t\t\ticonTiddler = pluginTiddlers.tiddlers[title + \"/icon\"] || {},\n\t\t\ticonType = iconTiddler.type,\n\t\t\ticonText = iconTiddler.text,\n\t\t\ticonContent;\n\t\tif(iconType && iconText) {\n\t\t\ticonContent = $tw.utils.makeDataUri(iconText,iconType);\n\t\t}\n\t\tskinnyList.push($tw.utils.extend({},tiddler,{text: undefined, readme: readmeContent, icon: iconContent}));\n\t});\n\t// Save the catalogue tiddler\n\tif(skinnyListTitle) {\n\t\tself.commander.wiki.setTiddlerData(skinnyListTitle,skinnyList);\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/savelibrarytiddlers.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/savetiddler.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/savetiddler.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save the content of a tiddler to a file\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"savetiddler\",\n\tsynchronous: false\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 2) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\ttitle = this.params[0],\n\t\tfilename = path.resolve(this.commander.outputPath,this.params[1]),\n\t\ttiddler = this.commander.wiki.getTiddler(title);\n\tif(tiddler) {\n\t\tvar type = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"};\n\t\t$tw.utils.createFileDirectories(filename);\n\t\tfs.writeFile(filename,tiddler.fields.text,contentTypeInfo.encoding,function(err) {\n\t\t\tself.callback(err);\n\t\t});\n\t} else {\n\t\treturn \"Missing tiddler: \" + title;\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/savetiddler.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/savetiddlers.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/savetiddlers.js\ntype: application/javascript\nmodule-type: command\n\nCommand to save several tiddlers to a folder of files\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"savetiddlers\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing filename\";\n\t}\n\tvar self = this,\n\t\tfs = require(\"fs\"),\n\t\tpath = require(\"path\"),\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tpathname = path.resolve(this.commander.outputPath,this.params[1]),\n\t\tdeleteDirectory = (this.params[2] || \"\").toLowerCase() !== \"noclean\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\tif(deleteDirectory) {\n\t\t$tw.utils.deleteDirectory(pathname);\n\t}\n\t$tw.utils.createDirectory(pathname);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.commander.wiki.getTiddler(title),\n\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\",\n\t\t\tcontentTypeInfo = $tw.config.contentTypeInfo[type] || {encoding: \"utf8\"},\n\t\t\tfilename = path.resolve(pathname,encodeURIComponent(title));\n\t\tfs.writeFileSync(filename,tiddler.fields.text,contentTypeInfo.encoding);\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/savetiddlers.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/server.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/server.js\ntype: application/javascript\nmodule-type: command\n\nServe tiddlers over http\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nif($tw.node) {\n\tvar util = require(\"util\"),\n\t\tfs = require(\"fs\"),\n\t\turl = require(\"url\"),\n\t\tpath = require(\"path\"),\n\t\thttp = require(\"http\");\n}\n\nexports.info = {\n\tname: \"server\",\n\tsynchronous: true\n};\n\n/*\nA simple HTTP server with regexp-based routes\n*/\nfunction SimpleServer(options) {\n\tthis.routes = options.routes || [];\n\tthis.wiki = options.wiki;\n\tthis.variables = options.variables || {};\n}\n\nSimpleServer.prototype.set = function(obj) {\n\tvar self = this;\n\t$tw.utils.each(obj,function(value,name) {\n\t\tself.variables[name] = value;\n\t});\n};\n\nSimpleServer.prototype.get = function(name) {\n\treturn this.variables[name];\n};\n\nSimpleServer.prototype.addRoute = function(route) {\n\tthis.routes.push(route);\n};\n\nSimpleServer.prototype.findMatchingRoute = function(request,state) {\n\tvar pathprefix = this.get(\"pathprefix\") || \"\";\n\tfor(var t=0; t<this.routes.length; t++) {\n\t\tvar potentialRoute = this.routes[t],\n\t\t\tpathRegExp = potentialRoute.path,\n\t\t\tpathname = state.urlInfo.pathname,\n\t\t\tmatch;\n\t\tif(pathprefix) {\n\t\t\tif(pathname.substr(0,pathprefix.length) === pathprefix) {\n\t\t\t\tpathname = pathname.substr(pathprefix.length);\n\t\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t\t} else {\n\t\t\t\tmatch = false;\n\t\t\t}\n\t\t} else {\n\t\t\tmatch = potentialRoute.path.exec(pathname);\n\t\t}\n\t\tif(match && request.method === potentialRoute.method) {\n\t\t\tstate.params = [];\n\t\t\tfor(var p=1; p<match.length; p++) {\n\t\t\t\tstate.params.push(match[p]);\n\t\t\t}\n\t\t\treturn potentialRoute;\n\t\t}\n\t}\n\treturn null;\n};\n\nSimpleServer.prototype.checkCredentials = function(request,incomingUsername,incomingPassword) {\n\tvar header = request.headers.authorization || \"\",\n\t\ttoken = header.split(/\\s+/).pop() || \"\",\n\t\tauth = $tw.utils.base64Decode(token),\n\t\tparts = auth.split(/:/),\n\t\tusername = parts[0],\n\t\tpassword = parts[1];\n\tif(incomingUsername === username && incomingPassword === password) {\n\t\treturn \"ALLOWED\";\n\t} else {\n\t\treturn \"DENIED\";\n\t}\n};\n\nSimpleServer.prototype.listen = function(port,host) {\n\tvar self = this;\n\thttp.createServer(function(request,response) {\n\t\t// Compose the state object\n\t\tvar state = {};\n\t\tstate.wiki = self.wiki;\n\t\tstate.server = self;\n\t\tstate.urlInfo = url.parse(request.url);\n\t\t// Find the route that matches this path\n\t\tvar route = self.findMatchingRoute(request,state);\n\t\t// Check for the username and password if we've got one\n\t\tvar username = self.get(\"username\"),\n\t\t\tpassword = self.get(\"password\");\n\t\tif(username && password) {\n\t\t\t// Check they match\n\t\t\tif(self.checkCredentials(request,username,password) !== \"ALLOWED\") {\n\t\t\t\tvar servername = state.wiki.getTiddlerText(\"$:/SiteTitle\") || \"TiddlyWiki5\";\n\t\t\t\tresponse.writeHead(401,\"Authentication required\",{\n\t\t\t\t\t\"WWW-Authenticate\": 'Basic realm=\"Please provide your username and password to login to ' + servername + '\"'\n\t\t\t\t});\n\t\t\t\tresponse.end();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t// Return a 404 if we didn't find a route\n\t\tif(!route) {\n\t\t\tresponse.writeHead(404);\n\t\t\tresponse.end();\n\t\t\treturn;\n\t\t}\n\t\t// Set the encoding for the incoming request\n\t\t// TODO: Presumably this would need tweaking if we supported PUTting binary tiddlers\n\t\trequest.setEncoding(\"utf8\");\n\t\t// Dispatch the appropriate method\n\t\tswitch(request.method) {\n\t\t\tcase \"GET\": // Intentional fall-through\n\t\t\tcase \"DELETE\":\n\t\t\t\troute.handler(request,response,state);\n\t\t\t\tbreak;\n\t\t\tcase \"PUT\":\n\t\t\t\tvar data = \"\";\n\t\t\t\trequest.on(\"data\",function(chunk) {\n\t\t\t\t\tdata += chunk.toString();\n\t\t\t\t});\n\t\t\t\trequest.on(\"end\",function() {\n\t\t\t\t\tstate.data = data;\n\t\t\t\t\troute.handler(request,response,state);\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t}\n\t}).listen(port,host);\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n\t// Set up server\n\tthis.server = new SimpleServer({\n\t\twiki: this.commander.wiki\n\t});\n\t// Add route handlers\n\tthis.server.addRoute({\n\t\tmethod: \"PUT\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]),\n\t\t\t\tfields = JSON.parse(state.data);\n\t\t\t// Pull up any subfields in the `fields` object\n\t\t\tif(fields.fields) {\n\t\t\t\t$tw.utils.each(fields.fields,function(field,name) {\n\t\t\t\t\tfields[name] = field;\n\t\t\t\t});\n\t\t\t\tdelete fields.fields;\n\t\t\t}\n\t\t\t// Remove any revision field\n\t\t\tif(fields.revision) {\n\t\t\t\tdelete fields.revision;\n\t\t\t}\n\t\t\tstate.wiki.addTiddler(new $tw.Tiddler(state.wiki.getCreationFields(),fields,{title: title},state.wiki.getModificationFields()));\n\t\t\tvar changeCount = state.wiki.getChangeCount(title).toString();\n\t\t\tresponse.writeHead(204, \"OK\",{\n\t\t\t\tEtag: \"\\\"default/\" + encodeURIComponent(title) + \"/\" + changeCount + \":\\\"\",\n\t\t\t\t\"Content-Type\": \"text/plain\"\n\t\t\t});\n\t\t\tresponse.end();\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"DELETE\",\n\t\tpath: /^\\/bags\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]);\n\t\t\tstate.wiki.deleteTiddler(title);\n\t\t\tresponse.writeHead(204, \"OK\", {\n\t\t\t\t\"Content-Type\": \"text/plain\"\n\t\t\t});\n\t\t\tresponse.end();\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": state.server.get(\"serveType\")});\n\t\t\tvar text = state.wiki.renderTiddler(state.server.get(\"renderType\"),state.server.get(\"rootTiddler\"));\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/status$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\tvar text = JSON.stringify({\n\t\t\t\tusername: state.server.get(\"username\"),\n\t\t\t\tspace: {\n\t\t\t\t\trecipe: \"default\"\n\t\t\t\t},\n\t\t\t\ttiddlywiki_version: $tw.version\n\t\t\t});\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/favicon.ico$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"image/x-icon\"});\n\t\t\tvar buffer = state.wiki.getTiddlerText(\"$:/favicon.ico\",\"\");\n\t\t\tresponse.end(buffer,\"base64\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers.json$/,\n\t\thandler: function(request,response,state) {\n\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\tvar tiddlers = [];\n\t\t\tstate.wiki.forEachTiddler({sortField: \"title\"},function(title,tiddler) {\n\t\t\t\tvar tiddlerFields = {};\n\t\t\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\t\t\tif(name !== \"text\") {\n\t\t\t\t\t\ttiddlerFields[name] = tiddler.getFieldString(name);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\ttiddlers.push(tiddlerFields);\n\t\t\t});\n\t\t\tvar text = JSON.stringify(tiddlers);\n\t\t\tresponse.end(text,\"utf8\");\n\t\t}\n\t});\n\tthis.server.addRoute({\n\t\tmethod: \"GET\",\n\t\tpath: /^\\/recipes\\/default\\/tiddlers\\/(.+)$/,\n\t\thandler: function(request,response,state) {\n\t\t\tvar title = decodeURIComponent(state.params[0]),\n\t\t\t\ttiddler = state.wiki.getTiddler(title),\n\t\t\t\ttiddlerFields = {},\n\t\t\t\tknownFields = [\n\t\t\t\t\t\"bag\", \"created\", \"creator\", \"modified\", \"modifier\", \"permissions\", \"recipe\", \"revision\", \"tags\", \"text\", \"title\", \"type\", \"uri\"\n\t\t\t\t];\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(tiddler.fields,function(field,name) {\n\t\t\t\t\tvar value = tiddler.getFieldString(name);\n\t\t\t\t\tif(knownFields.indexOf(name) !== -1) {\n\t\t\t\t\t\ttiddlerFields[name] = value;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttiddlerFields.fields = tiddlerFields.fields || {};\n\t\t\t\t\t\ttiddlerFields.fields[name] = value;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\ttiddlerFields.revision = state.wiki.getChangeCount(title);\n\t\t\t\ttiddlerFields.type = tiddlerFields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\tresponse.writeHead(200, {\"Content-Type\": \"application/json\"});\n\t\t\t\tresponse.end(JSON.stringify(tiddlerFields),\"utf8\");\n\t\t\t} else {\n\t\t\t\tresponse.writeHead(404);\n\t\t\t\tresponse.end();\n\t\t\t}\n\t\t}\n\t});\n};\n\nCommand.prototype.execute = function() {\n\tif(!$tw.boot.wikiTiddlersPath) {\n\t\t$tw.utils.warning(\"Warning: Wiki folder '\" + $tw.boot.wikiPath + \"' does not exist or is missing a tiddlywiki.info file\");\n\t}\n\tvar port = this.params[0] || \"8080\",\n\t\trootTiddler = this.params[1] || \"$:/core/save/all\",\n\t\trenderType = this.params[2] || \"text/plain\",\n\t\tserveType = this.params[3] || \"text/html\",\n\t\tusername = this.params[4],\n\t\tpassword = this.params[5],\n\t\thost = this.params[6] || \"127.0.0.1\",\n\t\tpathprefix = this.params[7];\n\tthis.server.set({\n\t\trootTiddler: rootTiddler,\n\t\trenderType: renderType,\n\t\tserveType: serveType,\n\t\tusername: username,\n\t\tpassword: password,\n\t\tpathprefix: pathprefix\n\t});\n\tthis.server.listen(port,host);\n\tconsole.log(\"Serving on \" + host + \":\" + port);\n\tconsole.log(\"(press ctrl-C to exit)\");\n\t// Warn if required plugins are missing\n\tif(!$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/tiddlyweb\") || !$tw.wiki.getTiddler(\"$:/plugins/tiddlywiki/filesystem\")) {\n\t\t$tw.utils.warning(\"Warning: Plugins required for client-server operation (\\\"tiddlywiki/filesystem\\\" and \\\"tiddlywiki/tiddlyweb\\\") are missing from tiddlywiki.info file\");\n\t}\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/server.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/setfield.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/setfield.js\ntype: application/javascript\nmodule-type: command\n\nCommand to modify selected tiddlers to set a field to the text of a template tiddler that has been wikified with the selected tiddler as the current tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.info = {\n\tname: \"setfield\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 4) {\n\t\treturn \"Missing parameters\";\n\t}\n\tvar self = this,\n\t\twiki = this.commander.wiki,\n\t\tfilter = this.params[0],\n\t\tfieldname = this.params[1] || \"text\",\n\t\ttemplatetitle = this.params[2],\n\t\trendertype = this.params[3] || \"text/plain\",\n\t\ttiddlers = wiki.filterTiddlers(filter);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar parser = wiki.parseTiddler(templatetitle),\n\t\t\tnewFields = {},\n\t\t\ttiddler = wiki.getTiddler(title);\n\t\tif(parser) {\n\t\t\tvar widgetNode = wiki.makeWidget(parser,{variables: {currentTiddler: title}});\n\t\t\tvar container = $tw.fakeDocument.createElement(\"div\");\n\t\t\twidgetNode.render(container,null);\n\t\t\tnewFields[fieldname] = rendertype === \"text/html\" ? container.innerHTML : container.textContent;\n\t\t} else {\n\t\t\tnewFields[fieldname] = undefined;\n\t\t}\n\t\twiki.addTiddler(new $tw.Tiddler(tiddler,newFields));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/setfield.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/unpackplugin.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/unpackplugin.js\ntype: application/javascript\nmodule-type: command\n\nCommand to extract the shadow tiddlers from within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"unpackplugin\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander,callback) {\n\tthis.params = params;\n\tthis.commander = commander;\n\tthis.callback = callback;\n};\n\nCommand.prototype.execute = function() {\n\tif(this.params.length < 1) {\n\t\treturn \"Missing plugin name\";\n\t}\n\tvar self = this,\n\t\ttitle = this.params[0],\n\t\tpluginData = this.commander.wiki.getTiddlerDataCached(title);\n\tif(!pluginData) {\n\t\treturn \"Plugin '\" + title + \"' not found\";\n\t}\n\t$tw.utils.each(pluginData.tiddlers,function(tiddler) {\n\t\tself.commander.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t});\n\treturn null;\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/unpackplugin.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/verbose.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/verbose.js\ntype: application/javascript\nmodule-type: command\n\nVerbose command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"verbose\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.verbose = true;\n\t// Output the boot message log\n\tthis.commander.streams.output.write(\"Boot log:\\n  \" + $tw.boot.logMessages.join(\"\\n  \") + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/verbose.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/commands/version.js": {
            "text": "/*\\\ntitle: $:/core/modules/commands/version.js\ntype: application/javascript\nmodule-type: command\n\nVersion command\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.info = {\n\tname: \"version\",\n\tsynchronous: true\n};\n\nvar Command = function(params,commander) {\n\tthis.params = params;\n\tthis.commander = commander;\n};\n\nCommand.prototype.execute = function() {\n\tthis.commander.streams.output.write($tw.version + \"\\n\");\n\treturn null; // No error\n};\n\nexports.Command = Command;\n\n})();\n",
            "title": "$:/core/modules/commands/version.js",
            "type": "application/javascript",
            "module-type": "command"
        },
        "$:/core/modules/config.js": {
            "text": "/*\\\ntitle: $:/core/modules/config.js\ntype: application/javascript\nmodule-type: config\n\nCore configuration constants\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.preferences = {};\n\nexports.preferences.notificationDuration = 3 * 1000;\nexports.preferences.jsonSpaces = 4;\n\nexports.textPrimitives = {\n\tupperLetter: \"[A-Z\\u00c0-\\u00d6\\u00d8-\\u00de\\u0150\\u0170]\",\n\tlowerLetter: \"[a-z\\u00df-\\u00f6\\u00f8-\\u00ff\\u0151\\u0171]\",\n\tanyLetter:   \"[A-Za-z0-9\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\",\n\tblockPrefixLetters:\t\"[A-Za-z0-9-_\\u00c0-\\u00d6\\u00d8-\\u00de\\u00df-\\u00f6\\u00f8-\\u00ff\\u0150\\u0170\\u0151\\u0171]\"\n};\n\nexports.textPrimitives.unWikiLink = \"~\";\nexports.textPrimitives.wikiLink = exports.textPrimitives.upperLetter + \"+\" +\n\texports.textPrimitives.lowerLetter + \"+\" +\n\texports.textPrimitives.upperLetter +\n\texports.textPrimitives.anyLetter + \"*\";\n\nexports.htmlEntities = {quot:34, amp:38, apos:39, lt:60, gt:62, nbsp:160, iexcl:161, cent:162, pound:163, curren:164, yen:165, brvbar:166, sect:167, uml:168, copy:169, ordf:170, laquo:171, not:172, shy:173, reg:174, macr:175, deg:176, plusmn:177, sup2:178, sup3:179, acute:180, micro:181, para:182, middot:183, cedil:184, sup1:185, ordm:186, raquo:187, frac14:188, frac12:189, frac34:190, iquest:191, Agrave:192, Aacute:193, Acirc:194, Atilde:195, Auml:196, Aring:197, AElig:198, Ccedil:199, Egrave:200, Eacute:201, Ecirc:202, Euml:203, Igrave:204, Iacute:205, Icirc:206, Iuml:207, ETH:208, Ntilde:209, Ograve:210, Oacute:211, Ocirc:212, Otilde:213, Ouml:214, times:215, Oslash:216, Ugrave:217, Uacute:218, Ucirc:219, Uuml:220, Yacute:221, THORN:222, szlig:223, agrave:224, aacute:225, acirc:226, atilde:227, auml:228, aring:229, aelig:230, ccedil:231, egrave:232, eacute:233, ecirc:234, euml:235, igrave:236, iacute:237, icirc:238, iuml:239, eth:240, ntilde:241, ograve:242, oacute:243, ocirc:244, otilde:245, ouml:246, divide:247, oslash:248, ugrave:249, uacute:250, ucirc:251, uuml:252, yacute:253, thorn:254, yuml:255, OElig:338, oelig:339, Scaron:352, scaron:353, Yuml:376, fnof:402, circ:710, tilde:732, Alpha:913, Beta:914, Gamma:915, Delta:916, Epsilon:917, Zeta:918, Eta:919, Theta:920, Iota:921, Kappa:922, Lambda:923, Mu:924, Nu:925, Xi:926, Omicron:927, Pi:928, Rho:929, Sigma:931, Tau:932, Upsilon:933, Phi:934, Chi:935, Psi:936, Omega:937, alpha:945, beta:946, gamma:947, delta:948, epsilon:949, zeta:950, eta:951, theta:952, iota:953, kappa:954, lambda:955, mu:956, nu:957, xi:958, omicron:959, pi:960, rho:961, sigmaf:962, sigma:963, tau:964, upsilon:965, phi:966, chi:967, psi:968, omega:969, thetasym:977, upsih:978, piv:982, ensp:8194, emsp:8195, thinsp:8201, zwnj:8204, zwj:8205, lrm:8206, rlm:8207, ndash:8211, mdash:8212, lsquo:8216, rsquo:8217, sbquo:8218, ldquo:8220, rdquo:8221, bdquo:8222, dagger:8224, Dagger:8225, bull:8226, hellip:8230, permil:8240, prime:8242, Prime:8243, lsaquo:8249, rsaquo:8250, oline:8254, frasl:8260, euro:8364, image:8465, weierp:8472, real:8476, trade:8482, alefsym:8501, larr:8592, uarr:8593, rarr:8594, darr:8595, harr:8596, crarr:8629, lArr:8656, uArr:8657, rArr:8658, dArr:8659, hArr:8660, forall:8704, part:8706, exist:8707, empty:8709, nabla:8711, isin:8712, notin:8713, ni:8715, prod:8719, sum:8721, minus:8722, lowast:8727, radic:8730, prop:8733, infin:8734, ang:8736, and:8743, or:8744, cap:8745, cup:8746, int:8747, there4:8756, sim:8764, cong:8773, asymp:8776, ne:8800, equiv:8801, le:8804, ge:8805, sub:8834, sup:8835, nsub:8836, sube:8838, supe:8839, oplus:8853, otimes:8855, perp:8869, sdot:8901, lceil:8968, rceil:8969, lfloor:8970, rfloor:8971, lang:9001, rang:9002, loz:9674, spades:9824, clubs:9827, hearts:9829, diams:9830 };\n\nexports.htmlVoidElements = \"area,base,br,col,command,embed,hr,img,input,keygen,link,meta,param,source,track,wbr\".split(\",\");\n\nexports.htmlBlockElements = \"address,article,aside,audio,blockquote,canvas,dd,div,dl,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,hr,li,noscript,ol,output,p,pre,section,table,tfoot,ul,video\".split(\",\");\n\nexports.htmlUnsafeElements = \"script\".split(\",\");\n\n})();\n",
            "title": "$:/core/modules/config.js",
            "type": "application/javascript",
            "module-type": "config"
        },
        "$:/core/modules/deserializers.js": {
            "text": "/*\\\ntitle: $:/core/modules/deserializers.js\ntype: application/javascript\nmodule-type: tiddlerdeserializer\n\nFunctions to deserialise tiddlers from a block of text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nUtility function to parse an old-style tiddler DIV in a *.tid file. It looks like this:\n\n<div title=\"Title\" creator=\"JoeBloggs\" modifier=\"JoeBloggs\" created=\"201102111106\" modified=\"201102111310\" tags=\"myTag [[my long tag]]\">\n<pre>The text of the tiddler (without the expected HTML encoding).\n</pre>\n</div>\n\nNote that the field attributes are HTML encoded, but that the body of the <PRE> tag is not encoded.\n\nWhen these tiddler DIVs are encountered within a TiddlyWiki HTML file then the body is encoded in the usual way.\n*/\nvar parseTiddlerDiv = function(text /* [,fields] */) {\n\t// Slot together the default results\n\tvar result = {};\n\tif(arguments.length > 1) {\n\t\tfor(var f=1; f<arguments.length; f++) {\n\t\t\tvar fields = arguments[f];\n\t\t\tfor(var t in fields) {\n\t\t\t\tresult[t] = fields[t];\t\t\n\t\t\t}\n\t\t}\n\t}\n\t// Parse the DIV body\n\tvar startRegExp = /^\\s*<div\\s+([^>]*)>(\\s*<pre>)?/gi,\n\t\tendRegExp,\n\t\tmatch = startRegExp.exec(text);\n\tif(match) {\n\t\t// Old-style DIVs don't have the <pre> tag\n\t\tif(match[2]) {\n\t\t\tendRegExp = /<\\/pre>\\s*<\\/div>\\s*$/gi;\n\t\t} else {\n\t\t\tendRegExp = /<\\/div>\\s*$/gi;\n\t\t}\n\t\tvar endMatch = endRegExp.exec(text);\n\t\tif(endMatch) {\n\t\t\t// Extract the text\n\t\t\tresult.text = text.substring(match.index + match[0].length,endMatch.index);\n\t\t\t// Process the attributes\n\t\t\tvar attrRegExp = /\\s*([^=\\s]+)\\s*=\\s*(?:\"([^\"]*)\"|'([^']*)')/gi,\n\t\t\t\tattrMatch;\n\t\t\tdo {\n\t\t\t\tattrMatch = attrRegExp.exec(match[1]);\n\t\t\t\tif(attrMatch) {\n\t\t\t\t\tvar name = attrMatch[1];\n\t\t\t\t\tvar value = attrMatch[2] !== undefined ? attrMatch[2] : attrMatch[3];\n\t\t\t\t\tresult[name] = value;\n\t\t\t\t}\n\t\t\t} while(attrMatch);\n\t\t\treturn result;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports[\"application/x-tiddler-html-div\"] = function(text,fields) {\n\treturn [parseTiddlerDiv(text,fields)];\n};\n\nexports[\"application/json\"] = function(text,fields) {\n\tvar incoming = JSON.parse(text),\n\t\tresults = [];\n\tif($tw.utils.isArray(incoming)) {\n\t\tfor(var t=0; t<incoming.length; t++) {\n\t\t\tvar incomingFields = incoming[t],\n\t\t\t\tfields = {};\n\t\t\tfor(var f in incomingFields) {\n\t\t\t\tif(typeof incomingFields[f] === \"string\") {\n\t\t\t\t\tfields[f] = incomingFields[f];\n\t\t\t\t}\n\t\t\t}\n\t\t\tresults.push(fields);\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nParse an HTML file into tiddlers. There are three possibilities:\n# A TiddlyWiki classic HTML file containing `text/x-tiddlywiki` tiddlers\n# A TiddlyWiki5 HTML file containing `text/vnd.tiddlywiki` tiddlers\n# An ordinary HTML file\n*/\nexports[\"text/html\"] = function(text,fields) {\n\t// Check if we've got a store area\n\tvar storeAreaMarkerRegExp = /<div id=[\"']?storeArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\tmatch = storeAreaMarkerRegExp.exec(text);\n\tif(match) {\n\t\t// If so, it's either a classic TiddlyWiki file or an unencrypted TW5 file\n\t\t// First read the normal tiddlers\n\t\tvar results = deserializeTiddlyWikiFile(text,storeAreaMarkerRegExp.lastIndex,!!match[1],fields);\n\t\t// Then any system tiddlers\n\t\tvar systemAreaMarkerRegExp = /<div id=[\"']?systemArea['\"]?( style=[\"']?display:none;[\"']?)?>/gi,\n\t\t\tsysMatch = systemAreaMarkerRegExp.exec(text);\n\t\tif(sysMatch) {\n\t\t\tresults.push.apply(results,deserializeTiddlyWikiFile(text,systemAreaMarkerRegExp.lastIndex,!!sysMatch[1],fields));\n\t\t}\n\t\treturn results;\n\t} else {\n\t\t// Check whether we've got an encrypted file\n\t\tvar encryptedStoreArea = $tw.utils.extractEncryptedStoreArea(text);\n\t\tif(encryptedStoreArea) {\n\t\t\t// If so, attempt to decrypt it using the current password\n\t\t\treturn $tw.utils.decryptStoreArea(encryptedStoreArea);\n\t\t} else {\n\t\t\t// It's not a TiddlyWiki so we'll return the entire HTML file as a tiddler\n\t\t\treturn deserializeHtmlFile(text,fields);\n\t\t}\n\t}\n};\n\nfunction deserializeHtmlFile(text,fields) {\n\tvar result = {};\n\t$tw.utils.each(fields,function(value,name) {\n\t\tresult[name] = value;\n\t});\n\tresult.text = text;\n\tresult.type = \"text/html\";\n\treturn [result];\n}\n\nfunction deserializeTiddlyWikiFile(text,storeAreaEnd,isTiddlyWiki5,fields) {\n\tvar results = [],\n\t\tendOfDivRegExp = /(<\\/div>\\s*)/gi,\n\t\tstartPos = storeAreaEnd,\n\t\tdefaultType = isTiddlyWiki5 ? undefined : \"text/x-tiddlywiki\";\n\tendOfDivRegExp.lastIndex = startPos;\n\tvar match = endOfDivRegExp.exec(text);\n\twhile(match) {\n\t\tvar endPos = endOfDivRegExp.lastIndex,\n\t\t\ttiddlerFields = parseTiddlerDiv(text.substring(startPos,endPos),fields,{type: defaultType});\n\t\tif(!tiddlerFields) {\n\t\t\tbreak;\n\t\t}\n\t\t$tw.utils.each(tiddlerFields,function(value,name) {\n\t\t\tif(typeof value === \"string\") {\n\t\t\t\ttiddlerFields[name] = $tw.utils.htmlDecode(value);\n\t\t\t}\n\t\t});\n\t\tif(tiddlerFields.text !== null) {\n\t\t\tresults.push(tiddlerFields);\n\t\t}\n\t\tstartPos = endPos;\n\t\tmatch = endOfDivRegExp.exec(text);\n\t}\n\treturn results;\n}\n\n})();\n",
            "title": "$:/core/modules/deserializers.js",
            "type": "application/javascript",
            "module-type": "tiddlerdeserializer"
        },
        "$:/core/modules/editor/engines/framed.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor/engines/framed.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea within an iframe. This is done so that the selection is preserved even when clicking away from the textarea\n\n\\*/\n(function(){\n\n/*jslint node: true,browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction FramedEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Create our hidden dummy text area for reading styles\n\tthis.dummyTextArea = this.widget.document.createElement(\"textarea\");\n\tif(this.widget.editClass) {\n\t\tthis.dummyTextArea.className = this.widget.editClass;\n\t}\n\tthis.dummyTextArea.setAttribute(\"hidden\",\"true\");\n\tthis.parentNode.insertBefore(this.dummyTextArea,this.nextSibling);\n\tthis.widget.domNodes.push(this.dummyTextArea);\n\t// Create the iframe\n\tthis.iframeNode = this.widget.document.createElement(\"iframe\");\n\tthis.parentNode.insertBefore(this.iframeNode,this.nextSibling);\n\tthis.iframeDoc = this.iframeNode.contentWindow.document;\n\t// (Firefox requires us to put some empty content in the iframe)\n\tthis.iframeDoc.open();\n\tthis.iframeDoc.write(\"\");\n\tthis.iframeDoc.close();\n\t// Style the iframe\n\tthis.iframeNode.className = this.dummyTextArea.className;\n\tthis.iframeNode.style.border = \"none\";\n\tthis.iframeNode.style.padding = \"0\";\n\tthis.iframeNode.style.resize = \"none\";\n\tthis.iframeDoc.body.style.margin = \"0\";\n\tthis.iframeDoc.body.style.padding = \"0\";\n\tthis.widget.domNodes.push(this.iframeNode);\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.iframeDoc.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.iframeDoc.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\t// Copy the styles from the dummy textarea\n\tthis.copyStyles();\n\t// Add event listeners\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"input\",handlerObject: this,handlerMethod: \"handleInputEvent\"},\n\t\t{name: \"keydown\",handlerObject: this.widget,handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.iframeDoc.body.appendChild(this.domNode);\n}\n\n/*\nCopy styles from the dummy text area to the textarea in the iframe\n*/\nFramedEngine.prototype.copyStyles = function() {\n\t// Copy all styles\n\t$tw.utils.copyStyles(this.dummyTextArea,this.domNode);\n\t// Override the ones that should not be set the same as the dummy textarea\n\tthis.domNode.style.display = \"block\";\n\tthis.domNode.style.width = \"100%\";\n\tthis.domNode.style.margin = \"0\";\n\t// In Chrome setting -webkit-text-fill-color overrides the placeholder text colour\n\tthis.domNode.style[\"-webkit-text-fill-color\"] = \"currentcolor\";\n};\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nFramedEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nFramedEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nFramedEngine.prototype.fixHeight = function() {\n\t// Make sure styles are updated\n\tthis.copyStyles();\n\t// Adjust height\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\tvar newHeight = $tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t\tthis.iframeNode.style.height = (newHeight + 14) + \"px\"; // +14 for the border on the textarea\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t\tthis.iframeNode.style.height = (fixedHeight + 14) + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nFramedEngine.prototype.focus  = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nFramedEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nFramedEngine.prototype.createTextOperation = function() {\n\tvar operation = {\n\t\ttext: this.domNode.value,\n\t\tselStart: this.domNode.selectionStart,\n\t\tselEnd: this.domNode.selectionEnd,\n\t\tcutStart: null,\n\t\tcutEnd: null,\n\t\treplacement: null,\n\t\tnewSelStart: null,\n\t\tnewSelEnd: null\n\t};\n\toperation.selection = operation.text.substring(operation.selStart,operation.selEnd);\n\treturn operation;\n};\n\n/*\nExecute a text operation\n*/\nFramedEngine.prototype.executeTextOperation = function(operation) {\n\t// Perform the required changes to the text area and the underlying tiddler\n\tvar newText = operation.text;\n\tif(operation.replacement !== null) {\n\t\tnewText = operation.text.substring(0,operation.cutStart) + operation.replacement + operation.text.substring(operation.cutEnd);\n\t\t// Attempt to use a execCommand to modify the value of the control\n\t\tif(this.iframeDoc.queryCommandSupported(\"insertText\") && this.iframeDoc.queryCommandSupported(\"delete\") && !$tw.browser.isFirefox) {\n\t\t\tthis.domNode.focus();\n\t\t\tthis.domNode.setSelectionRange(operation.cutStart,operation.cutEnd);\n\t\t\tif(operation.replacement === \"\") {\n\t\t\t\tthis.iframeDoc.execCommand(\"delete\",false,\"\");\n\t\t\t} else {\n\t\t\t\tthis.iframeDoc.execCommand(\"insertText\",false,operation.replacement);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.domNode.value = newText;\n\t\t}\n\t\tthis.domNode.focus();\n\t\tthis.domNode.setSelectionRange(operation.newSelStart,operation.newSelEnd);\n\t}\n\tthis.domNode.focus();\n\treturn newText;\n};\n\nexports.FramedEngine = FramedEngine;\n\n})();\n",
            "title": "$:/core/modules/editor/engines/framed.js",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/core/modules/editor/engines/simple.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor/engines/simple.js\ntype: application/javascript\nmodule-type: library\n\nText editor engine based on a simple input or textarea tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HEIGHT_VALUE_TITLE = \"$:/config/TextEditor/EditorHeight/Height\";\n\nfunction SimpleEngine(options) {\n\t// Save our options\n\toptions = options || {};\n\tthis.widget = options.widget;\n\tthis.value = options.value;\n\tthis.parentNode = options.parentNode;\n\tthis.nextSibling = options.nextSibling;\n\t// Construct the textarea or input node\n\tvar tag = this.widget.editTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"input\";\n\t}\n\tthis.domNode = this.widget.document.createElement(tag);\n\t// Set the text\n\tif(this.widget.editTag === \"textarea\") {\n\t\tthis.domNode.appendChild(this.widget.document.createTextNode(this.value));\n\t} else {\n\t\tthis.domNode.value = this.value;\n\t}\n\t// Set the attributes\n\tif(this.widget.editType) {\n\t\tthis.domNode.setAttribute(\"type\",this.widget.editType);\n\t}\n\tif(this.widget.editPlaceholder) {\n\t\tthis.domNode.setAttribute(\"placeholder\",this.widget.editPlaceholder);\n\t}\n\tif(this.widget.editSize) {\n\t\tthis.domNode.setAttribute(\"size\",this.widget.editSize);\n\t}\n\tif(this.widget.editRows) {\n\t\tthis.domNode.setAttribute(\"rows\",this.widget.editRows);\n\t}\n\tif(this.widget.editClass) {\n\t\tthis.domNode.className = this.widget.editClass;\n\t}\n\t// Add an input event handler\n\t$tw.utils.addEventListeners(this.domNode,[\n\t\t{name: \"focus\", handlerObject: this, handlerMethod: \"handleFocusEvent\"},\n\t\t{name: \"input\", handlerObject: this, handlerMethod: \"handleInputEvent\"}\n\t]);\n\t// Insert the element into the DOM\n\tthis.parentNode.insertBefore(this.domNode,this.nextSibling);\n\tthis.widget.domNodes.push(this.domNode);\n}\n\n/*\nSet the text of the engine if it doesn't currently have focus\n*/\nSimpleEngine.prototype.setText = function(text,type) {\n\tif(!this.domNode.isTiddlyWikiFakeDom) {\n\t\tif(this.domNode.ownerDocument.activeElement !== this.domNode) {\n\t\t\tthis.domNode.value = text;\n\t\t}\n\t\t// Fix the height if needed\n\t\tthis.fixHeight();\n\t}\n};\n\n/*\nGet the text of the engine\n*/\nSimpleEngine.prototype.getText = function() {\n\treturn this.domNode.value;\n};\n\n/*\nFix the height of textarea to fit content\n*/\nSimpleEngine.prototype.fixHeight = function() {\n\tif(this.widget.editTag === \"textarea\") {\n\t\tif(this.widget.editAutoHeight) {\n\t\t\tif(this.domNode && !this.domNode.isTiddlyWikiFakeDom) {\n\t\t\t\t$tw.utils.resizeTextAreaToFit(this.domNode,this.widget.editMinHeight);\n\t\t\t}\n\t\t} else {\n\t\t\tvar fixedHeight = parseInt(this.widget.wiki.getTiddlerText(HEIGHT_VALUE_TITLE,\"400px\"),10);\n\t\t\tfixedHeight = Math.max(fixedHeight,20);\n\t\t\tthis.domNode.style.height = fixedHeight + \"px\";\n\t\t}\n\t}\n};\n\n/*\nFocus the engine node\n*/\nSimpleEngine.prototype.focus  = function() {\n\tif(this.domNode.focus && this.domNode.select) {\n\t\tthis.domNode.focus();\n\t\tthis.domNode.select();\n\t}\n};\n\n/*\nHandle a dom \"input\" event which occurs when the text has changed\n*/\nSimpleEngine.prototype.handleInputEvent = function(event) {\n\tthis.widget.saveChanges(this.getText());\n\tthis.fixHeight();\n\treturn true;\n};\n\n/*\nHandle a dom \"focus\" event\n*/\nSimpleEngine.prototype.handleFocusEvent = function(event) {\n\tif(this.widget.editFocusPopup) {\n\t\t$tw.popup.triggerPopup({\n\t\t\tdomNode: this.domNode,\n\t\t\ttitle: this.widget.editFocusPopup,\n\t\t\twiki: this.widget.wiki,\n\t\t\tforce: true\n\t\t});\n\t}\n\treturn true;\n};\n\n/*\nCreate a blank structure representing a text operation\n*/\nSimpleEngine.prototype.createTextOperation = function() {\n\treturn null;\n};\n\n/*\nExecute a text operation\n*/\nSimpleEngine.prototype.executeTextOperation = function(operation) {\n};\n\nexports.SimpleEngine = SimpleEngine;\n\n})();\n",
            "title": "$:/core/modules/editor/engines/simple.js",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/core/modules/editor/factory.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor/factory.js\ntype: application/javascript\nmodule-type: library\n\nFactory for constructing text editor widgets with specified engines for the toolbar and non-toolbar cases\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DEFAULT_MIN_TEXT_AREA_HEIGHT = \"100px\"; // Minimum height of textareas in pixels\n\n// Configuration tiddlers\nvar HEIGHT_MODE_TITLE = \"$:/config/TextEditor/EditorHeight/Mode\";\nvar ENABLE_TOOLBAR_TITLE = \"$:/config/TextEditor/EnableToolbar\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nfunction editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {\n\n\tvar EditTextWidget = function(parseTreeNode,options) {\n\t\t// Initialise the editor operations if they've not been done already\n\t\tif(!this.editorOperations) {\n\t\t\tEditTextWidget.prototype.editorOperations = {};\n\t\t\t$tw.modules.applyMethods(\"texteditoroperation\",this.editorOperations);\n\t\t}\n\t\tthis.initialise(parseTreeNode,options);\n\t};\n\n\t/*\n\tInherit from the base widget class\n\t*/\n\tEditTextWidget.prototype = new Widget();\n\n\t/*\n\tRender this widget into the DOM\n\t*/\n\tEditTextWidget.prototype.render = function(parent,nextSibling) {\n\t\t// Save the parent dom node\n\t\tthis.parentDomNode = parent;\n\t\t// Compute our attributes\n\t\tthis.computeAttributes();\n\t\t// Execute our logic\n\t\tthis.execute();\n\t\t// Create the wrapper for the toolbar and render its content\n\t\tif(this.editShowToolbar) {\n\t\t\tthis.toolbarNode = this.document.createElement(\"div\");\n\t\t\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\t\t\tparent.insertBefore(this.toolbarNode,nextSibling);\n\t\t\tthis.renderChildren(this.toolbarNode,null);\n\t\t\tthis.domNodes.push(this.toolbarNode);\n\t\t}\n\t\t// Create our element\n\t\tvar editInfo = this.getEditInfo(),\n\t\t\tEngine = this.editShowToolbar ? toolbarEngine : nonToolbarEngine;\n\t\tthis.engine = new Engine({\n\t\t\t\twidget: this,\n\t\t\t\tvalue: editInfo.value,\n\t\t\t\ttype: editInfo.type,\n\t\t\t\tparentNode: parent,\n\t\t\t\tnextSibling: nextSibling\n\t\t\t});\n\t\t// Call the postRender hook\n\t\tif(this.postRender) {\n\t\t\tthis.postRender();\n\t\t}\n\t\t// Fix height\n\t\tthis.engine.fixHeight();\n\t\t// Focus if required\n\t\tif(this.editFocus === \"true\" || this.editFocus === \"yes\") {\n\t\t\tthis.engine.focus();\n\t\t}\n\t\t// Add widget message listeners\n\t\tthis.addEventListeners([\n\t\t\t{type: \"tm-edit-text-operation\", handler: \"handleEditTextOperationMessage\"}\n\t\t]);\n\t};\n\n\t/*\n\tGet the tiddler being edited and current value\n\t*/\n\tEditTextWidget.prototype.getEditInfo = function() {\n\t\t// Get the edit value\n\t\tvar self = this,\n\t\t\tvalue,\n\t\t\ttype = \"text/plain\",\n\t\t\tupdate;\n\t\tif(this.editIndex) {\n\t\t\tvalue = this.wiki.extractTiddlerDataItem(this.editTitle,this.editIndex,this.editDefault);\n\t\t\tupdate = function(value) {\n\t\t\t\tvar data = self.wiki.getTiddlerData(self.editTitle,{});\n\t\t\t\tif(data[self.editIndex] !== value) {\n\t\t\t\t\tdata[self.editIndex] = value;\n\t\t\t\t\tself.wiki.setTiddlerData(self.editTitle,data);\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\t// Get the current tiddler and the field name\n\t\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\t\tif(tiddler) {\n\t\t\t\t// If we've got a tiddler, the value to display is the field string value\n\t\t\t\tvalue = tiddler.getFieldString(this.editField);\n\t\t\t\tif(this.editField === \"text\") {\n\t\t\t\t\ttype = tiddler.fields.type || \"text/vnd.tiddlywiki\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise, we need to construct a default value for the editor\n\t\t\t\tswitch(this.editField) {\n\t\t\t\t\tcase \"text\":\n\t\t\t\t\t\tvalue = \"Type the text for the tiddler '\" + this.editTitle + \"'\";\n\t\t\t\t\t\ttype = \"text/vnd.tiddlywiki\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"title\":\n\t\t\t\t\t\tvalue = this.editTitle;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvalue = \"\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(this.editDefault !== undefined) {\n\t\t\t\t\tvalue = this.editDefault;\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdate = function(value) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(self.editTitle),\n\t\t\t\t\tupdateFields = {\n\t\t\t\t\t\ttitle: self.editTitle\n\t\t\t\t\t};\n\t\t\t\tupdateFields[self.editField] = value;\n\t\t\t\tself.wiki.addTiddler(new $tw.Tiddler(self.wiki.getCreationFields(),tiddler,updateFields,self.wiki.getModificationFields()));\n\t\t\t};\n\t\t}\n\t\tif(this.editType) {\n\t\t\ttype = this.editType;\n\t\t}\n\t\treturn {value: value || \"\", type: type, update: update};\n\t};\n\n\t/*\n\tHandle an edit text operation message from the toolbar\n\t*/\n\tEditTextWidget.prototype.handleEditTextOperationMessage = function(event) {\n\t\t// Prepare information about the operation\n\t\tvar operation = this.engine.createTextOperation();\n\t\t// Invoke the handler for the selected operation\n\t\tvar handler = this.editorOperations[event.param];\n\t\tif(handler) {\n\t\t\thandler.call(this,event,operation);\n\t\t}\n\t\t// Execute the operation via the engine\n\t\tvar newText = this.engine.executeTextOperation(operation);\n\t\t// Fix the tiddler height and save changes\n\t\tthis.engine.fixHeight();\n\t\tthis.saveChanges(newText);\n\t};\n\n\t/*\n\tCompute the internal state of the widget\n\t*/\n\tEditTextWidget.prototype.execute = function() {\n\t\t// Get our parameters\n\t\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t\tthis.editField = this.getAttribute(\"field\",\"text\");\n\t\tthis.editIndex = this.getAttribute(\"index\");\n\t\tthis.editDefault = this.getAttribute(\"default\");\n\t\tthis.editClass = this.getAttribute(\"class\");\n\t\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t\tthis.editSize = this.getAttribute(\"size\");\n\t\tthis.editRows = this.getAttribute(\"rows\");\n\t\tthis.editAutoHeight = this.wiki.getTiddlerText(HEIGHT_MODE_TITLE,\"auto\");\n\t\tthis.editAutoHeight = this.getAttribute(\"autoHeight\",this.editAutoHeight === \"auto\" ? \"yes\" : \"no\") === \"yes\";\n\t\tthis.editMinHeight = this.getAttribute(\"minHeight\",DEFAULT_MIN_TEXT_AREA_HEIGHT);\n\t\tthis.editFocusPopup = this.getAttribute(\"focusPopup\");\n\t\tthis.editFocus = this.getAttribute(\"focus\");\n\t\t// Get the default editor element tag and type\n\t\tvar tag,type;\n\t\tif(this.editField === \"text\") {\n\t\t\ttag = \"textarea\";\n\t\t} else {\n\t\t\ttag = \"input\";\n\t\t\tvar fieldModule = $tw.Tiddler.fieldModules[this.editField];\n\t\t\tif(fieldModule && fieldModule.editTag) {\n\t\t\t\ttag = fieldModule.editTag;\n\t\t\t}\n\t\t\tif(fieldModule && fieldModule.editType) {\n\t\t\t\ttype = fieldModule.editType;\n\t\t\t}\n\t\t\ttype = type || \"text\";\n\t\t}\n\t\t// Get the rest of our parameters\n\t\tthis.editTag = this.getAttribute(\"tag\",tag);\n\t\tthis.editType = this.getAttribute(\"type\",type);\n\t\t// Make the child widgets\n\t\tthis.makeChildWidgets();\n\t\t// Determine whether to show the toolbar\n\t\tthis.editShowToolbar = this.wiki.getTiddlerText(ENABLE_TOOLBAR_TITLE,\"yes\");\n\t\tthis.editShowToolbar = (this.editShowToolbar === \"yes\") && !!(this.children && this.children.length > 0);\n\t};\n\n\t/*\n\tSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n\t*/\n\tEditTextWidget.prototype.refresh = function(changedTiddlers) {\n\t\tvar changedAttributes = this.computeAttributes();\n\t\t// Completely rerender if any of our attributes have changed\n\t\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup ||  changedAttributes.rows || changedTiddlers[HEIGHT_MODE_TITLE] || changedTiddlers[ENABLE_TOOLBAR_TITLE]) {\n\t\t\tthis.refreshSelf();\n\t\t\treturn true;\n\t\t} else if(changedTiddlers[this.editTitle]) {\n\t\t\tvar editInfo = this.getEditInfo();\n\t\t\tthis.updateEditor(editInfo.value,editInfo.type);\n\t\t}\n\t\tthis.engine.fixHeight();\n\t\tif(this.editShowToolbar) {\n\t\t\treturn this.refreshChildren(changedTiddlers);\t\t\t\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/*\n\tUpdate the editor with new text. This method is separate from updateEditorDomNode()\n\tso that subclasses can override updateEditor() and still use updateEditorDomNode()\n\t*/\n\tEditTextWidget.prototype.updateEditor = function(text,type) {\n\t\tthis.updateEditorDomNode(text,type);\n\t};\n\n\t/*\n\tUpdate the editor dom node with new text\n\t*/\n\tEditTextWidget.prototype.updateEditorDomNode = function(text,type) {\n\t\tthis.engine.setText(text,type);\n\t};\n\n\t/*\n\tSave changes back to the tiddler store\n\t*/\n\tEditTextWidget.prototype.saveChanges = function(text) {\n\t\tvar editInfo = this.getEditInfo();\n\t\tif(text !== editInfo.value) {\n\t\t\teditInfo.update(text);\n\t\t}\n\t};\n\n\t/*\n\tHandle a dom \"keydown\" event, which we'll bubble up to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.handleKeydownEvent = function(event) {\n\t\t// Check for a keyboard shortcut\n\t\tif(this.toolbarNode) {\n\t\t\tvar shortcutElements = this.toolbarNode.querySelectorAll(\"[data-tw-keyboard-shortcut]\");\n\t\t\tfor(var index=0; index<shortcutElements.length; index++) {\n\t\t\t\tvar el = shortcutElements[index],\n\t\t\t\t\tshortcutData = el.getAttribute(\"data-tw-keyboard-shortcut\"),\n\t\t\t\t\tkeyInfoArray = $tw.keyboardManager.parseKeyDescriptors(shortcutData,{\n\t\t\t\t\t\twiki: this.wiki\n\t\t\t\t\t});\n\t\t\t\tif($tw.keyboardManager.checkKeyDescriptors(event,keyInfoArray)) {\n\t\t\t\t\tvar clickEvent = this.document.createEvent(\"Events\");\n\t\t\t\t    clickEvent.initEvent(\"click\",true,false);\n\t\t\t\t    el.dispatchEvent(clickEvent);\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn true;\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Propogate the event to the container\n\t\tif(this.propogateKeydownEvent(event)) {\n\t\t\t// Ignore the keydown if it was already handled\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise, process the keydown normally\n\t\treturn false;\n\t};\n\n\t/*\n\tPropogate keydown events to our container for the keyboard widgets benefit\n\t*/\n\tEditTextWidget.prototype.propogateKeydownEvent = function(event) {\n\t\tvar newEvent = this.document.createEventObject ? this.document.createEventObject() : this.document.createEvent(\"Events\");\n\t\tif(newEvent.initEvent) {\n\t\t\tnewEvent.initEvent(\"keydown\", true, true);\n\t\t}\n\t\tnewEvent.keyCode = event.keyCode;\n\t\tnewEvent.which = event.which;\n\t\tnewEvent.metaKey = event.metaKey;\n\t\tnewEvent.ctrlKey = event.ctrlKey;\n\t\tnewEvent.altKey = event.altKey;\n\t\tnewEvent.shiftKey = event.shiftKey;\n\t\treturn !this.parentDomNode.dispatchEvent(newEvent);\n\t};\n\n\treturn EditTextWidget;\n\n}\n\nexports.editTextWidgetFactory = editTextWidgetFactory;\n\n})();\n",
            "title": "$:/core/modules/editor/factory.js",
            "type": "application/javascript",
            "module-type": "library"
        },
        "$:/core/modules/editor/operations/bitmap/clear.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/clear.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to clear the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"clear\"] = function(event) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.globalAlpha = 1;\n\tctx.fillStyle = event.paramObject.colour || \"white\";\n\tctx.fillRect(0,0,this.canvasDomNode.width,this.canvasDomNode.height);\n\t// Save changes\n\tthis.strokeEnd();\n};\n\n})();\n",
            "title": "$:/core/modules/editor/operations/bitmap/clear.js",
            "type": "application/javascript",
            "module-type": "bitmapeditoroperation"
        },
        "$:/core/modules/editor/operations/bitmap/resize.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/bitmap/resize.js\ntype: application/javascript\nmodule-type: bitmapeditoroperation\n\nBitmap editor operation to resize the image\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"resize\"] = function(event) {\n\t// Get the new width\n\tvar newWidth = parseInt(event.paramObject.width || this.canvasDomNode.width,10),\n\t\tnewHeight = parseInt(event.paramObject.height || this.canvasDomNode.height,10);\n\t// Update if necessary\n\tif(newWidth > 0 && newHeight > 0 && !(newWidth === this.currCanvas.width && newHeight === this.currCanvas.height)) {\n\t\tthis.changeCanvasSize(newWidth,newHeight);\n\t}\n\t// Update the input controls\n\tthis.refreshToolbar();\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\n})();\n",
            "title": "$:/core/modules/editor/operations/bitmap/resize.js",
            "type": "application/javascript",
            "module-type": "bitmapeditoroperation"
        },
        "$:/core/modules/editor/operations/text/excise.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/excise.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to excise the selection to a new tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"excise\"] = function(event,operation) {\n\tvar editTiddler = this.wiki.getTiddler(this.editTitle),\n\t\teditTiddlerTitle = this.editTitle;\n\tif(editTiddler && editTiddler.fields[\"draft.of\"]) {\n\t\teditTiddlerTitle = editTiddler.fields[\"draft.of\"];\n\t}\n\tvar excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(\"New Excision\");\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\tthis.wiki.getModificationFields(),\n\t\t{\n\t\t\ttitle: excisionTitle,\n\t\t\ttext: operation.selection,\n\t\t\ttags: event.paramObject.tagnew === \"yes\" ?  [editTiddlerTitle] : []\n\t\t}\n\t));\n\toperation.replacement = excisionTitle;\n\tswitch(event.paramObject.type || \"transclude\") {\n\t\tcase \"transclude\":\n\t\t\toperation.replacement = \"{{\" + operation.replacement+ \"}}\";\n\t\t\tbreak;\n\t\tcase \"link\":\n\t\t\toperation.replacement = \"[[\" + operation.replacement+ \"]]\";\n\t\t\tbreak;\n\t\tcase \"macro\":\n\t\t\toperation.replacement = \"<<\" + (event.paramObject.macro || \"translink\") + \" \\\"\\\"\\\"\" + operation.replacement + \"\\\"\\\"\\\">>\";\n\t\t\tbreak;\n\t}\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
            "title": "$:/core/modules/editor/operations/text/excise.js",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/make-link.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/make-link.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to make a link\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"make-link\"] = function(event,operation) {\n\tif(operation.selection) {\n\t\toperation.replacement = \"[[\" + operation.selection + \"|\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t} else {\n\t\toperation.replacement = \"[[\" + event.paramObject.text + \"]]\";\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t}\n\toperation.newSelStart = operation.selStart + operation.replacement.length;\n\toperation.newSelEnd = operation.newSelStart;\n};\n\n})();\n",
            "title": "$:/core/modules/editor/operations/text/make-link.js",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/prefix-lines.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/prefix-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to add a prefix to the selected lines\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"prefix-lines\"] = function(event,operation) {\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Compose the required prefix\n\tvar prefix = $tw.utils.repeat(event.paramObject.character,event.paramObject.count);\n\t// Process each line\n\tvar lines = operation.text.substring(operation.cutStart,operation.cutEnd).split(/\\r?\\n/mg);\n\t$tw.utils.each(lines,function(line,index) {\n\t\t// Remove and count any existing prefix characters\n\t\tvar count = 0;\n\t\twhile(line.charAt(0) === event.paramObject.character) {\n\t\t\tline = line.substring(1);\n\t\t\tcount++;\n\t\t}\n\t\t// Remove any whitespace\n\t\twhile(line.charAt(0) === \" \") {\n\t\t\tline = line.substring(1);\n\t\t}\n\t\t// We're done if we removed the exact required prefix, otherwise add it\n\t\tif(count !== event.paramObject.count) {\n\t\t\t// Apply the prefix\n\t\t\tline =  prefix + \" \" + line;\n\t\t}\n\t\t// Save the modified line\n\t\tlines[index] = line;\n\t});\n\t// Stitch the replacement text together and set the selection\n\toperation.replacement = lines.join(\"\\n\");\n\tif(lines.length === 1) {\n\t\toperation.newSelStart = operation.cutStart + operation.replacement.length;\n\t\toperation.newSelEnd = operation.newSelStart;\n\t} else {\n\t\toperation.newSelStart = operation.cutStart;\n\t\toperation.newSelEnd = operation.newSelStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/editor/operations/text/prefix-lines.js",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/replace-all.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-all.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the entire text\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-all\"] = function(event,operation) {\n\toperation.cutStart = 0;\n\toperation.cutEnd = operation.text.length;\n\toperation.replacement = event.paramObject.text;\n\toperation.newSelStart = 0;\n\toperation.newSelEnd = operation.replacement.length;\n};\n\n})();\n",
            "title": "$:/core/modules/editor/operations/text/replace-all.js",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/replace-selection.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/replace-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to replace the selection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"replace-selection\"] = function(event,operation) {\n\toperation.replacement = event.paramObject.text;\n\toperation.cutStart = operation.selStart;\n\toperation.cutEnd = operation.selEnd;\n\toperation.newSelStart = operation.selStart;\n\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n};\n\n})();\n",
            "title": "$:/core/modules/editor/operations/text/replace-selection.js",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/wrap-lines.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-lines.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selected lines with a prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-lines\"] = function(event,operation) {\n\t// Cut just past the preceding line break, or the start of the text\n\toperation.cutStart = $tw.utils.findPrecedingLineBreak(operation.text,operation.selStart);\n\t// Cut to just past the following line break, or to the end of the text\n\toperation.cutEnd = $tw.utils.findFollowingLineBreak(operation.text,operation.selEnd);\n\t// Add the prefix and suffix\n\toperation.replacement = event.paramObject.prefix + \"\\n\" +\n\t\t\t\toperation.text.substring(operation.cutStart,operation.cutEnd) + \"\\n\" +\n\t\t\t\tevent.paramObject.suffix + \"\\n\";\n\toperation.newSelStart = operation.cutStart + event.paramObject.prefix.length + 1;\n\toperation.newSelEnd = operation.newSelStart + (operation.cutEnd - operation.cutStart);\n};\n\n})();\n",
            "title": "$:/core/modules/editor/operations/text/wrap-lines.js",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/editor/operations/text/wrap-selection.js": {
            "text": "/*\\\ntitle: $:/core/modules/editor/operations/text/wrap-selection.js\ntype: application/javascript\nmodule-type: texteditoroperation\n\nText editor operation to wrap the selection with the specified prefix and suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports[\"wrap-selection\"] = function(event,operation) {\n\tif(operation.selStart === operation.selEnd) {\n\t\t// No selection; check if we're within the prefix/suffix\n\t\tif(operation.text.substring(operation.selStart - event.paramObject.prefix.length,operation.selStart + event.paramObject.suffix.length) === event.paramObject.prefix + event.paramObject.suffix) {\n\t\t\t// Remove the prefix and suffix unless they comprise the entire text\n\t\t\tif(operation.selStart > event.paramObject.prefix.length || (operation.selEnd + event.paramObject.suffix.length) < operation.text.length ) {\n\t\t\t\toperation.cutStart = operation.selStart - event.paramObject.prefix.length;\n\t\t\t\toperation.cutEnd = operation.selEnd + event.paramObject.suffix.length;\n\t\t\t\toperation.replacement = \"\";\n\t\t\t\toperation.newSelStart = operation.cutStart;\n\t\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t\t}\n\t\t} else {\n\t\t\t// Wrap the cursor instead\n\t\t\toperation.cutStart = operation.selStart;\n\t\t\toperation.cutEnd = operation.selEnd;\n\t\t\toperation.replacement = event.paramObject.prefix + event.paramObject.suffix;\n\t\t\toperation.newSelStart = operation.selStart + event.paramObject.prefix.length;\n\t\t\toperation.newSelEnd = operation.newSelStart;\n\t\t}\n\t} else if(operation.text.substring(operation.selStart,operation.selStart + event.paramObject.prefix.length) === event.paramObject.prefix && operation.text.substring(operation.selEnd - event.paramObject.suffix.length,operation.selEnd) === event.paramObject.suffix) {\n\t\t// Prefix and suffix are already present, so remove them\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = operation.selection.substring(event.paramObject.prefix.length,operation.selection.length - event.paramObject.suffix.length);\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t} else {\n\t\t// Add the prefix and suffix\n\t\toperation.cutStart = operation.selStart;\n\t\toperation.cutEnd = operation.selEnd;\n\t\toperation.replacement = event.paramObject.prefix + operation.selection + event.paramObject.suffix;\n\t\toperation.newSelStart = operation.selStart;\n\t\toperation.newSelEnd = operation.selStart + operation.replacement.length;\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/editor/operations/text/wrap-selection.js",
            "type": "application/javascript",
            "module-type": "texteditoroperation"
        },
        "$:/core/modules/filters/addprefix.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/addprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a prefix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(operator.operand + title);\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/addprefix.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/addsuffix.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/addsuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for adding a suffix to each title in the list. This is\nespecially useful in contexts where only a filter expression is allowed\nand macro substitution isn't available.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.addsuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title + operator.operand);\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/addsuffix.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/after.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/after.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is after the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.after = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index === -1 || index > (results.length - 2)) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index + 1]];\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/filters/after.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/all/current.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/all/current.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar currTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(currTiddlerTitle) {\n\t\treturn [currTiddlerTitle];\n\t} else {\n\t\treturn [];\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/filters/all/current.js",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all/missing.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/all/missing.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\treturn options.wiki.getMissingTitles();\n};\n\n})();\n",
            "title": "$:/core/modules/filters/all/missing.js",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all/orphans.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/all/orphans.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[orphans]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphans = function(source,prefix,options) {\n\treturn options.wiki.getOrphanTitles();\n};\n\n})();\n",
            "title": "$:/core/modules/filters/all/orphans.js",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all/shadows.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/all/shadows.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[shadows]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadows = function(source,prefix,options) {\n\treturn options.wiki.allShadowTitles();\n};\n\n})();\n",
            "title": "$:/core/modules/filters/all/shadows.js",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all/tiddlers.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/all/tiddlers.js\ntype: application/javascript\nmodule-type: allfilteroperator\n\nFilter function for [all[tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddlers = function(source,prefix,options) {\n\treturn options.wiki.allTitles();\n};\n\n})();\n",
            "title": "$:/core/modules/filters/all/tiddlers.js",
            "type": "application/javascript",
            "module-type": "allfilteroperator"
        },
        "$:/core/modules/filters/all.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/all.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for selecting tiddlers\n\n[all[shadows+tiddlers]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar allFilterOperators;\n\nfunction getAllFilterOperators() {\n\tif(!allFilterOperators) {\n\t\tallFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"allfilteroperator\",allFilterOperators);\n\t}\n\treturn allFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.all = function(source,operator,options) {\n\t// Get our suboperators\n\tvar allFilterOperators = getAllFilterOperators();\n\t// Cycle through the suboperators accumulating their results\n\tvar results = [],\n\t\tsubops = operator.operand.split(\"+\");\n\t// Check for common optimisations\n\tif(subops.length === 1 && subops[0] === \"\") {\n\t\treturn source;\n\t} else if(subops.length === 1 && subops[0] === \"tiddlers\") {\n\t\treturn options.wiki.each;\n\t} else if(subops.length === 1 && subops[0] === \"shadows\") {\n\t\treturn options.wiki.eachShadow;\n\t} else if(subops.length === 2 && subops[0] === \"tiddlers\" && subops[1] === \"shadows\") {\n\t\treturn options.wiki.eachTiddlerPlusShadows;\n\t} else if(subops.length === 2 && subops[0] === \"shadows\" && subops[1] === \"tiddlers\") {\n\t\treturn options.wiki.eachShadowPlusTiddlers;\n\t}\n\t// Do it the hard way\n\tfor(var t=0; t<subops.length; t++) {\n\t\tvar subop = allFilterOperators[subops[t]];\n\t\tif(subop) {\n\t\t\t$tw.utils.pushTop(results,subop(source,operator.prefix,options));\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/all.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/backlinks.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/backlinks.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the backlinks from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.backlinks = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerBacklinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/backlinks.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/before.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/before.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler from the current list that is before the tiddler named in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.before = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\tvar index = results.indexOf(operator.operand);\n\tif(index <= 0) {\n\t\treturn [];\n\t} else {\n\t\treturn [results[index - 1]];\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/filters/before.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/commands.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/commands.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the commands available in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.commands = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.commands,function(commandInfo,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/commands.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/days.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/days.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a specified date field within a specified date interval.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.days = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\tdayInterval = (parseInt(operator.operand,10)||0),\n\t\tdayIntervalSign = $tw.utils.sign(dayInterval),\n\t\ttargetTimeStamp = (new Date()).setHours(0,0,0,0) + 1000*60*60*24*dayInterval,\n\t\tisWithinDays = function(dateField) {\n\t\t\tvar sign = $tw.utils.sign(targetTimeStamp - (new Date(dateField)).setHours(0,0,0,0));\n\t\t\treturn sign === 0 || sign === dayIntervalSign;\n\t\t};\n\n\tif(operator.prefix === \"!\") {\n\t\ttargetTimeStamp = targetTimeStamp - 1000*60*60*24*dayIntervalSign;\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(!isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\t\tif(isWithinDays($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/days.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/each.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/each.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique value of the specified field.\nWith suffix \"list\", selects all tiddlers that are values in a specified list field.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.each = function(source,operator,options) {\n\tvar results =[] ,\n\t\tvalue,values = {},\n\t\tfield = operator.operand || \"title\";\n\tif(operator.suffix !== \"list-item\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\tvalue = (field === \"title\") ? title : tiddler.getFieldString(field);\n\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\t$tw.utils.each(\n\t\t\t\t\toptions.wiki.getTiddlerList(title,field),\n\t\t\t\t\tfunction(value) {\n\t\t\t\t\t\tif(!$tw.utils.hop(values,value)) {\n\t\t\t\t\t\t\tvalues[value] = true;\n\t\t\t\t\t\t\tresults.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/each.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/eachday.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/eachday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects one tiddler for each unique day covered by the specified date field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.eachday = function(source,operator,options) {\n\tvar results = [],\n\t\tvalues = [],\n\t\tfieldName = operator.operand || \"modified\";\n\t// Function to convert a date/time to a date integer\n\tvar toDate = function(value) {\n\t\tvalue = (new Date(value)).setHours(0,0,0,0);\n\t\treturn value+0;\n\t};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\tvar value = toDate($tw.utils.parseDate(tiddler.fields[fieldName]));\n\t\t\tif(values.indexOf(value) === -1) {\n\t\t\t\tvalues.push(value);\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/eachday.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/editiondescription.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/editiondescription.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the descriptions of the specified edition names\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editiondescription = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(editionInfo,title)) {\n\t\t\t\tresults.push(editionInfo[title].description || \"\");\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/editiondescription.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/editions.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/editions.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the available editions in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.editions = function(source,operator,options) {\n\tvar results = [],\n\t\teditionInfo = $tw.utils.getEditionInfo();\n\tif(editionInfo) {\n\t\t$tw.utils.each(editionInfo,function(info,name) {\n\t\t\tresults.push(name);\n\t\t});\n\t}\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/editions.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/field.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/field.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.field = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || operator.operator || \"title\").toLowerCase();\n\tif(operator.prefix === \"!\") {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text !== operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif(operator.regexp) {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && !!operator.regexp.exec(text)) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsource(function(tiddler,title) {\n\t\t\t\tif(tiddler) {\n\t\t\t\t\tvar text = tiddler.getFieldString(fieldname);\n\t\t\t\t\tif(text !== null && text === operator.operand) {\n\t\t\t\t\t\tresults.push(title);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/field.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/fields.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/fields.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the fields on the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.fields = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tfor(var fieldName in tiddler.fields) {\n\t\t\t\t$tw.utils.pushTop(results,fieldName);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/fields.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/get.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/get.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for replacing tiddler titles by the value of the field specified in the operand.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.get = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(tiddler) {\n\t\t\tvar value = tiddler.getFieldString(operator.operand);\n\t\t\tif(value) {\n\t\t\t\tresults.push(value);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/get.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/getindex.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/getindex.js\ntype: application/javascript\nmodule-type: filteroperator\n\nreturns the value at a given index of datatiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.getindex = function(source,operator,options) {\n\tvar data,title,results = [];\n\tif(operator.operand){\n\t\tsource(function(tiddler,title) {\n\t\t\ttitle = tiddler ? tiddler.fields.title : title;\n\t\t\tdata = options.wiki.extractTiddlerDataItem(tiddler,operator.operand);\n\t\t\tif(data) {\n\t\t\t\tresults.push(data);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/getindex.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/has.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/has.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a tiddler has the specified field\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.has = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || (tiddler && (!$tw.utils.hop(tiddler.fields,operator.operand) || tiddler.fields[operator.operand] === \"\"))) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && $tw.utils.hop(tiddler.fields,operator.operand) && !(tiddler.fields[operator.operand] === \"\" || tiddler.fields[operator.operand].length === 0)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/has.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/haschanged.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/haschanged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returns tiddlers from the list that have a non-zero changecount.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.haschanged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) === 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.getChangeCount(title) > 0) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/haschanged.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/indexes.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/indexes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the indexes of a data tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.indexes = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar data = options.wiki.getTiddlerDataCached(title);\n\t\tif(data) {\n\t\t\t$tw.utils.pushTop(results,Object.keys(data));\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/indexes.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/is/current.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is/current.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[current]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.current = function(source,prefix,options) {\n\tvar results = [],\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\");\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title !== currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title === currTiddlerTitle) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is/current.js",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/image.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is/image.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[image]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.image = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isImageTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is/image.js",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/missing.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is/missing.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[missing]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.missing = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is/missing.js",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/orphan.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is/orphan.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[orphan]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.orphan = function(source,prefix,options) {\n\tvar results = [],\n\t\torphanTitles = options.wiki.getOrphanTitles();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(orphanTitles.indexOf(title) !== -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is/orphan.js",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/shadow.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is/shadow.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[shadow]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadow = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isShadowTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is/shadow.js",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/system.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is/system.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[system]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.system = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.isSystemTiddler(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is/system.js",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/tag.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is/tag.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tag]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,prefix,options) {\n\tvar results = [],\n\t\ttagMap = options.wiki.getTagMap();\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!$tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif($tw.utils.hop(tagMap,title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is/tag.js",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is/tiddler.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is/tiddler.js\ntype: application/javascript\nmodule-type: isfilteroperator\n\nFilter function for [is[tiddler]]\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tiddler = function(source,prefix,options) {\n\tvar results = [];\n\tif(prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(options.wiki.tiddlerExists(title)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is/tiddler.js",
            "type": "application/javascript",
            "module-type": "isfilteroperator"
        },
        "$:/core/modules/filters/is.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/is.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking tiddler properties\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar isFilterOperators;\n\nfunction getIsFilterOperators() {\n\tif(!isFilterOperators) {\n\t\tisFilterOperators = {};\n\t\t$tw.modules.applyMethods(\"isfilteroperator\",isFilterOperators);\n\t}\n\treturn isFilterOperators;\n}\n\n/*\nExport our filter function\n*/\nexports.is = function(source,operator,options) {\n\t// Dispatch to the correct isfilteroperator\n\tvar isFilterOperators = getIsFilterOperators();\n\tvar isFilterOperator = isFilterOperators[operator.operand];\n\tif(isFilterOperator) {\n\t\treturn isFilterOperator(source,operator.prefix,options);\n\t} else {\n\t\treturn [$tw.language.getString(\"Error/IsFilterOperator\")];\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/filters/is.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/limit.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/limit.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for chopping the results to a specified maximum number of entries\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.limit = function(source,operator,options) {\n\tvar results = [];\n\t// Convert to an array\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\t// Slice the array if necessary\n\tvar limit = Math.min(results.length,parseInt(operator.operand,10));\n\tif(operator.prefix === \"!\") {\n\t\tresults = results.slice(-limit);\n\t} else {\n\t\tresults = results.slice(0,limit);\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/limit.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/links.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/links.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning all the links from a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.links = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlerLinks(title));\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/links.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/list.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/list.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddlers whose title is listed in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.list = function(source,operator,options) {\n\tvar results = [],\n\t\ttr = $tw.utils.parseTextReference(operator.operand),\n\t\tcurrTiddlerTitle = options.widget && options.widget.getVariable(\"currentTiddler\"),\n\t\tlist = options.wiki.getTiddlerList(tr.title || currTiddlerTitle,tr.field,tr.index);\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults = list;\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/list.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/listed.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/listed.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that have the selected tiddlers in a list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.listed = function(source,operator,options) {\n\tvar field = operator.operand || \"list\",\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.findListingsOfTiddler(title,field));\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/listed.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/listops.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operators for manipulating the current selection list\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nReverse list\n*/\nexports.reverse = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.unshift(title);\n\t});\n\treturn results;\n};\n\n/*\nFirst entry/entries in list\n*/\nexports.first = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,count);\n};\n\n/*\nLast entry/entries in list\n*/\nexports.last = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(-count);\n};\n\n/*\nAll but the first entry/entries of the list\n*/\nexports.rest = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count);\n};\nexports.butfirst = exports.rest;\nexports.bf = exports.rest;\n\n/*\nAll but the last entry/entries of the list\n*/\nexports.butlast = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(0,-count);\n};\nexports.bl = exports.butlast;\n\n/*\nThe nth member of the list\n*/\nexports.nth = function(source,operator,options) {\n\tvar count = parseInt(operator.operand) || 1,\n\t\tresults = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results.slice(count - 1,count);\n};\n\n})();\n",
            "title": "$:/core/modules/filters/listops.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/modules.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/modules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the modules of a given type in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.modules = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.each($tw.modules.types[title],function(moduleInfo,moduleName) {\n\t\t\tresults.push(moduleName);\n\t\t});\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/modules.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/moduletypes.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/moduletypes.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the module types in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.moduletypes = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.modules.types,function(moduleInfo,type) {\n\t\tresults.push(type);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/moduletypes.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/next.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/next.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs next in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.next = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch++;\n\t\tif(match > 0 && match < list.length) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/next.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/plugintiddlers.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/plugintiddlers.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the titles of the shadow tiddlers within a plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.plugintiddlers = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar pluginInfo = options.wiki.getPluginInfo(title) || options.wiki.getTiddlerDataCached(title,{tiddlers:[]});\n\t\tif(pluginInfo && pluginInfo.tiddlers) {\n\t\t\t$tw.utils.each(pluginInfo.tiddlers,function(fields,title) {\n\t\t\t\tresults.push(title);\n\t\t\t});\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/plugintiddlers.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/prefix.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/prefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title starts with a prefix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.prefix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/prefix.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/previous.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/previous.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning the tiddler whose title occurs immediately prior in the list supplied in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.previous = function(source,operator,options) {\n\tvar results = [],\n\t\tlist = options.wiki.getTiddlerList(operator.operand);\n\tsource(function(tiddler,title) {\n\t\tvar match = list.indexOf(title);\n\t\t// increment match and then test if result is in range\n\t\tmatch--;\n\t\tif(match >= 0) {\n\t\t\tresults.push(list[match]);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/previous.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/regexp.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/regexp.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for regexp matching\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.regexp = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldname = (operator.suffix || \"title\").toLowerCase(),\n\t\tregexpString, regexp, flags = \"\", match,\n\t\tgetFieldString = function(tiddler,title) {\n\t\t\tif(tiddler) {\n\t\t\t\treturn tiddler.getFieldString(fieldname);\n\t\t\t} else if(fieldname === \"title\") {\n\t\t\t\treturn title;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\t// Process flags and construct regexp\n\tregexpString = operator.operand;\n\tmatch = /^\\(\\?([gim]+)\\)/.exec(regexpString);\n\tif(match) {\n\t\tflags = match[1];\n\t\tregexpString = regexpString.substr(match[0].length);\n\t} else {\n\t\tmatch = /\\(\\?([gim]+)\\)$/.exec(regexpString);\n\t\tif(match) {\n\t\t\tflags = match[1];\n\t\t\tregexpString = regexpString.substr(0,regexpString.length - match[0].length);\n\t\t}\n\t}\n\ttry {\n\t\tregexp = new RegExp(regexpString,flags);\n\t} catch(e) {\n\t\treturn [\"\" + e];\n\t}\n\t// Process the incoming tiddlers\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tvar text = getFieldString(tiddler,title);\n\t\t\tif(text !== null) {\n\t\t\t\tif(!!regexp.exec(text)) {\n\t\t\t\t\tresults.push(title);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/regexp.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/removeprefix.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/removeprefix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a prefix from each title in the list. Titles that do not start with the prefix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removeprefix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.substr(0,operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/removeprefix.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/removesuffix.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/removesuffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for removing a suffix from each title in the list. Titles that do not end with the suffix are removed.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.removesuffix = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\tresults.push(title.substr(0,title.length - operator.operand.length));\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/removesuffix.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/sameday.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/sameday.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that selects tiddlers with a modified date field on the same day as the provided value.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sameday = function(source,operator,options) {\n\tvar results = [],\n\t\tfieldName = operator.suffix || \"modified\",\n\t\ttargetDate = (new Date($tw.utils.parseDate(operator.operand))).setHours(0,0,0,0);\n\t// Function to convert a date/time to a date integer\n\tvar isSameDay = function(dateField) {\n\t\t\treturn (new Date(dateField)).setHours(0,0,0,0) === targetDate;\n\t\t};\n\tsource(function(tiddler,title) {\n\t\tif(tiddler && tiddler.fields[fieldName]) {\n\t\t\tif(isSameDay($tw.utils.parseDate(tiddler.fields[fieldName]))) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/sameday.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/search.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/search.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for searching for the text in the operand tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.search = function(source,operator,options) {\n\tvar invert = operator.prefix === \"!\";\n\tif(operator.suffix) {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert,\n\t\t\tfield: operator.suffix\n\t\t});\n\t} else {\n\t\treturn options.wiki.search(operator.operand,{\n\t\t\tsource: source,\n\t\t\tinvert: invert\n\t\t});\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/filters/search.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/shadowsource.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/shadowsource.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the source plugins for shadow tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.shadowsource = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar source = options.wiki.getShadowSource(title);\n\t\tif(source) {\n\t\t\t$tw.utils.pushTop(results,source);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/shadowsource.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/sort.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/sort.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for sorting\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.sort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,false);\n\treturn results;\n};\n\nexports.nsort = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",false,true);\n\treturn results;\n};\n\nexports.sortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,false);\n\treturn results;\n};\n\nexports.nsortcs = function(source,operator,options) {\n\tvar results = prepare_results(source);\n\toptions.wiki.sortTiddlers(results,operator.operand || \"title\",operator.prefix === \"!\",true,true);\n\treturn results;\n};\n\nvar prepare_results = function (source) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tresults.push(title);\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/sort.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/splitbefore.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/splitbefore.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator that splits each result on the first occurance of the specified separator and returns the unique values.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.splitbefore = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\tvar parts = title.split(operator.operand);\n\t\tif(parts.length === 1) {\n\t\t\t$tw.utils.pushTop(results,parts[0]);\n\t\t} else {\n\t\t\t$tw.utils.pushTop(results,parts[0] + operator.operand);\n\t\t}\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/splitbefore.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/storyviews.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/storyviews.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the story views in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.storyviews = function(source,operator,options) {\n\tvar results = [],\n\t\tstoryviews = {};\n\t$tw.modules.applyMethods(\"storyview\",storyviews);\n\t$tw.utils.each(storyviews,function(info,name) {\n\t\tresults.push(name);\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/storyviews.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/suffix.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/suffix.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking if a title ends with a suffix\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.suffix = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(title.substr(-operator.operand.length) === operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/suffix.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/tag.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/tag.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for checking for the presence of a tag\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tag = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && !tiddler.hasTag(operator.operand)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.hasTag(operator.operand)) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t\tresults = options.wiki.sortByList(results,operator.operand);\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/tag.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/tagging.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/tagging.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all tiddlers that are tagged with the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tagging = function(source,operator,options) {\n\tvar results = [];\n\tsource(function(tiddler,title) {\n\t\t$tw.utils.pushTop(results,options.wiki.getTiddlersWithTag(title));\n\t});\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/tagging.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/tags.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/tags.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the tags of the selected tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.tags = function(source,operator,options) {\n\tvar tags = {};\n\tsource(function(tiddler,title) {\n\t\tvar t, length;\n\t\tif(tiddler && tiddler.fields.tags) {\n\t\t\tfor(t=0, length=tiddler.fields.tags.length; t<length; t++) {\n\t\t\t\ttags[tiddler.fields.tags[t]] = true;\n\t\t\t}\n\t\t}\n\t});\n\treturn Object.keys(tags);\n};\n\n})();\n",
            "title": "$:/core/modules/filters/tags.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/title.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/title.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for comparing title fields for equality\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.title = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && tiddler.fields.title !== operator.operand) {\n\t\t\t\tresults.push(title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tresults.push(operator.operand);\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/title.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/untagged.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/untagged.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator returning all the selected tiddlers that are untagged\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.untagged = function(source,operator,options) {\n\tvar results = [];\n\tif(operator.prefix === \"!\") {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(tiddler && $tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length > 0) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tsource(function(tiddler,title) {\n\t\t\tif(!tiddler || !tiddler.hasField(\"tags\") || ($tw.utils.isArray(tiddler.fields.tags) && tiddler.fields.tags.length === 0)) {\n\t\t\t\t$tw.utils.pushTop(results,title);\n\t\t\t}\n\t\t});\n\t}\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/untagged.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/wikiparserrules.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/wikiparserrules.js\ntype: application/javascript\nmodule-type: filteroperator\n\nFilter operator for returning the names of the wiki parser rules in this wiki\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nExport our filter function\n*/\nexports.wikiparserrules = function(source,operator,options) {\n\tvar results = [];\n\t$tw.utils.each($tw.modules.types.wikirule,function(mod) {\n\t\tvar exp = mod.exports;\n\t\tif(exp.types[operator.operand]) {\n\t\t\tresults.push(exp.name);\n\t\t}\n\t});\n\tresults.sort();\n\treturn results;\n};\n\n})();\n",
            "title": "$:/core/modules/filters/wikiparserrules.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters/x-listops.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters/x-listops.js\ntype: application/javascript\nmodule-type: filteroperator\n\nExtended filter operators to manipulate the current list.\n\n\\*/\n(function () {\n\n    /*jslint node: true, browser: true */\n    /*global $tw: false */\n    \"use strict\";\n\n    /*\n    Fetch titles from the current list\n    */\n    var prepare_results = function (source) {\n    var results = [];\n        source(function (tiddler, title) {\n            results.push(title);\n        });\n        return results;\n    };\n\n    /*\n    Moves a number of items from the tail of the current list before the item named in the operand\n    */\n    exports.putbefore = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand),\n            count = parseInt(operator.suffix) || 1;\n        return (index === -1) ?\n            results.slice(0, -1) :\n            results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index, -count));\n    };\n\n    /*\n    Moves a number of items from the tail of the current list after the item named in the operand\n    */\n    exports.putafter = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand),\n            count = parseInt(operator.suffix) || 1;\n        return (index === -1) ?\n            results.slice(0, -1) :\n            results.slice(0, index + 1).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n    };\n\n    /*\n    Replaces the item named in the operand with a number of items from the tail of the current list\n    */\n    exports.replace = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand),\n            count = parseInt(operator.suffix) || 1;\n        return (index === -1) ?\n            results.slice(0, -count) :\n            results.slice(0, index).concat(results.slice(-count)).concat(results.slice(index + 1, -count));\n    };\n\n    /*\n    Moves a number of items from the tail of the current list to the head of the list\n    */\n    exports.putfirst = function (source, operator) {\n        var results = prepare_results(source),\n            count = parseInt(operator.suffix) || 1;\n        return results.slice(-count).concat(results.slice(0, -count));\n    };\n\n    /*\n    Moves a number of items from the head of the current list to the tail of the list\n    */\n    exports.putlast = function (source, operator) {\n        var results = prepare_results(source),\n            count = parseInt(operator.suffix) || 1;\n        return results.slice(count).concat(results.slice(0, count));\n    };\n\n    /*\n    Moves the item named in the operand a number of places forward or backward in the list\n    */\n    exports.move = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand),\n            count = parseInt(operator.suffix) || 1,\n            marker = results.splice(index, 1);\n        return results.slice(0, index + count).concat(marker).concat(results.slice(index + count));\n    };\n\n    /*\n    Returns the items from the current list that are after the item named in the operand\n    */\n    exports.allafter = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand);\n        return (index === -1 || index > (results.length - 2)) ? [] :\n            (operator.suffix) ? results.slice(index) :\n            results.slice(index + 1);\n    };\n\n    /*\n    Returns the items from the current list that are before the item named in the operand\n    */\n    exports.allbefore = function (source, operator) {\n        var results = prepare_results(source),\n            index = results.indexOf(operator.operand);\n        return (index <= 0) ? [] :\n            (operator.suffix) ? results.slice(0, index + 1) :\n            results.slice(0, index);\n    };\n\n    /*\n    Appends the items listed in the operand array to the tail of the current list\n    */\n    exports.append = function (source, operator) {\n        var append = $tw.utils.parseStringArray(operator.operand, \"true\"),\n            results = prepare_results(source),\n            count = parseInt(operator.suffix) || append.length;\n        return (append.length === 0) ? results :\n            (operator.prefix) ? results.concat(append.slice(-count)) :\n            results.concat(append.slice(0, count));\n    };\n\n    /*\n    Prepends the items listed in the operand array to the head of the current list\n    */\n    exports.prepend = function (source, operator) {\n        var prepend = $tw.utils.parseStringArray(operator.operand, \"true\"),\n            results = prepare_results(source),\n            count = parseInt(operator.suffix) || prepend.length;\n        return (prepend.length === 0) ? results :\n            (operator.prefix) ? prepend.slice(-count).concat(results) :\n            prepend.slice(0, count).concat(results);\n    };\n\n    /*\n    Returns all items from the current list except the items listed in the operand array\n    */\n    exports.remove = function (source, operator) {\n        var array = $tw.utils.parseStringArray(operator.operand, \"true\"),\n            results = prepare_results(source),\n            count = parseInt(operator.suffix) || array.length,\n            p,\n            len,\n            index;\n        len = array.length - 1;\n        for (p = 0; p < count; ++p) {\n            if (operator.prefix) {\n                index = results.indexOf(array[len - p]);\n            } else {\n                index = results.indexOf(array[p]);\n            }\n            if (index !== -1) {\n                results.splice(index, 1);\n            }\n        }\n        return results;\n    };\n\n    /*\n    Returns all items from the current list sorted in the order of the items in the operand array\n    */\n    exports.sortby = function (source, operator) {\n        var results = prepare_results(source);\n        if (!results || results.length < 2) {\n            return results;\n        }\n        var lookup = $tw.utils.parseStringArray(operator.operand, \"true\");\n        results.sort(function (a, b) {\n            return lookup.indexOf(a) - lookup.indexOf(b);\n        });\n        return results;\n    };\n\n    /*\n    Removes all duplicate items from the current list\n    */\n    exports.unique = function (source, operator) {\n        var results = prepare_results(source);\n        var set = results.reduce(function (a, b) {\n            if (a.indexOf(b) < 0) {\n                a.push(b);\n            }\n            return a;\n        }, []);\n        return set;\n    };\n})();\n",
            "title": "$:/core/modules/filters/x-listops.js",
            "type": "application/javascript",
            "module-type": "filteroperator"
        },
        "$:/core/modules/filters.js": {
            "text": "/*\\\ntitle: $:/core/modules/filters.js\ntype: application/javascript\nmodule-type: wikimethod\n\nAdds tiddler filtering methods to the $tw.Wiki object.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nParses an operation (i.e. a run) within a filter string\n\toperators: Array of array of operator nodes into which results should be inserted\n\tfilterString: filter string\n\tp: start position within the string\nReturns the new start position, after the parsed operation\n*/\nfunction parseFilterOperation(operators,filterString,p) {\n\tvar operator, operand, bracketPos, curlyBracketPos;\n\t// Skip the starting square bracket\n\tif(filterString.charAt(p++) !== \"[\") {\n\t\tthrow \"Missing [ in filter expression\";\n\t}\n\t// Process each operator in turn\n\tdo {\n\t\toperator = {};\n\t\t// Check for an operator prefix\n\t\tif(filterString.charAt(p) === \"!\") {\n\t\t\toperator.prefix = filterString.charAt(p++);\n\t\t}\n\t\t// Get the operator name\n\t\tvar nextBracketPos = filterString.substring(p).search(/[\\[\\{<\\/]/);\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing [ in filter expression\";\n\t\t}\n\t\tnextBracketPos += p;\n\t\tvar bracket = filterString.charAt(nextBracketPos);\n\t\toperator.operator = filterString.substring(p,nextBracketPos);\n\t\t\n\t\t// Any suffix?\n\t\tvar colon = operator.operator.indexOf(':');\n\t\tif(colon > -1) {\n\t\t\toperator.suffix = operator.operator.substring(colon + 1);\n\t\t\toperator.operator = operator.operator.substring(0,colon) || \"field\";\n\t\t}\n\t\t// Empty operator means: title\n\t\telse if(operator.operator === \"\") {\n\t\t\toperator.operator = \"title\";\n\t\t}\n\n\t\tp = nextBracketPos + 1;\n\t\tswitch (bracket) {\n\t\t\tcase \"{\": // Curly brackets\n\t\t\t\toperator.indirect = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\"}\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"[\": // Square brackets\n\t\t\t\tnextBracketPos = filterString.indexOf(\"]\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"<\": // Angle brackets\n\t\t\t\toperator.variable = true;\n\t\t\t\tnextBracketPos = filterString.indexOf(\">\",p);\n\t\t\t\tbreak;\n\t\t\tcase \"/\": // regexp brackets\n\t\t\t\tvar rex = /^((?:[^\\\\\\/]*|\\\\.)*)\\/(?:\\(([mygi]+)\\))?/g,\n\t\t\t\t\trexMatch = rex.exec(filterString.substring(p));\n\t\t\t\tif(rexMatch) {\n\t\t\t\t\toperator.regexp = new RegExp(rexMatch[1], rexMatch[2]);\n// DEPRECATION WARNING\nconsole.log(\"WARNING: Filter\",operator.operator,\"has a deprecated regexp operand\",operator.regexp);\n\t\t\t\t\tnextBracketPos = p + rex.lastIndex - 1;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthrow \"Unterminated regular expression in filter expression\";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t\t\n\t\tif(nextBracketPos === -1) {\n\t\t\tthrow \"Missing closing bracket in filter expression\";\n\t\t}\n\t\tif(!operator.regexp) {\n\t\t\toperator.operand = filterString.substring(p,nextBracketPos);\n\t\t}\n\t\tp = nextBracketPos + 1;\n\t\t\t\n\t\t// Push this operator\n\t\toperators.push(operator);\n\t} while(filterString.charAt(p) !== \"]\");\n\t// Skip the ending square bracket\n\tif(filterString.charAt(p++) !== \"]\") {\n\t\tthrow \"Missing ] in filter expression\";\n\t}\n\t// Return the parsing position\n\treturn p;\n}\n\n/*\nParse a filter string\n*/\nexports.parseFilter = function(filterString) {\n\tfilterString = filterString || \"\";\n\tvar results = [], // Array of arrays of operator nodes {operator:,operand:}\n\t\tp = 0, // Current position in the filter string\n\t\tmatch;\n\tvar whitespaceRegExp = /(\\s+)/mg,\n\t\toperandRegExp = /((?:\\+|\\-)?)(?:(\\[)|(?:\"([^\"]*)\")|(?:'([^']*)')|([^\\s\\[\\]]+))/mg;\n\twhile(p < filterString.length) {\n\t\t// Skip any whitespace\n\t\twhitespaceRegExp.lastIndex = p;\n\t\tmatch = whitespaceRegExp.exec(filterString);\n\t\tif(match && match.index === p) {\n\t\t\tp = p + match[0].length;\n\t\t}\n\t\t// Match the start of the operation\n\t\tif(p < filterString.length) {\n\t\t\toperandRegExp.lastIndex = p;\n\t\t\tmatch = operandRegExp.exec(filterString);\n\t\t\tif(!match || match.index !== p) {\n\t\t\t\tthrow $tw.language.getString(\"Error/FilterSyntax\");\n\t\t\t}\n\t\t\tvar operation = {\n\t\t\t\tprefix: \"\",\n\t\t\t\toperators: []\n\t\t\t};\n\t\t\tif(match[1]) {\n\t\t\t\toperation.prefix = match[1];\n\t\t\t\tp++;\n\t\t\t}\n\t\t\tif(match[2]) { // Opening square bracket\n\t\t\t\tp = parseFilterOperation(operation.operators,filterString,p);\n\t\t\t} else {\n\t\t\t\tp = match.index + match[0].length;\n\t\t\t}\n\t\t\tif(match[3] || match[4] || match[5]) { // Double quoted string, single quoted string or unquoted title\n\t\t\t\toperation.operators.push(\n\t\t\t\t\t{operator: \"title\", operand: match[3] || match[4] || match[5]}\n\t\t\t\t);\n\t\t\t}\n\t\t\tresults.push(operation);\n\t\t}\n\t}\n\treturn results;\n};\n\nexports.getFilterOperators = function() {\n\tif(!this.filterOperators) {\n\t\t$tw.Wiki.prototype.filterOperators = {};\n\t\t$tw.modules.applyMethods(\"filteroperator\",this.filterOperators);\n\t}\n\treturn this.filterOperators;\n};\n\nexports.filterTiddlers = function(filterString,widget,source) {\n\tvar fn = this.compileFilter(filterString);\n\treturn fn.call(this,source,widget);\n};\n\n/*\nCompile a filter into a function with the signature fn(source,widget) where:\nsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\nwidget: an optional widget node for retrieving the current tiddler etc.\n*/\nexports.compileFilter = function(filterString) {\n\tvar filterParseTree;\n\ttry {\n\t\tfilterParseTree = this.parseFilter(filterString);\n\t} catch(e) {\n\t\treturn function(source,widget) {\n\t\t\treturn [$tw.language.getString(\"Error/Filter\") + \": \" + e];\n\t\t};\n\t}\n\t// Get the hashmap of filter operator functions\n\tvar filterOperators = this.getFilterOperators();\n\t// Assemble array of functions, one for each operation\n\tvar operationFunctions = [];\n\t// Step through the operations\n\tvar self = this;\n\t$tw.utils.each(filterParseTree,function(operation) {\n\t\t// Create a function for the chain of operators in the operation\n\t\tvar operationSubFunction = function(source,widget) {\n\t\t\tvar accumulator = source,\n\t\t\t\tresults = [],\n\t\t\t\tcurrTiddlerTitle = widget && widget.getVariable(\"currentTiddler\");\n\t\t\t$tw.utils.each(operation.operators,function(operator) {\n\t\t\t\tvar operand = operator.operand,\n\t\t\t\t\toperatorFunction;\n\t\t\t\tif(!operator.operator) {\n\t\t\t\t\toperatorFunction = filterOperators.title;\n\t\t\t\t} else if(!filterOperators[operator.operator]) {\n\t\t\t\t\toperatorFunction = filterOperators.field;\n\t\t\t\t} else {\n\t\t\t\t\toperatorFunction = filterOperators[operator.operator];\n\t\t\t\t}\n\t\t\t\tif(operator.indirect) {\n\t\t\t\t\toperand = self.getTextReference(operator.operand,\"\",currTiddlerTitle);\n\t\t\t\t}\n\t\t\t\tif(operator.variable) {\n\t\t\t\t\toperand = widget.getVariable(operator.operand,{defaultValue: \"\"});\n\t\t\t\t}\n\t\t\t\t// Invoke the appropriate filteroperator module\n\t\t\t\tresults = operatorFunction(accumulator,{\n\t\t\t\t\t\t\toperator: operator.operator,\n\t\t\t\t\t\t\toperand: operand,\n\t\t\t\t\t\t\tprefix: operator.prefix,\n\t\t\t\t\t\t\tsuffix: operator.suffix,\n\t\t\t\t\t\t\tregexp: operator.regexp\n\t\t\t\t\t\t},{\n\t\t\t\t\t\t\twiki: self,\n\t\t\t\t\t\t\twidget: widget\n\t\t\t\t\t\t});\n\t\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\t\taccumulator = self.makeTiddlerIterator(results);\n\t\t\t\t} else {\n\t\t\t\t\taccumulator = results;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif($tw.utils.isArray(results)) {\n\t\t\t\treturn results;\n\t\t\t} else {\n\t\t\t\tvar resultArray = [];\n\t\t\t\tresults(function(tiddler,title) {\n\t\t\t\t\tresultArray.push(title);\n\t\t\t\t});\n\t\t\t\treturn resultArray;\n\t\t\t}\n\t\t};\n\t\t// Wrap the operator functions in a wrapper function that depends on the prefix\n\t\toperationFunctions.push((function() {\n\t\t\tswitch(operation.prefix || \"\") {\n\t\t\t\tcase \"\": // No prefix means that the operation is unioned into the result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"-\": // The results of this operation are removed from the main result\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t$tw.utils.removeArrayEntries(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t\tcase \"+\": // This operation is applied to the main results so far\n\t\t\t\t\treturn function(results,source,widget) {\n\t\t\t\t\t\t// This replaces all the elements of the array, but keeps the actual array so that references to it are preserved\n\t\t\t\t\t\tsource = self.makeTiddlerIterator(results);\n\t\t\t\t\t\tresults.splice(0,results.length);\n\t\t\t\t\t\t$tw.utils.pushTop(results,operationSubFunction(source,widget));\n\t\t\t\t\t};\n\t\t\t}\n\t\t})());\n\t});\n\t// Return a function that applies the operations to a source iterator of tiddler titles\n\treturn $tw.perf.measure(\"filter\",function filterFunction(source,widget) {\n\t\tif(!source) {\n\t\t\tsource = self.each;\n\t\t} else if(typeof source === \"object\") { // Array or hashmap\n\t\t\tsource = self.makeTiddlerIterator(source);\n\t\t}\n\t\tvar results = [];\n\t\t$tw.utils.each(operationFunctions,function(operationFunction) {\n\t\t\toperationFunction(results,source,widget);\n\t\t});\n\t\treturn results;\n\t});\n};\n\n})();\n",
            "title": "$:/core/modules/filters.js",
            "type": "application/javascript",
            "module-type": "wikimethod"
        },
        "$:/core/modules/info/platform.js": {
            "text": "/*\\\ntitle: $:/core/modules/info/platform.js\ntype: application/javascript\nmodule-type: info\n\nInitialise basic platform $:/info/ tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.getInfoTiddlerFields = function() {\n\tvar mapBoolean = function(value) {return value ? \"yes\" : \"no\";},\n\t\tinfoTiddlerFields = [];\n\t// Basics\n\tinfoTiddlerFields.push({title: \"$:/info/browser\", text: mapBoolean(!!$tw.browser)});\n\tinfoTiddlerFields.push({title: \"$:/info/node\", text: mapBoolean(!!$tw.node)});\n\treturn infoTiddlerFields;\n};\n\n})();\n",
            "title": "$:/core/modules/info/platform.js",
            "type": "application/javascript",
            "module-type": "info"
        },
        "$:/core/modules/keyboard.js": {
            "text": "/*\\\ntitle: $:/core/modules/keyboard.js\ntype: application/javascript\nmodule-type: global\n\nKeyboard handling utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar namedKeys = {\n\t\"cancel\": 3,\n\t\"help\": 6,\n\t\"backspace\": 8,\n\t\"tab\": 9,\n\t\"clear\": 12,\n\t\"return\": 13,\n\t\"enter\": 13,\n\t\"pause\": 19,\n\t\"escape\": 27,\n\t\"space\": 32,\n\t\"page_up\": 33,\n\t\"page_down\": 34,\n\t\"end\": 35,\n\t\"home\": 36,\n\t\"left\": 37,\n\t\"up\": 38,\n\t\"right\": 39,\n\t\"down\": 40,\n\t\"printscreen\": 44,\n\t\"insert\": 45,\n\t\"delete\": 46,\n\t\"0\": 48,\n\t\"1\": 49,\n\t\"2\": 50,\n\t\"3\": 51,\n\t\"4\": 52,\n\t\"5\": 53,\n\t\"6\": 54,\n\t\"7\": 55,\n\t\"8\": 56,\n\t\"9\": 57,\n\t\"firefoxsemicolon\": 59,\n\t\"firefoxequals\": 61,\n\t\"a\": 65,\n\t\"b\": 66,\n\t\"c\": 67,\n\t\"d\": 68,\n\t\"e\": 69,\n\t\"f\": 70,\n\t\"g\": 71,\n\t\"h\": 72,\n\t\"i\": 73,\n\t\"j\": 74,\n\t\"k\": 75,\n\t\"l\": 76,\n\t\"m\": 77,\n\t\"n\": 78,\n\t\"o\": 79,\n\t\"p\": 80,\n\t\"q\": 81,\n\t\"r\": 82,\n\t\"s\": 83,\n\t\"t\": 84,\n\t\"u\": 85,\n\t\"v\": 86,\n\t\"w\": 87,\n\t\"x\": 88,\n\t\"y\": 89,\n\t\"z\": 90,\n\t\"numpad0\": 96,\n\t\"numpad1\": 97,\n\t\"numpad2\": 98,\n\t\"numpad3\": 99,\n\t\"numpad4\": 100,\n\t\"numpad5\": 101,\n\t\"numpad6\": 102,\n\t\"numpad7\": 103,\n\t\"numpad8\": 104,\n\t\"numpad9\": 105,\n\t\"multiply\": 106,\n\t\"add\": 107,\n\t\"separator\": 108,\n\t\"subtract\": 109,\n\t\"decimal\": 110,\n\t\"divide\": 111,\n\t\"f1\": 112,\n\t\"f2\": 113,\n\t\"f3\": 114,\n\t\"f4\": 115,\n\t\"f5\": 116,\n\t\"f6\": 117,\n\t\"f7\": 118,\n\t\"f8\": 119,\n\t\"f9\": 120,\n\t\"f10\": 121,\n\t\"f11\": 122,\n\t\"f12\": 123,\n\t\"f13\": 124,\n\t\"f14\": 125,\n\t\"f15\": 126,\n\t\"f16\": 127,\n\t\"f17\": 128,\n\t\"f18\": 129,\n\t\"f19\": 130,\n\t\"f20\": 131,\n\t\"f21\": 132,\n\t\"f22\": 133,\n\t\"f23\": 134,\n\t\"f24\": 135,\n\t\"firefoxminus\": 173,\n\t\"semicolon\": 186,\n\t\"equals\": 187,\n\t\"comma\": 188,\n\t\"dash\": 189,\n\t\"period\": 190,\n\t\"slash\": 191,\n\t\"backquote\": 192,\n\t\"openbracket\": 219,\n\t\"backslash\": 220,\n\t\"closebracket\": 221,\n\t\"quote\": 222\n};\n\nfunction KeyboardManager(options) {\n\tvar self = this;\n\toptions = options || \"\";\n\t// Save the named key hashmap\n\tthis.namedKeys = namedKeys;\n\t// Create a reverse mapping of code to keyname\n\tthis.keyNames = [];\n\t$tw.utils.each(namedKeys,function(keyCode,name) {\n\t\tself.keyNames[keyCode] = name.substr(0,1).toUpperCase() + name.substr(1);\n\t});\n\t// Save the platform-specific name of the \"meta\" key\n\tthis.metaKeyName = $tw.platform.isMac ? \"cmd-\" : \"win-\";\n}\n\n/*\nReturn an array of keycodes for the modifier keys ctrl, shift, alt, meta\n*/\nKeyboardManager.prototype.getModifierKeys = function() {\n\treturn [\n\t\t16, // Shift\n\t\t17, // Ctrl\n\t\t18, // Alt\n\t\t20, // CAPS LOCK\n\t\t91, // Meta (left)\n\t\t93, // Meta (right)\n\t\t224 // Meta (Firefox)\n\t]\n};\n\n/*\nParses a key descriptor into the structure:\n{\n\tkeyCode: numeric keycode\n\tshiftKey: boolean\n\taltKey: boolean\n\tctrlKey: boolean\n\tmetaKey: boolean\n}\nKey descriptors have the following format:\n\tctrl+enter\n\tctrl+shift+alt+A\n*/\nKeyboardManager.prototype.parseKeyDescriptor = function(keyDescriptor) {\n\tvar components = keyDescriptor.split(/\\+|\\-/),\n\t\tinfo = {\n\t\t\tkeyCode: 0,\n\t\t\tshiftKey: false,\n\t\t\taltKey: false,\n\t\t\tctrlKey: false,\n\t\t\tmetaKey: false\n\t\t};\n\tfor(var t=0; t<components.length; t++) {\n\t\tvar s = components[t].toLowerCase(),\n\t\t\tc = s.charCodeAt(0);\n\t\t// Look for modifier keys\n\t\tif(s === \"ctrl\") {\n\t\t\tinfo.ctrlKey = true;\n\t\t} else if(s === \"shift\") {\n\t\t\tinfo.shiftKey = true;\n\t\t} else if(s === \"alt\") {\n\t\t\tinfo.altKey = true;\n\t\t} else if(s === \"meta\" || s === \"cmd\" || s === \"win\") {\n\t\t\tinfo.metaKey = true;\n\t\t}\n\t\t// Replace named keys with their code\n\t\tif(this.namedKeys[s]) {\n\t\t\tinfo.keyCode = this.namedKeys[s];\n\t\t}\n\t}\n\tif(info.keyCode) {\n\t\treturn info;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nParse a list of key descriptors into an array of keyInfo objects. The key descriptors can be passed as an array of strings or a space separated string\n*/\nKeyboardManager.prototype.parseKeyDescriptors = function(keyDescriptors,options) {\n\tvar self = this;\n\toptions = options || {};\n\toptions.stack = options.stack || [];\n\tvar wiki = options.wiki || $tw.wiki;\n\tif(typeof keyDescriptors === \"string\" && keyDescriptors === \"\") {\n\t\treturn [];\n\t}\n\tif(!$tw.utils.isArray(keyDescriptors)) {\n\t\tkeyDescriptors = keyDescriptors.split(\" \");\n\t}\n\tvar result = [];\n\t$tw.utils.each(keyDescriptors,function(keyDescriptor) {\n\t\t// Look for a named shortcut\n\t\tif(keyDescriptor.substr(0,2) === \"((\" && keyDescriptor.substr(-2,2) === \"))\") {\n\t\t\tif(options.stack.indexOf(keyDescriptor) === -1) {\n\t\t\t\toptions.stack.push(keyDescriptor);\n\t\t\t\tvar name = keyDescriptor.substring(2,keyDescriptor.length - 2),\n\t\t\t\t\tlookupName = function(configName) {\n\t\t\t\t\t\tvar keyDescriptors = wiki.getTiddlerText(\"$:/config/\" + configName + \"/\" + name);\n\t\t\t\t\t\tif(keyDescriptors) {\n\t\t\t\t\t\t\tresult.push.apply(result,self.parseKeyDescriptors(keyDescriptors,options));\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\tlookupName(\"shortcuts\");\n\t\t\t\tlookupName($tw.platform.isMac ? \"shortcuts-mac\" : \"shortcuts-not-mac\");\n\t\t\t\tlookupName($tw.platform.isWindows ? \"shortcuts-windows\" : \"shortcuts-not-windows\");\n\t\t\t\tlookupName($tw.platform.isLinux ? \"shortcuts-linux\" : \"shortcuts-not-linux\");\n\t\t\t}\n\t\t} else {\n\t\t\tresult.push(self.parseKeyDescriptor(keyDescriptor));\n\t\t}\n\t});\n\treturn result;\n};\n\nKeyboardManager.prototype.getPrintableShortcuts = function(keyInfoArray) {\n\tvar self = this,\n\t\tresult = [];\n\t$tw.utils.each(keyInfoArray,function(keyInfo) {\n\t\tif(keyInfo) {\n\t\t\tresult.push((keyInfo.ctrlKey ? \"ctrl-\" : \"\") + \n\t\t\t\t   (keyInfo.shiftKey ? \"shift-\" : \"\") + \n\t\t\t\t   (keyInfo.altKey ? \"alt-\" : \"\") + \n\t\t\t\t   (keyInfo.metaKey ? self.metaKeyName : \"\") + \n\t\t\t\t   (self.keyNames[keyInfo.keyCode]));\n\t\t}\n\t});\n\treturn result;\n}\n\nKeyboardManager.prototype.checkKeyDescriptor = function(event,keyInfo) {\n\treturn keyInfo &&\n\t\t\tevent.keyCode === keyInfo.keyCode && \n\t\t\tevent.shiftKey === keyInfo.shiftKey && \n\t\t\tevent.altKey === keyInfo.altKey && \n\t\t\tevent.ctrlKey === keyInfo.ctrlKey && \n\t\t\tevent.metaKey === keyInfo.metaKey;\n};\n\nKeyboardManager.prototype.checkKeyDescriptors = function(event,keyInfoArray) {\n\tfor(var t=0; t<keyInfoArray.length; t++) {\n\t\tif(this.checkKeyDescriptor(event,keyInfoArray[t])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\nexports.KeyboardManager = KeyboardManager;\n\n})();\n",
            "title": "$:/core/modules/keyboard.js",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/language.js": {
            "text": "/*\\\ntitle: $:/core/modules/language.js\ntype: application/javascript\nmodule-type: global\n\nThe $tw.Language() manages translateable strings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate an instance of the language manager. Options include:\nwiki: wiki from which to retrieve translation tiddlers\n*/\nfunction Language(options) {\n\toptions = options || \"\";\n\tthis.wiki = options.wiki || $tw.wiki;\n}\n\n/*\nReturn a wikified translateable string. The title is automatically prefixed with \"$:/language/\"\nOptions include:\nvariables: optional hashmap of variables to supply to the language wikification\n*/\nLanguage.prototype.getString = function(title,options) {\n\toptions = options || {};\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.renderTiddler(\"text/plain\",title,{variables: options.variables});\n};\n\n/*\nReturn a raw, unwikified translateable string. The title is automatically prefixed with \"$:/language/\"\n*/\nLanguage.prototype.getRawString = function(title) {\n\ttitle = \"$:/language/\" + title;\n\treturn this.wiki.getTiddlerText(title);\n};\n\nexports.Language = Language;\n\n})();\n",
            "title": "$:/core/modules/language.js",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/macros/changecount.js": {
            "text": "/*\\\ntitle: $:/core/modules/macros/changecount.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the changecount for the current tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"changecount\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn this.wiki.getChangeCount(this.getVariable(\"currentTiddler\")) + \"\";\n};\n\n})();\n",
            "title": "$:/core/modules/macros/changecount.js",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/contrastcolour.js": {
            "text": "/*\\\ntitle: $:/core/modules/macros/contrastcolour.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to choose which of two colours has the highest contrast with a base colour\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"contrastcolour\";\n\nexports.params = [\n\t{name: \"target\"},\n\t{name: \"fallbackTarget\"},\n\t{name: \"colourA\"},\n\t{name: \"colourB\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(target,fallbackTarget,colourA,colourB) {\n\tvar rgbTarget = $tw.utils.parseCSSColor(target) || $tw.utils.parseCSSColor(fallbackTarget);\n\tif(!rgbTarget) {\n\t\treturn colourA;\n\t}\n\tvar rgbColourA = $tw.utils.parseCSSColor(colourA),\n\t\trgbColourB = $tw.utils.parseCSSColor(colourB);\n\tif(rgbColourA && !rgbColourB) {\n\t\treturn rgbColourA;\n\t}\n\tif(rgbColourB && !rgbColourA) {\n\t\treturn rgbColourB;\n\t}\n\tif(!rgbColourA && !rgbColourB) {\n\t\t// If neither colour is readable, return a crude inverse of the target\n\t\treturn [255 - rgbTarget[0],255 - rgbTarget[1],255 - rgbTarget[2],rgbTarget[3]];\n\t}\n\t// Colour brightness formula derived from http://www.w3.org/WAI/ER/WD-AERT/#color-contrast\n\tvar brightnessTarget = rgbTarget[0] * 0.299 + rgbTarget[1] * 0.587 + rgbTarget[2] * 0.114,\n\t\tbrightnessA = rgbColourA[0] * 0.299 + rgbColourA[1] * 0.587 + rgbColourA[2] * 0.114,\n\t\tbrightnessB = rgbColourB[0] * 0.299 + rgbColourB[1] * 0.587 + rgbColourB[2] * 0.114;\n\treturn Math.abs(brightnessTarget - brightnessA) > Math.abs(brightnessTarget - brightnessB) ? colourA : colourB;\n};\n\n})();\n",
            "title": "$:/core/modules/macros/contrastcolour.js",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/csvtiddlers.js": {
            "text": "/*\\\ntitle: $:/core/modules/macros/csvtiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to CSV\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"csvtiddlers\";\n\nexports.params = [\n\t{name: \"filter\"},\n\t{name: \"format\"},\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter,format) {\n\tvar self = this,\n\t\ttiddlers = this.wiki.filterTiddlers(filter),\n\t\ttiddler,\n\t\tfields = [],\n\t\tt,f;\n\t// Collect all the fields\n\tfor(t=0;t<tiddlers.length; t++) {\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tfor(f in tiddler.fields) {\n\t\t\tif(fields.indexOf(f) === -1) {\n\t\t\t\tfields.push(f);\n\t\t\t}\n\t\t}\n\t}\n\t// Sort the fields and bring the standard ones to the front\n\tfields.sort();\n\t\"title text modified modifier created creator\".split(\" \").reverse().forEach(function(value,index) {\n\t\tvar p = fields.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tfields.splice(p,1);\n\t\t\tfields.unshift(value)\n\t\t}\n\t});\n\t// Output the column headings\n\tvar output = [], row = [];\n\tfields.forEach(function(value) {\n\t\trow.push(quoteAndEscape(value))\n\t});\n\toutput.push(row.join(\",\"));\n\t// Output each tiddler\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\trow = [];\n\t\ttiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\t\tfor(f=0; f<fields.length; f++) {\n\t\t\t\trow.push(quoteAndEscape(tiddler ? tiddler.getFieldString(fields[f]) || \"\" : \"\"));\n\t\t\t}\n\t\toutput.push(row.join(\",\"));\n\t}\n\treturn output.join(\"\\n\");\n};\n\nfunction quoteAndEscape(value) {\n\treturn \"\\\"\" + value.replace(/\"/mg,\"\\\"\\\"\") + \"\\\"\";\n}\n\n})();\n",
            "title": "$:/core/modules/macros/csvtiddlers.js",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/displayshortcuts.js": {
            "text": "/*\\\ntitle: $:/core/modules/macros/displayshortcuts.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to display a list of keyboard shortcuts in human readable form. Notably, it resolves named shortcuts like `((bold))` to the underlying keystrokes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"displayshortcuts\";\n\nexports.params = [\n\t{name: \"shortcuts\"},\n\t{name: \"prefix\"},\n\t{name: \"separator\"},\n\t{name: \"suffix\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(shortcuts,prefix,separator,suffix) {\n\tvar shortcutArray = $tw.keyboardManager.getPrintableShortcuts($tw.keyboardManager.parseKeyDescriptors(shortcuts,{\n\t\twiki: this.wiki\n\t}));\n\tif(shortcutArray.length > 0) {\n\t\tshortcutArray.sort(function(a,b) {\n\t\t    return a.toLowerCase().localeCompare(b.toLowerCase());\n\t\t})\n\t\treturn prefix + shortcutArray.join(separator) + suffix;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/macros/displayshortcuts.js",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/dumpvariables.js": {
            "text": "/*\\\ntitle: $:/core/modules/macros/dumpvariables.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to dump all active variable values\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"dumpvariables\";\n\nexports.params = [\n];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\tvar output = [\"|!Variable |!Value |\"],\n\t\tvariables = [], variable;\n\tfor(variable in this.variables) {\n\t\tvariables.push(variable);\n\t}\n\tvariables.sort();\n\tfor(var index=0; index<variables.length; index++) {\n\t\tvar variable = variables[index];\n\t\toutput.push(\"|\" + variable + \" |<input size=50 value=<<\" + variable + \">>/> |\")\n\t}\n\treturn output.join(\"\\n\");\n};\n\n})();\n",
            "title": "$:/core/modules/macros/dumpvariables.js",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/jsontiddlers.js": {
            "text": "/*\\\ntitle: $:/core/modules/macros/jsontiddlers.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to output tiddlers matching a filter to JSON\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"jsontiddlers\";\n\nexports.params = [\n\t{name: \"filter\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(filter) {\n\tvar tiddlers = this.wiki.filterTiddlers(filter),\n\t\tdata = [];\n\tfor(var t=0;t<tiddlers.length; t++) {\n\t\tvar tiddler = this.wiki.getTiddler(tiddlers[t]);\n\t\tif(tiddler) {\n\t\t\tvar fields = new Object();\n\t\t\tfor(var field in tiddler.fields) {\n\t\t\t\tfields[field] = tiddler.getFieldString(field);\n\t\t\t}\n\t\t\tdata.push(fields);\n\t\t}\n\t}\n\treturn JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n};\n\n})();\n",
            "title": "$:/core/modules/macros/jsontiddlers.js",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/makedatauri.js": {
            "text": "/*\\\ntitle: $:/core/modules/macros/makedatauri.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to convert a string of text to a data URI\n\n<<makedatauri text:\"Text to be converted\" type:\"text/vnd.tiddlywiki\">>\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"makedatauri\";\n\nexports.params = [\n\t{name: \"text\"},\n\t{name: \"type\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(text,type) {\n\treturn $tw.utils.makeDataUri(text,type);\n};\n\n})();\n",
            "title": "$:/core/modules/macros/makedatauri.js",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/now.js": {
            "text": "/*\\\ntitle: $:/core/modules/macros/now.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return a formatted version of the current time\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"now\";\n\nexports.params = [\n\t{name: \"format\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(format) {\n\treturn $tw.utils.formatDateString(new Date(),format || \"0hh:0mm, DDth MMM YYYY\");\n};\n\n})();\n",
            "title": "$:/core/modules/macros/now.js",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/qualify.js": {
            "text": "/*\\\ntitle: $:/core/modules/macros/qualify.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to qualify a state tiddler title according\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"qualify\";\n\nexports.params = [\n\t{name: \"title\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(title) {\n\treturn title + \"-\" + this.getStateQualifier();\n};\n\n})();\n",
            "title": "$:/core/modules/macros/qualify.js",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/resolvepath.js": {
            "text": "/*\\\ntitle: $:/core/modules/macros/resolvepath.js\ntype: application/javascript\nmodule-type: macro\n\nResolves a relative path for an absolute rootpath.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"resolvepath\";\n\nexports.params = [\n\t{name: \"source\"},\n\t{name: \"root\"}\n];\n\n/*\nRun the macro\n*/\nexports.run = function(source, root) {\n\treturn $tw.utils.resolvePath(source, root);\n};\n\n})();\n",
            "title": "$:/core/modules/macros/resolvepath.js",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/macros/version.js": {
            "text": "/*\\\ntitle: $:/core/modules/macros/version.js\ntype: application/javascript\nmodule-type: macro\n\nMacro to return the TiddlyWiki core version number\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInformation about this macro\n*/\n\nexports.name = \"version\";\n\nexports.params = [];\n\n/*\nRun the macro\n*/\nexports.run = function() {\n\treturn $tw.version;\n};\n\n})();\n",
            "title": "$:/core/modules/macros/version.js",
            "type": "application/javascript",
            "module-type": "macro"
        },
        "$:/core/modules/parsers/audioparser.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/audioparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe audio parser parses an audio tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar AudioParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"audio\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"audio/ogg\"] = AudioParser;\nexports[\"audio/mpeg\"] = AudioParser;\nexports[\"audio/mp3\"] = AudioParser;\nexports[\"audio/mp4\"] = AudioParser;\n\n})();\n\n",
            "title": "$:/core/modules/parsers/audioparser.js",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/csvparser.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/csvparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe CSV text parser processes CSV files into a table wrapped in a scrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar CsvParser = function(type,text,options) {\n\t// Table framework\n\tthis.tree = [{\n\t\t\"type\": \"scrollable\", \"children\": [{\n\t\t\t\"type\": \"element\", \"tag\": \"table\", \"children\": [{\n\t\t\t\t\"type\": \"element\", \"tag\": \"tbody\", \"children\": []\n\t\t\t}], \"attributes\": {\n\t\t\t\t\"class\": {\"type\": \"string\", \"value\": \"tc-csv-table\"}\n\t\t\t}\n\t\t}]\n\t}];\n\t// Split the text into lines\n\tvar lines = text.split(/\\r?\\n/mg),\n\t\ttag = \"th\";\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar lineText = lines[line];\n\t\tif(lineText) {\n\t\t\tvar row = {\n\t\t\t\t\t\"type\": \"element\", \"tag\": \"tr\", \"children\": []\n\t\t\t\t};\n\t\t\tvar columns = lineText.split(\",\");\n\t\t\tfor(var column=0; column<columns.length; column++) {\n\t\t\t\trow.children.push({\n\t\t\t\t\t\t\"type\": \"element\", \"tag\": tag, \"children\": [{\n\t\t\t\t\t\t\t\"type\": \"text\",\n\t\t\t\t\t\t\t\"text\": columns[column]\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t}\n\t\t\ttag = \"td\";\n\t\t\tthis.tree[0].children[0].children[0].children.push(row);\n\t\t}\n\t}\n};\n\nexports[\"text/csv\"] = CsvParser;\n\n})();\n\n",
            "title": "$:/core/modules/parsers/csvparser.js",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/htmlparser.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/htmlparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe HTML parser displays text as raw HTML\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar HtmlParser = function(type,text,options) {\n\tvar src;\n\tif(options._canonical_uri) {\n\t\tsrc = options._canonical_uri;\n\t} else if(text) {\n\t\tsrc = \"data:text/html;charset=utf-8,\" + encodeURIComponent(text);\n\t}\n\tthis.tree = [{\n\t\ttype: \"element\",\n\t\ttag: \"iframe\",\n\t\tattributes: {\n\t\t\tsrc: {type: \"string\", value: src},\n\t\t\tsandbox: {type: \"string\", value: \"\"}\n\t\t}\n\t}];\n};\n\nexports[\"text/html\"] = HtmlParser;\n\n})();\n\n",
            "title": "$:/core/modules/parsers/htmlparser.js",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/imageparser.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/imageparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe image parser parses an image into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ImageParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"img\",\n\t\t\tattributes: {}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t\tif(type === \"application/pdf\" || type === \".pdf\") {\n\t\t\telement.tag = \"embed\";\n\t\t}\n\t} else if(text) {\n\t\tif(type === \"application/pdf\" || type === \".pdf\") {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:application/pdf;base64,\" + text};\n\t\t\telement.tag = \"embed\";\n\t\t} else if(type === \"image/svg+xml\" || type === \".svg\") {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:image/svg+xml,\" + encodeURIComponent(text)};\n\t\t} else {\n\t\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t\t}\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"image/svg+xml\"] = ImageParser;\nexports[\"image/jpg\"] = ImageParser;\nexports[\"image/jpeg\"] = ImageParser;\nexports[\"image/png\"] = ImageParser;\nexports[\"image/gif\"] = ImageParser;\nexports[\"application/pdf\"] = ImageParser;\nexports[\"image/x-icon\"] = ImageParser;\n\n})();\n\n",
            "title": "$:/core/modules/parsers/imageparser.js",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/utils/parseutils.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/parseutils.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions concerned with parsing text into tokens.\n\nMost functions have the following pattern:\n\n* The parameters are:\n** `source`: the source string being parsed\n** `pos`: the current parse position within the string\n** Any further parameters are used to identify the token that is being parsed\n* The return value is:\n** null if the token was not found at the specified position\n** an object representing the token with the following standard fields:\n*** `type`: string indicating the type of the token\n*** `start`: start position of the token in the source string\n*** `end`: end position of the token in the source string\n*** Any further fields required to describe the token\n\nThe exception is `skipWhiteSpace`, which just returns the position after the whitespace.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for a whitespace token. Returns null if not found, otherwise returns {type: \"whitespace\", start:, end:,}\n*/\nexports.parseWhiteSpace = function(source,pos) {\n\tvar p = pos,c;\n\twhile(true) {\n\t\tc = source.charAt(p);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tp++;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(p === pos) {\n\t\treturn null;\n\t} else {\n\t\treturn {\n\t\t\ttype: \"whitespace\",\n\t\t\tstart: pos,\n\t\t\tend: p\n\t\t}\n\t}\n};\n\n/*\nConvenience wrapper for parseWhiteSpace. Returns the position after the whitespace\n*/\nexports.skipWhiteSpace = function(source,pos) {\n\tvar c;\n\twhile(true) {\n\t\tc = source.charAt(pos);\n\t\tif((c === \" \") || (c === \"\\f\") || (c === \"\\n\") || (c === \"\\r\") || (c === \"\\t\") || (c === \"\\v\") || (c === \"\\u00a0\")) { // Ignores some obscure unicode spaces\n\t\t\tpos++;\n\t\t} else {\n\t\t\treturn pos;\n\t\t}\n\t}\n};\n\n/*\nLook for a given string token. Returns null if not found, otherwise returns {type: \"token\", value:, start:, end:,}\n*/\nexports.parseTokenString = function(source,pos,token) {\n\tvar match = source.indexOf(token,pos) === pos;\n\tif(match) {\n\t\treturn {\n\t\t\ttype: \"token\",\n\t\t\tvalue: token,\n\t\t\tstart: pos,\n\t\t\tend: pos + token.length\n\t\t};\n\t}\n\treturn null;\n};\n\n/*\nLook for a token matching a regex. Returns null if not found, otherwise returns {type: \"regexp\", match:, start:, end:,}\n*/\nexports.parseTokenRegExp = function(source,pos,reToken) {\n\tvar node = {\n\t\ttype: \"regexp\",\n\t\tstart: pos\n\t};\n\treToken.lastIndex = pos;\n\tnode.match = reToken.exec(source);\n\tif(node.match && node.match.index === pos) {\n\t\tnode.end = pos + node.match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a string literal. Returns null if not found, otherwise returns {type: \"string\", value:, start:, end:,}\n*/\nexports.parseStringLiteral = function(source,pos) {\n\tvar node = {\n\t\ttype: \"string\",\n\t\tstart: pos\n\t};\n\tvar reString = /(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\")|(?:'([^']*)')/g;\n\treString.lastIndex = pos;\n\tvar match = reString.exec(source);\n\tif(match && match.index === pos) {\n\t\tnode.value = match[1] !== undefined ? match[1] :(\n\t\t\tmatch[2] !== undefined ? match[2] : match[3] \n\t\t\t\t\t);\n\t\tnode.end = pos + match[0].length;\n\t\treturn node;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLook for a macro invocation parameter. Returns null if not found, or {type: \"macro-parameter\", name:, value:, start:, end:}\n*/\nexports.parseMacroParameter = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macro-parameter\",\n\t\tstart: pos\n\t};\n\t// Define our regexp\n\tvar reMacroParameter = /(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\\s>\"'=]+)))/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the parameter\n\tvar token = $tw.utils.parseTokenRegExp(source,pos,reMacroParameter);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the parameter details\n\tnode.value = token.match[2] !== undefined ? token.match[2] : (\n\t\t\t\t\ttoken.match[3] !== undefined ? token.match[3] : (\n\t\t\t\t\t\ttoken.match[4] !== undefined ? token.match[4] : (\n\t\t\t\t\t\t\ttoken.match[5] !== undefined ? token.match[5] : (\n\t\t\t\t\t\t\t\ttoken.match[6] !== undefined ? token.match[6] : (\n\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\tif(token.match[1]) {\n\t\tnode.name = token.match[1];\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for a macro invocation. Returns null if not found, or {type: \"macrocall\", name:, parameters:, start:, end:}\n*/\nexports.parseMacroInvocation = function(source,pos) {\n\tvar node = {\n\t\ttype: \"macrocall\",\n\t\tstart: pos,\n\t\tparams: []\n\t};\n\t// Define our regexps\n\tvar reMacroName = /([^\\s>\"'=]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double less than sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"<<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the macro name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reMacroName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Process parameters\n\tvar parameter = $tw.utils.parseMacroParameter(source,pos);\n\twhile(parameter) {\n\t\tnode.params.push(parameter);\n\t\tpos = parameter.end;\n\t\t// Get the next parameter\n\t\tparameter = $tw.utils.parseMacroParameter(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a double greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">>\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n/*\nLook for an HTML attribute definition. Returns null if not found, otherwise returns {type: \"attribute\", name:, valueType: \"string|indirect|macro\", value:, start:, end:,}\n*/\nexports.parseAttribute = function(source,pos) {\n\tvar node = {\n\t\tstart: pos\n\t};\n\t// Define our regexps\n\tvar reAttributeName = /([^\\/\\s>\"'=]+)/g,\n\t\treUnquotedAttribute = /([^\\/\\s<>\"'=]+)/g,\n\t\treIndirectValue = /\\{\\{([^\\}]+)\\}\\}/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the attribute name\n\tvar name = $tw.utils.parseTokenRegExp(source,pos,reAttributeName);\n\tif(!name) {\n\t\treturn null;\n\t}\n\tnode.name = name.match[1];\n\tpos = name.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for an equals sign\n\tvar token = $tw.utils.parseTokenString(source,pos,\"=\");\n\tif(token) {\n\t\tpos = token.end;\n\t\t// Skip whitespace\n\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t// Look for a string literal\n\t\tvar stringLiteral = $tw.utils.parseStringLiteral(source,pos);\n\t\tif(stringLiteral) {\n\t\t\tpos = stringLiteral.end;\n\t\t\tnode.type = \"string\";\n\t\t\tnode.value = stringLiteral.value;\n\t\t} else {\n\t\t\t// Look for an indirect value\n\t\t\tvar indirectValue = $tw.utils.parseTokenRegExp(source,pos,reIndirectValue);\n\t\t\tif(indirectValue) {\n\t\t\t\tpos = indirectValue.end;\n\t\t\t\tnode.type = \"indirect\";\n\t\t\t\tnode.textReference = indirectValue.match[1];\n\t\t\t} else {\n\t\t\t\t// Look for a unquoted value\n\t\t\t\tvar unquotedValue = $tw.utils.parseTokenRegExp(source,pos,reUnquotedAttribute);\n\t\t\t\tif(unquotedValue) {\n\t\t\t\t\tpos = unquotedValue.end;\n\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\tnode.value = unquotedValue.match[1];\n\t\t\t\t} else {\n\t\t\t\t\t// Look for a macro invocation value\n\t\t\t\t\tvar macroInvocation = $tw.utils.parseMacroInvocation(source,pos);\n\t\t\t\t\tif(macroInvocation) {\n\t\t\t\t\t\tpos = macroInvocation.end;\n\t\t\t\t\t\tnode.type = \"macro\";\n\t\t\t\t\t\tnode.value = macroInvocation;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode.type = \"string\";\n\t\t\t\t\t\tnode.value = \"true\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tnode.type = \"string\";\n\t\tnode.value = \"true\";\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
            "title": "$:/core/modules/utils/parseutils.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/parsers/textparser.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/textparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe plain text parser processes blocks of source text into a degenerate parse tree consisting of a single text node\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar TextParser = function(type,text,options) {\n\tthis.tree = [{\n\t\ttype: \"codeblock\",\n\t\tattributes: {\n\t\t\tcode: {type: \"string\", value: text},\n\t\t\tlanguage: {type: \"string\", value: type}\n\t\t}\n\t}];\n};\n\nexports[\"text/plain\"] = TextParser;\nexports[\"text/x-tiddlywiki\"] = TextParser;\nexports[\"application/javascript\"] = TextParser;\nexports[\"application/json\"] = TextParser;\nexports[\"text/css\"] = TextParser;\nexports[\"application/x-tiddler-dictionary\"] = TextParser;\n\n})();\n\n",
            "title": "$:/core/modules/parsers/textparser.js",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/videoparser.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/videoparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe video parser parses a video tiddler into an embeddable HTML element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar AudioParser = function(type,text,options) {\n\tvar element = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"video\",\n\t\t\tattributes: {\n\t\t\t\tcontrols: {type: \"string\", value: \"controls\"}\n\t\t\t}\n\t\t},\n\t\tsrc;\n\tif(options._canonical_uri) {\n\t\telement.attributes.src = {type: \"string\", value: options._canonical_uri};\n\t} else if(text) {\n\t\telement.attributes.src = {type: \"string\", value: \"data:\" + type + \";base64,\" + text};\n\t}\n\tthis.tree = [element];\n};\n\nexports[\"video/mp4\"] = AudioParser;\n\n})();\n\n",
            "title": "$:/core/modules/parsers/videoparser.js",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/wikiparser/rules/codeblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for code blocks. For example:\n\n```\n\t```\n\tThis text will not be //wikified//\n\t```\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match and get language if defined\n\tthis.matchRegExp = /```([\\w-]*)\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\\r?\\n```$)/mg;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Return the $codeblock widget\n\treturn [{\n\t\t\ttype: \"codeblock\",\n\t\t\tattributes: {\n\t\t\t\t\tcode: {type: \"string\", value: text},\n\t\t\t\t\tlanguage: {type: \"string\", value: this.match[1]}\n\t\t\t}\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/codeblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/codeinline.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/codeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for code runs. For example:\n\n```\n\tThis is a `code run`.\n\tThis is another ``code run``\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"codeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(``?)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar reEnd = new RegExp(this.match[1], \"mg\");\n\t// Look for the end marker\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the text\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"code\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: text\n\t\t}]\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/codeinline.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/commentblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/commentblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/commentinline.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/commentinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML comments. For example:\n\n```\n<!-- This is a comment -->\n```\n\nNote that the syntax for comments is simplified to an opening \"<!--\" sequence and a closing \"-->\" sequence -- HTML itself implements a more complex format (see http://ostermiller.org/findhtmlcomment.html)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"commentinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\tthis.matchRegExp = /<!--/mg;\n\tthis.endMatchRegExp = /-->/mg;\n};\n\nexports.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\tif(this.match) {\n\t\tthis.endMatchRegExp.lastIndex = startPos + this.match[0].length;\n\t\tthis.endMatch = this.endMatchRegExp.exec(this.parser.source);\n\t\tif(this.endMatch) {\n\t\t\treturn this.match.index;\n\t\t}\n\t}\n\treturn undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.endMatchRegExp.lastIndex;\n\t// Don't return any elements\n\treturn [];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/commentinline.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/dash.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/dash.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for dashes. For example:\n\n```\nThis is an en-dash: --\n\nThis is an em-dash: ---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"dash\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{2,3}(?!-)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar dash = this.match[0].length === 2 ? \"&ndash;\" : \"&mdash;\";\n\treturn [{\n\t\ttype: \"entity\",\n\t\tentity: dash\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/dash.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/bold.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - bold. For example:\n\n```\n\tThis is ''bold'' text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except bold \n\\rules only bold \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"bold\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /''/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/''/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strong\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/bold.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/italic.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - italic. For example:\n\n```\n\tThis is //italic// text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except italic\n\\rules only italic\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"italic\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\/\\//mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\/\\//mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"em\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/italic.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - strikethrough. For example:\n\n```\n\tThis is ~~strikethrough~~ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except strikethrough \n\\rules only strikethrough \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"strikethrough\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~~/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/~~/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"strike\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/strikethrough.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - subscript. For example:\n\n```\n\tThis is ,,subscript,, text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except subscript \n\\rules only subscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"subscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /,,/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/,,/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sub\",\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/subscript.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - superscript. For example:\n\n```\n\tThis is ^^superscript^^ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except superscript \n\\rules only superscript \n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"superscript\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\^\\^/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/\\^\\^/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"sup\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/superscript.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for emphasis - underscore. For example:\n\n```\n\tThis is __underscore__ text\n```\n\nThis wikiparser can be modified using the rules eg:\n\n```\n\\rules except underscore \n\\rules only underscore\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"underscore\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /__/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\n\t// Parse the run including the terminator\n\tvar tree = this.parser.parseInlineRun(/__/mg,{eatTerminator: true});\n\n\t// Return the classed span\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"u\",\n\t\tchildren: tree\n\t}];\n};\n\n})();",
            "title": "$:/core/modules/parsers/wikiparser/rules/emphasis/underscore.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/entity.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/entity.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for HTML entities. For example:\n\n```\n\tThis is a copyright symbol: &copy;\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"entity\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(&#?[a-zA-Z0-9]{2,8};)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar entityString = this.match[1];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Return the entity\n\treturn [{type: \"entity\", entity: this.match[0]}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/entity.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/extlink.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/extlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\nAn external link: http://www.tiddlywiki.com/\n\nA suppressed external link: ~http://www.tiddlyspace.com/\n```\n\nExternal links can be suppressed by preceding them with `~`.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"extlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~?(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(this.match[0].substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: this.match[0].substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: this.match[0]},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: this.match[0]\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/extlink.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t},\n\t\tisBlock: true\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline filtered transclusion. For example:\n\n```\n{{{ [tag[docs]] }}}\n{{{ [tag[docs]] |tooltip}}}\n{{{ [tag[docs]] ||TemplateTitle}}}\n{{{ [tag[docs]] |tooltip||TemplateTitle}}}\n{{{ [tag[docs]] }}width:40;height:50;}.class.class\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"filteredtranscludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{\\{([^\\|]+?)(?:\\|([^\\|\\{\\}]+))?(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}([^\\}]*)\\}(?:\\.(\\S+))?/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar filter = this.match[1],\n\t\ttooltip = this.match[2],\n\t\ttemplate = $tw.utils.trim(this.match[3]),\n\t\tstyle = this.match[4],\n\t\tclasses = this.match[5];\n\t// Return the list widget\n\tvar node = {\n\t\ttype: \"list\",\n\t\tattributes: {\n\t\t\tfilter: {type: \"string\", value: filter}\n\t\t}\n\t};\n\tif(tooltip) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: tooltip};\n\t}\n\tif(template) {\n\t\tnode.attributes.template = {type: \"string\", value: template};\n\t}\n\tif(style) {\n\t\tnode.attributes.style = {type: \"string\", value: style};\n\t}\n\tif(classes) {\n\t\tnode.attributes.itemClass = {type: \"string\", value: classes.split(\".\").join(\" \")};\n\t}\n\treturn [node];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for marking areas with hard line breaks. For example:\n\n```\n\"\"\"\nThis is some text\nThat is set like\nIt is a Poem\nWhen it is\nClearly\nNot\n\"\"\"\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"hardlinebreaks\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\"\"\"(?:\\r?\\n)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /(\"\"\")|(\\r?\\n)/mg,\n\t\ttree = [],\n\t\tmatch;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tdo {\n\t\t// Parse the run up to the terminator\n\t\ttree.push.apply(tree,this.parser.parseInlineRun(reEnd,{eatTerminator: false}));\n\t\t// Redo the terminator match\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tmatch = reEnd.exec(this.parser.source);\n\t\tif(match) {\n\t\t\tthis.parser.pos = reEnd.lastIndex;\n\t\t\t// Add a line break if the terminator was a line break\n\t\t\tif(match[2]) {\n\t\t\t\ttree.push({type: \"element\", tag: \"br\"});\n\t\t\t}\n\t\t}\n\t} while(match && !match[1]);\n\t// Return the nodes\n\treturn tree;\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/hardlinebreaks.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/heading.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/heading.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for headings\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"heading\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(!{1,6})/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar headingLevel = this.match[1].length;\n\t// Move past the !s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse any classes, whitespace and then the heading itself\n\tvar classes = this.parser.parseClasses();\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// Return the heading\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"h\" + headingLevel, \n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: classes.join(\" \")}\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/heading.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/horizrule.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/horizrule.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for rules. For example:\n\n```\n---\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"horizrule\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /-{3,}\\r?(?:\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\treturn [{type: \"element\", tag: \"hr\"}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/horizrule.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/html.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/html.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for HTML elements and widgets. For example:\n\n{{{\n<aside>\nThis is an HTML5 aside element\n</aside>\n\n<$slider target=\"MyTiddler\">\nThis is a widget invocation\n</$slider>\n\n}}}\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"html\";\nexports.types = {inline: true, block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextTag = this.findNextTag(this.parser.source,startPos,{\n\t\trequireLineBreak: this.is.block\n\t});\n\treturn this.nextTag ? this.nextTag.start : undefined;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Retrieve the most recent match so that recursive calls don't overwrite it\n\tvar tag = this.nextTag;\n\tthis.nextTag = null;\n\t// Advance the parser position to past the tag\n\tthis.parser.pos = tag.end;\n\t// Check for an immediately following double linebreak\n\tvar hasLineBreak = !tag.isSelfClosing && !!$tw.utils.parseTokenRegExp(this.parser.source,this.parser.pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t// Set whether we're in block mode\n\ttag.isBlock = this.is.block || hasLineBreak;\n\t// Parse the body if we need to\n\tif(!tag.isSelfClosing && $tw.config.htmlVoidElements.indexOf(tag.tag) === -1) {\n\t\t\tvar reEndString = \"</\" + $tw.utils.escapeRegExp(tag.tag) + \">\",\n\t\t\t\treEnd = new RegExp(\"(\" + reEndString + \")\",\"mg\");\n\t\tif(hasLineBreak) {\n\t\t\ttag.children = this.parser.parseBlocks(reEndString);\n\t\t} else {\n\t\t\ttag.children = this.parser.parseInlineRun(reEnd);\n\t\t}\n\t\treEnd.lastIndex = this.parser.pos;\n\t\tvar endMatch = reEnd.exec(this.parser.source);\n\t\tif(endMatch && endMatch.index === this.parser.pos) {\n\t\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t\t}\n\t}\n\t// Return the tag\n\treturn [tag];\n};\n\n/*\nLook for an HTML tag. Returns null if not found, otherwise returns {type: \"element\", name:, attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseTag = function(source,pos,options) {\n\toptions = options || {};\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Define our regexps\n\tvar reTagName = /([a-zA-Z0-9\\-\\$]+)/g;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a less than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\"<\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Get the tag name\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,reTagName);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tnode.tag = token.match[1];\n\tif(node.tag.charAt(0) === \"$\") {\n\t\tnode.type = node.tag.substr(1);\n\t}\n\tpos = token.end;\n\t// Process attributes\n\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\twhile(attribute) {\n\t\tnode.attributes[attribute.name] = attribute;\n\t\tpos = attribute.end;\n\t\t// Get the next attribute\n\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for a closing slash\n\ttoken = $tw.utils.parseTokenString(source,pos,\"/\");\n\tif(token) {\n\t\tpos = token.end;\n\t\tnode.isSelfClosing = true;\n\t}\n\t// Look for a greater than sign\n\ttoken = $tw.utils.parseTokenString(source,pos,\">\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Check for a required line break\n\tif(options.requireLineBreak) {\n\t\ttoken = $tw.utils.parseTokenRegExp(source,pos,/([^\\S\\n\\r]*\\r?\\n(?:[^\\S\\n\\r]*\\r?\\n|$))/g);\n\t\tif(!token) {\n\t\t\treturn null;\n\t\t}\n\t}\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\nexports.findNextTag = function(source,pos,options) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /<([a-zA-Z\\-\\$]+)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseTag(source,match.index,options);\n\t\t// Return success\n\t\tif(tag && this.isLegalTag(tag)) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\nexports.isLegalTag = function(tag) {\n\t// Widgets are always OK\n\tif(tag.type !== \"element\") {\n\t\treturn true;\n\t// If it's an HTML tag that starts with a dash then it's not legal\n\t} else if(tag.tag.charAt(0) === \"-\") {\n\t\treturn false;\n\t} else {\n\t\t// Otherwise it's OK\n\t\treturn true;\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/html.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/image.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/image.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for embedding images. For example:\n\n```\n[img[http://tiddlywiki.com/fractalveg.jpg]]\n[img width=23 height=24 [http://tiddlywiki.com/fractalveg.jpg]]\n[img width={{!!width}} height={{!!height}} [http://tiddlywiki.com/fractalveg.jpg]]\n[img[Description of image|http://tiddlywiki.com/fractalveg.jpg]]\n[img[TiddlerTitle]]\n[img[Description of image|TiddlerTitle]]\n```\n\nGenerates the `<$image>` widget.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"image\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextImage = this.findNextImage(this.parser.source,startPos);\n\treturn this.nextImage ? this.nextImage.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextImage.end;\n\tvar node = {\n\t\ttype: \"image\",\n\t\tattributes: this.nextImage.attributes\n\t};\n\treturn [node];\n};\n\n/*\nFind the next image from the current position\n*/\nexports.findNextImage = function(source,pos) {\n\t// A regexp for finding candidate HTML tags\n\tvar reLookahead = /(\\[img)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a tag\n\t\tvar tag = this.parseImage(source,match.index);\n\t\t// Return success\n\t\tif(tag) {\n\t\t\treturn tag;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an image at the specified position. Returns null if not found, otherwise returns {type: \"image\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseImage = function(source,pos) {\n\tvar token,\n\t\tnode = {\n\t\t\ttype: \"image\",\n\t\t\tstart: pos,\n\t\t\tattributes: {}\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[img`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[img\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Process attributes\n\tif(source.charAt(pos) !== \"[\") {\n\t\tvar attribute = $tw.utils.parseAttribute(source,pos);\n\t\twhile(attribute) {\n\t\t\tnode.attributes[attribute.name] = attribute;\n\t\t\tpos = attribute.end;\n\t\t\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t\t\tif(source.charAt(pos) !== \"[\") {\n\t\t\t\t// Get the next attribute\n\t\t\t\tattribute = $tw.utils.parseAttribute(source,pos);\n\t\t\t} else {\n\t\t\t\tattribute = null;\n\t\t\t}\n\t\t}\n\t}\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[` after the attributes\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Get the source up to the terminating `]]`\n\ttoken = $tw.utils.parseTokenRegExp(source,pos,/(?:([^|\\]]*?)\\|)?([^\\]]+?)\\]\\]/g);\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\tif(token.match[1]) {\n\t\tnode.attributes.tooltip = {type: \"string\", value: token.match[1].trim()};\n\t}\n\tnode.attributes.source = {type: \"string\", value: (token.match[2] || \"\").trim()};\n\t// Update the end position\n\tnode.end = pos;\n\treturn node;\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/image.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/list.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/list.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for lists. For example:\n\n```\n* This is an unordered list\n* It has two items\n\n# This is a numbered list\n## With a subitem\n# And a third item\n\n; This is a term that is being defined\n: This is the definition of that term\n```\n\nNote that lists can be nested arbitrarily:\n\n```\n#** One\n#* Two\n#** Three\n#**** Four\n#**# Five\n#**## Six\n## Seven\n### Eight\n## Nine\n```\n\nA CSS class can be applied to a list item as follows:\n\n```\n* List item one\n*.active List item two has the class `active`\n* List item three\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"list\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /([\\*#;:>]+)/mg;\n};\n\nvar listTypes = {\n\t\"*\": {listTag: \"ul\", itemTag: \"li\"},\n\t\"#\": {listTag: \"ol\", itemTag: \"li\"},\n\t\";\": {listTag: \"dl\", itemTag: \"dt\"},\n\t\":\": {listTag: \"dl\", itemTag: \"dd\"},\n\t\">\": {listTag: \"blockquote\", itemTag: \"p\"}\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Array of parse tree nodes for the previous row of the list\n\tvar listStack = [];\n\t// Cycle through the items in the list\n\twhile(true) {\n\t\t// Match the list marker\n\t\tvar reMatch = /([\\*#;:>]+)/mg;\n\t\treMatch.lastIndex = this.parser.pos;\n\t\tvar match = reMatch.exec(this.parser.source);\n\t\tif(!match || match.index !== this.parser.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check whether the list type of the top level matches\n\t\tvar listInfo = listTypes[match[0].charAt(0)];\n\t\tif(listStack.length > 0 && listStack[0].tag !== listInfo.listTag) {\n\t\t\tbreak;\n\t\t}\n\t\t// Move past the list marker\n\t\tthis.parser.pos = match.index + match[0].length;\n\t\t// Walk through the list markers for the current row\n\t\tfor(var t=0; t<match[0].length; t++) {\n\t\t\tlistInfo = listTypes[match[0].charAt(t)];\n\t\t\t// Remove any stacked up element if we can't re-use it because the list type doesn't match\n\t\t\tif(listStack.length > t && listStack[t].tag !== listInfo.listTag) {\n\t\t\t\tlistStack.splice(t,listStack.length - t);\n\t\t\t}\n\t\t\t// Construct the list element or reuse the previous one at this level\n\t\t\tif(listStack.length <= t) {\n\t\t\t\tvar listElement = {type: \"element\", tag: listInfo.listTag, children: [\n\t\t\t\t\t{type: \"element\", tag: listInfo.itemTag, children: []}\n\t\t\t\t]};\n\t\t\t\t// Link this list element into the last child item of the parent list item\n\t\t\t\tif(t) {\n\t\t\t\t\tvar prevListItem = listStack[t-1].children[listStack[t-1].children.length-1];\n\t\t\t\t\tprevListItem.children.push(listElement);\n\t\t\t\t}\n\t\t\t\t// Save this element in the stack\n\t\t\t\tlistStack[t] = listElement;\n\t\t\t} else if(t === (match[0].length - 1)) {\n\t\t\t\tlistStack[t].children.push({type: \"element\", tag: listInfo.itemTag, children: []});\n\t\t\t}\n\t\t}\n\t\tif(listStack.length > match[0].length) {\n\t\t\tlistStack.splice(match[0].length,listStack.length - match[0].length);\n\t\t}\n\t\t// Process the body of the list item into the last list item\n\t\tvar lastListChildren = listStack[listStack.length-1].children,\n\t\t\tlastListItem = lastListChildren[lastListChildren.length-1],\n\t\t\tclasses = this.parser.parseClasses();\n\t\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\t\tvar tree = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t\tlastListItem.children.push.apply(lastListItem.children,tree);\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(lastListItem,classes.join(\" \"));\n\t\t}\n\t\t// Consume any whitespace following the list item\n\t\tthis.parser.skipWhitespace();\n\t}\n\t// Return the root element of the list\n\treturn [listStack[0]];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/list.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for block macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^>\\s]+)(?:\\s*)((?:[^>]|(?:>(?!>)))*?)>>(?:\\r?\\n|$)/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params,\n\t\tisBlock: true\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/macrocallblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrocallinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki rule for macro calls\n\n```\n<<name value value2>>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrocallinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /<<([^\\s>]+)\\s*([\\s\\S]*?)>>/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get all the details of the match\n\tvar macroName = this.match[1],\n\t\tparamString = this.match[2];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\tvar params = [],\n\t\treParam = /\\s*(?:([A-Za-z0-9\\-_]+)\\s*:)?(?:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))/mg,\n\t\tparamMatch = reParam.exec(paramString);\n\twhile(paramMatch) {\n\t\t// Process this parameter\n\t\tvar paramInfo = {\n\t\t\tvalue: paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5]|| paramMatch[6]\n\t\t};\n\t\tif(paramMatch[1]) {\n\t\t\tparamInfo.name = paramMatch[1];\n\t\t}\n\t\tparams.push(paramInfo);\n\t\t// Find the next match\n\t\tparamMatch = reParam.exec(paramString);\n\t}\n\treturn [{\n\t\ttype: \"macrocall\",\n\t\tname: macroName,\n\t\tparams: params\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/macrocallinline.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/macrodef.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/macrodef.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for macro definitions\n\n```\n\\define name(param:defaultvalue,param2:defaultvalue)\ndefinition text, including $param$ markers\n\\end\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"macrodef\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\define\\s+([^(\\s]+)\\(\\s*([^)]*)\\)(\\s*\\r?\\n)?/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the macro name and parameters\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the parameters\n\tvar paramString = this.match[2],\n\t\tparams = [];\n\tif(paramString !== \"\") {\n\t\tvar reParam = /\\s*([A-Za-z0-9\\-_]+)(?:\\s*:\\s*(?:\"\"\"([\\s\\S]*?)\"\"\"|\"([^\"]*)\"|'([^']*)'|\\[\\[([^\\]]*)\\]\\]|([^\"'\\s]+)))?/mg,\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\twhile(paramMatch) {\n\t\t\t// Save the parameter details\n\t\t\tvar paramInfo = {name: paramMatch[1]},\n\t\t\t\tdefaultValue = paramMatch[2] || paramMatch[3] || paramMatch[4] || paramMatch[5] || paramMatch[6];\n\t\t\tif(defaultValue) {\n\t\t\t\tparamInfo[\"default\"] = defaultValue;\n\t\t\t}\n\t\t\tparams.push(paramInfo);\n\t\t\t// Look for the next parameter\n\t\t\tparamMatch = reParam.exec(paramString);\n\t\t}\n\t}\n\t// Is this a multiline definition?\n\tvar reEnd;\n\tif(this.match[3]) {\n\t\t// If so, the end of the body is marked with \\end\n\t\treEnd = /(\\r?\\n\\\\end[^\\S\\n\\r]*(?:$|\\r?\\n))/mg;\n\t} else {\n\t\t// Otherwise, the end of the definition is marked by the end of the line\n\t\treEnd = /(\\r?\\n)/mg;\n\t\t// Move past any whitespace\n\t\tthis.parser.pos = $tw.utils.skipWhiteSpace(this.parser.source,this.parser.pos);\n\t}\n\t// Find the end of the definition\n\treEnd.lastIndex = this.parser.pos;\n\tvar text,\n\t\tendMatch = reEnd.exec(this.parser.source);\n\tif(endMatch) {\n\t\ttext = this.parser.source.substring(this.parser.pos,endMatch.index);\n\t\tthis.parser.pos = endMatch.index + endMatch[0].length;\n\t} else {\n\t\t// We didn't find the end of the definition, so we'll make it blank\n\t\ttext = \"\";\n\t}\n\t// Save the macro definition\n\treturn [{\n\t\ttype: \"set\",\n\t\tattributes: {\n\t\t\tname: {type: \"string\", value: this.match[1]},\n\t\t\tvalue: {type: \"string\", value: text}\n\t\t},\n\t\tchildren: [],\n\t\tparams: params\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/macrodef.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/prettyextlink.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettyextlink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for external links. For example:\n\n```\n[ext[http://tiddlywiki.com/fractalveg.jpg]]\n[ext[Tooltip|http://tiddlywiki.com/fractalveg.jpg]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettyextlink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n};\n\nexports.findNextMatch = function(startPos) {\n\t// Find the next tag\n\tthis.nextLink = this.findNextLink(this.parser.source,startPos);\n\treturn this.nextLink ? this.nextLink.start : undefined;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.nextLink.end;\n\treturn [this.nextLink];\n};\n\n/*\nFind the next link from the current position\n*/\nexports.findNextLink = function(source,pos) {\n\t// A regexp for finding candidate links\n\tvar reLookahead = /(\\[ext\\[)/g;\n\t// Find the next candidate\n\treLookahead.lastIndex = pos;\n\tvar match = reLookahead.exec(source);\n\twhile(match) {\n\t\t// Try to parse the candidate as a link\n\t\tvar link = this.parseLink(source,match.index);\n\t\t// Return success\n\t\tif(link) {\n\t\t\treturn link;\n\t\t}\n\t\t// Look for the next match\n\t\treLookahead.lastIndex = match.index + 1;\n\t\tmatch = reLookahead.exec(source);\n\t}\n\t// Failed\n\treturn null;\n};\n\n/*\nLook for an link at the specified position. Returns null if not found, otherwise returns {type: \"element\", tag: \"a\", attributes: [], isSelfClosing:, start:, end:,}\n*/\nexports.parseLink = function(source,pos) {\n\tvar token,\n\t\ttextNode = {\n\t\t\ttype: \"text\"\n\t\t},\n\t\tnode = {\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tstart: pos,\n\t\t\tattributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t},\n\t\t\tchildren: [textNode]\n\t\t};\n\t// Skip whitespace\n\tpos = $tw.utils.skipWhiteSpace(source,pos);\n\t// Look for the `[ext[`\n\ttoken = $tw.utils.parseTokenString(source,pos,\"[ext[\");\n\tif(!token) {\n\t\treturn null;\n\t}\n\tpos = token.end;\n\t// Look ahead for the terminating `]]`\n\tvar closePos = source.indexOf(\"]]\",pos);\n\tif(closePos === -1) {\n\t\treturn null;\n\t}\n\t// Look for a `|` separating the tooltip\n\tvar splitPos = source.indexOf(\"|\",pos);\n\tif(splitPos === -1 || splitPos > closePos) {\n\t\tsplitPos = null;\n\t}\n\t// Pull out the tooltip and URL\n\tvar tooltip, URL;\n\tif(splitPos) {\n\t\tURL = source.substring(splitPos + 1,closePos).trim();\n\t\ttextNode.text = source.substring(pos,splitPos).trim();\n\t} else {\n\t\tURL = source.substring(pos,closePos).trim();\n\t\ttextNode.text = URL;\n\t}\n\tnode.attributes.href = {type: \"string\", value: URL};\n\tnode.attributes.target = {type: \"string\", value: \"_blank\"};\n\tnode.attributes.rel = {type: \"string\", value: \"noopener noreferrer\"};\n\t// Update the end position\n\tnode.end = closePos + 2;\n\treturn node;\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/prettyextlink.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/prettylink.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/prettylink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for pretty links. For example:\n\n```\n[[Introduction]]\n\n[[Link description|TiddlerTitle]]\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"prettylink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\[\\[(.*?)(?:\\|(.*?))?\\]\\]/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Process the link\n\tvar text = this.match[1],\n\t\tlink = this.match[2] || text;\n\tif($tw.utils.isLinkExternal(link)) {\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"a\",\n\t\t\tattributes: {\n\t\t\t\thref: {type: \"string\", value: link},\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-tiddlylink-external\"},\n\t\t\t\ttarget: {type: \"string\", value: \"_blank\"},\n\t\t\t\trel: {type: \"string\", value: \"noopener noreferrer\"}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: link}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\", text: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/prettylink.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/quoteblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/quoteblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for quote blocks. For example:\n\n```\n\t<<<.optionalClass(es) optional cited from\n\ta quote\n\t<<<\n\t\n\t<<<.optionalClass(es)\n\ta quote\n\t<<< optional cited from\n```\n\nQuotes can be quoted by putting more <s\n\n```\n\t<<<\n\tQuote Level 1\n\t\n\t<<<<\n\tQuoteLevel 2\n\t<<<<\n\t\n\t<<<\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"quoteblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /(<<<+)/mg;\n};\n\nexports.parse = function() {\n\tvar classes = [\"tc-quote\"];\n\t// Get all the details of the match\n\tvar reEndString = \"^\" + this.match[1] + \"(?!<)\";\n\t// Move past the <s\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\n\t// Parse any classes, whitespace and then the optional cite itself\n\tclasses.push.apply(classes, this.parser.parseClasses());\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tvar cite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// before handling the cite, parse the body of the quote\n\tvar tree= this.parser.parseBlocks(reEndString);\n\t// If we got a cite, put it before the text\n\tif(cite.length > 0) {\n\t\ttree.unshift({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Parse any optional cite\n\tthis.parser.skipWhitespace({treatNewlinesAsNonWhitespace: true});\n\tcite = this.parser.parseInlineRun(/(\\r?\\n)/mg);\n\t// If we got a cite, push it\n\tif(cite.length > 0) {\n\t\ttree.push({\n\t\t\ttype: \"element\",\n\t\t\ttag: \"cite\",\n\t\t\tchildren: cite\n\t\t});\n\t}\n\t// Return the blockquote element\n\treturn [{\n\t\ttype: \"element\",\n\t\ttag: \"blockquote\",\n\t\tattributes: {\n\t\t\tclass: { type: \"string\", value: classes.join(\" \") },\n\t\t},\n\t\tchildren: tree\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/quoteblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/rules.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/rules.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki pragma rule for rules specifications\n\n```\n\\rules except ruleone ruletwo rulethree\n\\rules only ruleone ruletwo rulethree\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"rules\";\nexports.types = {pragma: true};\n\n/*\nInstantiate parse rule\n*/\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\\\rules[^\\S\\n]/mg;\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Move past the pragma invocation\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse whitespace delimited tokens terminated by a line break\n\tvar reMatch = /[^\\S\\n]*(\\S+)|(\\r?\\n)/mg,\n\t\ttokens = [];\n\treMatch.lastIndex = this.parser.pos;\n\tvar match = reMatch.exec(this.parser.source);\n\twhile(match && match.index === this.parser.pos) {\n\t\tthis.parser.pos = reMatch.lastIndex;\n\t\t// Exit if we've got the line break\n\t\tif(match[2]) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the token\n\t\tif(match[1]) {\n\t\t\ttokens.push(match[1]);\n\t\t}\n\t\t// Match the next token\n\t\tmatch = reMatch.exec(this.parser.source);\n\t}\n\t// Process the tokens\n\tif(tokens.length > 0) {\n\t\tthis.parser.amendRules(tokens[0],tokens.slice(1));\n\t}\n\t// No parse tree nodes to return\n\treturn [];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/rules.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/styleblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for assigning styles and classes to paragraphs and other blocks. For example:\n\n```\n@@.myClass\n@@background-color:red;\nThis paragraph will have the CSS class `myClass`.\n\n* The `<ul>` around this list will also have the class `myClass`\n* List item 2\n\n@@\n```\n\nNote that classes and styles can be mixed subject to the rule that styles must precede classes. For example\n\n```\n@@.myFirstClass.mySecondClass\n@@width:100px;.myThirdClass\nThis is a paragraph\n@@\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(?:\\.([^\\r\\n\\s]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEndString = \"^@@(?:\\\\r?\\\\n)?\";\n\tvar classes = [], styles = [];\n\tdo {\n\t\t// Get the class and style\n\t\tif(this.match[1]) {\n\t\t\tstyles.push(this.match[1]);\n\t\t}\n\t\tif(this.match[2]) {\n\t\t\tclasses.push(this.match[2].split(\".\").join(\" \"));\n\t\t}\n\t\t// Move past the match\n\t\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t\t// Look for another line of classes and styles\n\t\tthis.match = this.matchRegExp.exec(this.parser.source);\n\t} while(this.match && this.match.index === this.parser.pos);\n\t// Parse the body\n\tvar tree = this.parser.parseBlocks(reEndString);\n\tfor(var t=0; t<tree.length; t++) {\n\t\tif(classes.length > 0) {\n\t\t\t$tw.utils.addClassToParseTreeNode(tree[t],classes.join(\" \"));\n\t\t}\n\t\tif(styles.length > 0) {\n\t\t\t$tw.utils.addAttributeToParseTreeNode(tree[t],\"style\",styles.join(\"\"));\n\t\t}\n\t}\n\treturn tree;\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/styleblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/styleinline.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/styleinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for assigning styles and classes to inline runs. For example:\n\n```\n@@.myClass This is some text with a class@@\n@@background-color:red;This is some text with a background colour@@\n@@width:100px;.myClass This is some text with a class and a width@@\n```\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"styleinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /@@((?:[^\\.\\r\\n\\s:]+:[^\\r\\n;]+;)+)?(\\.(?:[^\\r\\n\\s]+)\\s+)?/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /@@/g;\n\t// Get the styles and class\n\tvar stylesString = this.match[1],\n\t\tclassString = this.match[2] ? this.match[2].split(\".\").join(\" \") : undefined;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Parse the run up to the terminator\n\tvar tree = this.parser.parseInlineRun(reEnd,{eatTerminator: true});\n\t// Return the classed span\n\tvar node = {\n\t\ttype: \"element\",\n\t\ttag: \"span\",\n\t\tattributes: {\n\t\t\t\"class\": {type: \"string\", value: \"tc-inline-style\"}\n\t\t},\n\t\tchildren: tree\n\t};\n\tif(classString) {\n\t\t$tw.utils.addClassToParseTreeNode(node,classString);\n\t}\n\tif(stylesString) {\n\t\t$tw.utils.addAttributeToParseTreeNode(node,\"style\",stylesString);\n\t}\n\treturn [node];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/styleinline.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/syslink.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/syslink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for system tiddler links.\nCan be suppressed preceding them with `~`.\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"syslink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /~?\\$:\\/[a-zA-Z0-9/.\\-_]+/mg;\n};\n\nexports.parse = function() {\n\tvar match = this.match[0];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Create the link unless it is suppressed\n\tif(match.substr(0,1) === \"~\") {\n\t\treturn [{type: \"text\", text: match.substr(1)}];\n\t} else {\n\t\treturn [{\n\t\t\ttype: \"link\",\n\t\t\tattributes: {\n\t\t\t\tto: {type: \"string\", value: match}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: match\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();",
            "title": "$:/core/modules/parsers/wikiparser/rules/syslink.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/table.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/table.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text block rule for tables.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"table\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /^\\|(?:[^\\n]*)\\|(?:[fhck]?)\\r?(?:\\n|$)/mg;\n};\n\nvar processRow = function(prevColumns) {\n\tvar cellRegExp = /(?:\\|([^\\n\\|]*)\\|)|(\\|[fhck]?\\r?(?:\\n|$))/mg,\n\t\tcellTermRegExp = /((?:\\x20*)\\|)/mg,\n\t\ttree = [],\n\t\tcol = 0,\n\t\tcolSpanCount = 1,\n\t\tprevCell,\n\t\tvAlign;\n\t// Match a single cell\n\tcellRegExp.lastIndex = this.parser.pos;\n\tvar cellMatch = cellRegExp.exec(this.parser.source);\n\twhile(cellMatch && cellMatch.index === this.parser.pos) {\n\t\tif(cellMatch[1] === \"~\") {\n\t\t\t// Rowspan\n\t\t\tvar last = prevColumns[col];\n\t\t\tif(last) {\n\t\t\t\tlast.rowSpanCount++;\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"rowspan\",last.rowSpanCount);\n\t\t\t\tvAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,\"valign\",\"center\");\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"valign\",vAlign);\n\t\t\t\tif(colSpanCount > 1) {\n\t\t\t\t\t$tw.utils.addAttributeToParseTreeNode(last.element,\"colspan\",colSpanCount);\n\t\t\t\t\tcolSpanCount = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \">\") {\n\t\t\t// Colspan\n\t\t\tcolSpanCount++;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[1] === \"<\" && prevCell) {\n\t\t\tcolSpanCount = 1 + $tw.utils.getAttributeValueFromParseTreeNode(prevCell,\"colspan\",1);\n\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\tcolSpanCount = 1;\n\t\t\t// Move to just before the `|` terminating the cell\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t} else if(cellMatch[2]) {\n\t\t\t// End of row\n\t\t\tif(prevCell && colSpanCount > 1) {\n\t\t\t\tif(prevCell.attributes && prevCell.attributes && prevCell.attributes.colspan) {\n\t\t\t\t\t\tcolSpanCount += prevCell.attributes.colspan.value;\n\t\t\t\t} else {\n\t\t\t\t\tcolSpanCount -= 1;\n\t\t\t\t}\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(prevCell,\"colspan\",colSpanCount);\n\t\t\t}\n\t\t\tthis.parser.pos = cellRegExp.lastIndex - 1;\n\t\t\tbreak;\n\t\t} else {\n\t\t\t// For ordinary cells, step beyond the opening `|`\n\t\t\tthis.parser.pos++;\n\t\t\t// Look for a space at the start of the cell\n\t\t\tvar spaceLeft = false;\n\t\t\tvAlign = null;\n\t\t\tif(this.parser.source.substr(this.parser.pos).search(/^\\^([^\\^]|\\^\\^)/) === 0) {\n\t\t\t\tvAlign = \"top\";\n\t\t\t} else if(this.parser.source.substr(this.parser.pos).search(/^,([^,]|,,)/) === 0) {\n\t\t\t\tvAlign = \"bottom\";\n\t\t\t}\n\t\t\tif(vAlign) {\n\t\t\t\tthis.parser.pos++;\n\t\t\t}\n\t\t\tvar chr = this.parser.source.substr(this.parser.pos,1);\n\t\t\twhile(chr === \" \") {\n\t\t\t\tspaceLeft = true;\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tchr = this.parser.source.substr(this.parser.pos,1);\n\t\t\t}\n\t\t\t// Check whether this is a heading cell\n\t\t\tvar cell;\n\t\t\tif(chr === \"!\") {\n\t\t\t\tthis.parser.pos++;\n\t\t\t\tcell = {type: \"element\", tag: \"th\", children: []};\n\t\t\t} else {\n\t\t\t\tcell = {type: \"element\", tag: \"td\", children: []};\n\t\t\t}\n\t\t\ttree.push(cell);\n\t\t\t// Record information about this cell\n\t\t\tprevCell = cell;\n\t\t\tprevColumns[col] = {rowSpanCount:1,element:cell};\n\t\t\t// Check for a colspan\n\t\t\tif(colSpanCount > 1) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"colspan\",colSpanCount);\n\t\t\t\tcolSpanCount = 1;\n\t\t\t}\n\t\t\t// Parse the cell\n\t\t\tcell.children = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true});\n\t\t\t// Set the alignment for the cell\n\t\t\tif(vAlign) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"valign\",vAlign);\n\t\t\t}\n\t\t\tif(this.parser.source.substr(this.parser.pos - 2,1) === \" \") { // spaceRight\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",spaceLeft ? \"center\" : \"left\");\n\t\t\t} else if(spaceLeft) {\n\t\t\t\t$tw.utils.addAttributeToParseTreeNode(cell,\"align\",\"right\");\n\t\t\t}\n\t\t\t// Move back to the closing `|`\n\t\t\tthis.parser.pos--;\n\t\t}\n\t\tcol++;\n\t\tcellRegExp.lastIndex = this.parser.pos;\n\t\tcellMatch = cellRegExp.exec(this.parser.source);\n\t}\n\treturn tree;\n};\n\nexports.parse = function() {\n\tvar rowContainerTypes = {\"c\":\"caption\", \"h\":\"thead\", \"\":\"tbody\", \"f\":\"tfoot\"},\n\t\ttable = {type: \"element\", tag: \"table\", children: []},\n\t\trowRegExp = /^\\|([^\\n]*)\\|([fhck]?)\\r?(?:\\n|$)/mg,\n\t\trowTermRegExp = /(\\|(?:[fhck]?)\\r?(?:\\n|$))/mg,\n\t\tprevColumns = [],\n\t\tcurrRowType,\n\t\trowContainer,\n\t\trowCount = 0;\n\t// Match the row\n\trowRegExp.lastIndex = this.parser.pos;\n\tvar rowMatch = rowRegExp.exec(this.parser.source);\n\twhile(rowMatch && rowMatch.index === this.parser.pos) {\n\t\tvar rowType = rowMatch[2];\n\t\t// Check if it is a class assignment\n\t\tif(rowType === \"k\") {\n\t\t\t$tw.utils.addClassToParseTreeNode(table,rowMatch[1]);\n\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t} else {\n\t\t\t// Otherwise, create a new row if this one is of a different type\n\t\t\tif(rowType !== currRowType) {\n\t\t\t\trowContainer = {type: \"element\", tag: rowContainerTypes[rowType], children: []};\n\t\t\t\ttable.children.push(rowContainer);\n\t\t\t\tcurrRowType = rowType;\n\t\t\t}\n\t\t\t// Is this a caption row?\n\t\t\tif(currRowType === \"c\") {\n\t\t\t\t// If so, move past the opening `|` of the row\n\t\t\t\tthis.parser.pos++;\n\t\t\t\t// Move the caption to the first row if it isn't already\n\t\t\t\tif(table.children.length !== 1) {\n\t\t\t\t\ttable.children.pop(); // Take rowContainer out of the children array\n\t\t\t\t\ttable.children.splice(0,0,rowContainer); // Insert it at the bottom\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t// Set the alignment - TODO: figure out why TW did this\n//\t\t\t\trowContainer.attributes.align = rowCount === 0 ? \"top\" : \"bottom\";\n\t\t\t\t// Parse the caption\n\t\t\t\trowContainer.children = this.parser.parseInlineRun(rowTermRegExp,{eatTerminator: true});\n\t\t\t} else {\n\t\t\t\t// Create the row\n\t\t\t\tvar theRow = {type: \"element\", tag: \"tr\", children: []};\n\t\t\t\t$tw.utils.addClassToParseTreeNode(theRow,rowCount%2 ? \"oddRow\" : \"evenRow\");\n\t\t\t\trowContainer.children.push(theRow);\n\t\t\t\t// Process the row\n\t\t\t\ttheRow.children = processRow.call(this,prevColumns);\n\t\t\t\tthis.parser.pos = rowMatch.index + rowMatch[0].length;\n\t\t\t\t// Increment the row count\n\t\t\t\trowCount++;\n\t\t\t}\n\t\t}\n\t\trowMatch = rowRegExp.exec(this.parser.source);\n\t}\n\treturn [table];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/table.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for block-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}(?:\\r?\\n|$)/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {},\n\t\t\tisBlock: true\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tisBlock: true,\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/transcludeblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/transcludeinline.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for inline-level transclusion. For example:\n\n```\n{{MyTiddler}}\n{{MyTiddler||TemplateTitle}}\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"transcludeinline\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\{\\{([^\\{\\}\\|]*)(?:\\|\\|([^\\|\\{\\}]+))?\\}\\}/mg;\n};\n\nexports.parse = function() {\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Get the match details\n\tvar template = $tw.utils.trim(this.match[2]),\n\t\ttextRef = $tw.utils.trim(this.match[1]);\n\t// Prepare the transclude widget\n\tvar transcludeNode = {\n\t\t\ttype: \"transclude\",\n\t\t\tattributes: {}\n\t\t};\n\t// Prepare the tiddler widget\n\tvar tr, targetTitle, targetField, targetIndex, tiddlerNode;\n\tif(textRef) {\n\t\ttr = $tw.utils.parseTextReference(textRef);\n\t\ttargetTitle = tr.title;\n\t\ttargetField = tr.field;\n\t\ttargetIndex = tr.index;\n\t\ttiddlerNode = {\n\t\t\ttype: \"tiddler\",\n\t\t\tattributes: {\n\t\t\t\ttiddler: {type: \"string\", value: targetTitle}\n\t\t\t},\n\t\t\tchildren: [transcludeNode]\n\t\t};\n\t}\n\tif(template) {\n\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: template};\n\t\tif(textRef) {\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t} else {\n\t\tif(textRef) {\n\t\t\ttranscludeNode.attributes.tiddler = {type: \"string\", value: targetTitle};\n\t\t\tif(targetField) {\n\t\t\t\ttranscludeNode.attributes.field = {type: \"string\", value: targetField};\n\t\t\t}\n\t\t\tif(targetIndex) {\n\t\t\t\ttranscludeNode.attributes.index = {type: \"string\", value: targetIndex};\n\t\t\t}\n\t\t\treturn [tiddlerNode];\n\t\t} else {\n\t\t\treturn [transcludeNode];\n\t\t}\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/transcludeinline.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/typedblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/typedblock.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text rule for typed blocks. For example:\n\n```\n$$$.js\nThis will be rendered as JavaScript\n$$$\n\n$$$.svg\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"150\" height=\"100\">\n  <circle cx=\"100\" cy=\"50\" r=\"40\" stroke=\"black\" stroke-width=\"2\" fill=\"red\" />\n</svg>\n$$$\n\n$$$text/vnd.tiddlywiki>text/html\nThis will be rendered as an //HTML representation// of WikiText\n$$$\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.name = \"typedblock\";\nexports.types = {block: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = /\\$\\$\\$([^ >\\r\\n]*)(?: *> *([^ \\r\\n]+))?\\r?\\n/mg;\n};\n\nexports.parse = function() {\n\tvar reEnd = /\\r?\\n\\$\\$\\$\\r?(?:\\n|$)/mg;\n\t// Save the type\n\tvar parseType = this.match[1],\n\t\trenderType = this.match[2];\n\t// Move past the match\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// Look for the end of the block\n\treEnd.lastIndex = this.parser.pos;\n\tvar match = reEnd.exec(this.parser.source),\n\t\ttext;\n\t// Process the block\n\tif(match) {\n\t\ttext = this.parser.source.substring(this.parser.pos,match.index);\n\t\tthis.parser.pos = match.index + match[0].length;\n\t} else {\n\t\ttext = this.parser.source.substr(this.parser.pos);\n\t\tthis.parser.pos = this.parser.sourceLength;\n\t}\n\t// Parse the block according to the specified type\n\tvar parser = this.parser.wiki.parseText(parseType,text,{defaultType: \"text/plain\"});\n\t// If there's no render type, just return the parse tree\n\tif(!renderType) {\n\t\treturn parser.tree;\n\t} else {\n\t\t// Otherwise, render to the rendertype and return in a <PRE> tag\n\t\tvar widgetNode = this.parser.wiki.makeWidget(parser),\n\t\t\tcontainer = $tw.fakeDocument.createElement(\"div\");\n\t\twidgetNode.render(container,null);\n\t\ttext = renderType === \"text/html\" ? container.innerHTML : container.textContent;\n\t\treturn [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"pre\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: text\n\t\t\t}]\n\t\t}];\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/typedblock.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/rules/wikilink.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikilink.js\ntype: application/javascript\nmodule-type: wikirule\n\nWiki text inline rule for wiki links. For example:\n\n```\nAWikiLink\nAnotherLink\n~SuppressedLink\n```\n\nPrecede a camel case word with `~` to prevent it from being recognised as a link.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.name = \"wikilink\";\nexports.types = {inline: true};\n\nexports.init = function(parser) {\n\tthis.parser = parser;\n\t// Regexp to match\n\tthis.matchRegExp = new RegExp($tw.config.textPrimitives.unWikiLink + \"?\" + $tw.config.textPrimitives.wikiLink,\"mg\");\n};\n\n/*\nParse the most recent match\n*/\nexports.parse = function() {\n\t// Get the details of the match\n\tvar linkText = this.match[0];\n\t// Move past the macro call\n\tthis.parser.pos = this.matchRegExp.lastIndex;\n\t// If the link starts with the unwikilink character then just output it as plain text\n\tif(linkText.substr(0,1) === $tw.config.textPrimitives.unWikiLink) {\n\t\treturn [{type: \"text\", text: linkText.substr(1)}];\n\t}\n\t// If the link has been preceded with a blocked letter then don't treat it as a link\n\tif(this.match.index > 0) {\n\t\tvar preRegExp = new RegExp($tw.config.textPrimitives.blockPrefixLetters,\"mg\");\n\t\tpreRegExp.lastIndex = this.match.index-1;\n\t\tvar preMatch = preRegExp.exec(this.parser.source);\n\t\tif(preMatch && preMatch.index === this.match.index-1) {\n\t\t\treturn [{type: \"text\", text: linkText}];\n\t\t}\n\t}\n\treturn [{\n\t\ttype: \"link\",\n\t\tattributes: {\n\t\t\tto: {type: \"string\", value: linkText}\n\t\t},\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\ttext: linkText\n\t\t}]\n\t}];\n};\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/wikilink.js",
            "type": "application/javascript",
            "module-type": "wikirule"
        },
        "$:/core/modules/parsers/wikiparser/wikiparser.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/wikiparser.js\ntype: application/javascript\nmodule-type: parser\n\nThe wiki text parser processes blocks of source text into a parse tree.\n\nThe parse tree is made up of nested arrays of these JavaScript objects:\n\n\t{type: \"element\", tag: <string>, attributes: {}, children: []} - an HTML element\n\t{type: \"text\", text: <string>} - a text node\n\t{type: \"entity\", value: <string>} - an entity\n\t{type: \"raw\", html: <string>} - raw HTML\n\nAttributes are stored as hashmaps of the following objects:\n\n\t{type: \"string\", value: <string>} - literal string\n\t{type: \"indirect\", textReference: <textReference>} - indirect through a text reference\n\t{type: \"macro\", macro: <TBD>} - indirect through a macro invocation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar WikiParser = function(type,text,options) {\n\tthis.wiki = options.wiki;\n\tvar self = this;\n\t// Check for an externally linked tiddler\n\tif($tw.browser && (text || \"\") === \"\" && options._canonical_uri) {\n\t\tthis.loadRemoteTiddler(options._canonical_uri);\n\t\ttext = $tw.language.getRawString(\"LazyLoadingWarning\");\n\t}\n\t// Initialise the classes if we don't have them already\n\tif(!this.pragmaRuleClasses) {\n\t\tWikiParser.prototype.pragmaRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"pragma\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.pragmaRuleClasses,\"$:/config/WikiParserRules/Pragmas/\");\n\t}\n\tif(!this.blockRuleClasses) {\n\t\tWikiParser.prototype.blockRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"block\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.blockRuleClasses,\"$:/config/WikiParserRules/Block/\");\n\t}\n\tif(!this.inlineRuleClasses) {\n\t\tWikiParser.prototype.inlineRuleClasses = $tw.modules.createClassesFromModules(\"wikirule\",\"inline\",$tw.WikiRuleBase);\n\t\tthis.setupRules(WikiParser.prototype.inlineRuleClasses,\"$:/config/WikiParserRules/Inline/\");\n\t}\n\t// Save the parse text\n\tthis.type = type || \"text/vnd.tiddlywiki\";\n\tthis.source = text || \"\";\n\tthis.sourceLength = this.source.length;\n\t// Set current parse position\n\tthis.pos = 0;\n\t// Instantiate the pragma parse rules\n\tthis.pragmaRules = this.instantiateRules(this.pragmaRuleClasses,\"pragma\",0);\n\t// Instantiate the parser block and inline rules\n\tthis.blockRules = this.instantiateRules(this.blockRuleClasses,\"block\",0);\n\tthis.inlineRules = this.instantiateRules(this.inlineRuleClasses,\"inline\",0);\n\t// Parse any pragmas\n\tthis.tree = [];\n\tvar topBranch = this.parsePragmas();\n\t// Parse the text into inline runs or blocks\n\tif(options.parseAsInline) {\n\t\ttopBranch.push.apply(topBranch,this.parseInlineRun());\n\t} else {\n\t\ttopBranch.push.apply(topBranch,this.parseBlocks());\n\t}\n\t// Return the parse tree\n};\n\n/*\n*/\nWikiParser.prototype.loadRemoteTiddler = function(url) {\n\tvar self = this;\n\t$tw.utils.httpRequest({\n\t\turl: url,\n\t\ttype: \"GET\",\n\t\tcallback: function(err,data) {\n\t\t\tif(!err) {\n\t\t\t\tvar tiddlers = self.wiki.deserializeTiddlers(\".tid\",data,self.wiki.getCreationFields());\n\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\ttiddler[\"_canonical_uri\"] = url;\n\t\t\t\t});\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tself.wiki.addTiddlers(tiddlers);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\n*/\nWikiParser.prototype.setupRules = function(proto,configPrefix) {\n\tvar self = this;\n\tif(!$tw.safemode) {\n\t\t$tw.utils.each(proto,function(object,name) {\n\t\t\tif(self.wiki.getTiddlerText(configPrefix + name,\"enable\") !== \"enable\") {\n\t\t\t\tdelete proto[name];\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nInstantiate an array of parse rules\n*/\nWikiParser.prototype.instantiateRules = function(classes,type,startPos) {\n\tvar rulesInfo = [],\n\t\tself = this;\n\t$tw.utils.each(classes,function(RuleClass) {\n\t\t// Instantiate the rule\n\t\tvar rule = new RuleClass(self);\n\t\trule.is = {};\n\t\trule.is[type] = true;\n\t\trule.init(self);\n\t\tvar matchIndex = rule.findNextMatch(startPos);\n\t\tif(matchIndex !== undefined) {\n\t\t\trulesInfo.push({\n\t\t\t\trule: rule,\n\t\t\t\tmatchIndex: matchIndex\n\t\t\t});\n\t\t}\n\t});\n\treturn rulesInfo;\n};\n\n/*\nSkip any whitespace at the current position. Options are:\n\ttreatNewlinesAsNonWhitespace: true if newlines are NOT to be treated as whitespace\n*/\nWikiParser.prototype.skipWhitespace = function(options) {\n\toptions = options || {};\n\tvar whitespaceRegExp = options.treatNewlinesAsNonWhitespace ? /([^\\S\\n]+)/mg : /(\\s+)/mg;\n\twhitespaceRegExp.lastIndex = this.pos;\n\tvar whitespaceMatch = whitespaceRegExp.exec(this.source);\n\tif(whitespaceMatch && whitespaceMatch.index === this.pos) {\n\t\tthis.pos = whitespaceRegExp.lastIndex;\n\t}\n};\n\n/*\nGet the next match out of an array of parse rule instances\n*/\nWikiParser.prototype.findNextMatch = function(rules,startPos) {\n\t// Find the best matching rule by finding the closest match position\n\tvar matchingRule,\n\t\tmatchingRulePos = this.sourceLength;\n\t// Step through each rule\n\tfor(var t=0; t<rules.length; t++) {\n\t\tvar ruleInfo = rules[t];\n\t\t// Ask the rule to get the next match if we've moved past the current one\n\t\tif(ruleInfo.matchIndex !== undefined  && ruleInfo.matchIndex < startPos) {\n\t\t\truleInfo.matchIndex = ruleInfo.rule.findNextMatch(startPos);\n\t\t}\n\t\t// Adopt this match if it's closer than the current best match\n\t\tif(ruleInfo.matchIndex !== undefined && ruleInfo.matchIndex <= matchingRulePos) {\n\t\t\tmatchingRule = ruleInfo;\n\t\t\tmatchingRulePos = ruleInfo.matchIndex;\n\t\t}\n\t}\n\treturn matchingRule;\n};\n\n/*\nParse any pragmas at the beginning of a block of parse text\n*/\nWikiParser.prototype.parsePragmas = function() {\n\tvar currentTreeBranch = this.tree;\n\twhile(true) {\n\t\t// Skip whitespace\n\t\tthis.skipWhitespace();\n\t\t// Check for the end of the text\n\t\tif(this.pos >= this.sourceLength) {\n\t\t\tbreak;\n\t\t}\n\t\t// Check if we've arrived at a pragma rule match\n\t\tvar nextMatch = this.findNextMatch(this.pragmaRules,this.pos);\n\t\t// If not, just exit\n\t\tif(!nextMatch || nextMatch.matchIndex !== this.pos) {\n\t\t\tbreak;\n\t\t}\n\t\t// Process the pragma rule\n\t\tvar subTree = nextMatch.rule.parse();\n\t\tif(subTree.length > 0) {\n\t\t\t// Quick hack; we only cope with a single parse tree node being returned, which is true at the moment\n\t\t\tcurrentTreeBranch.push.apply(currentTreeBranch,subTree);\n\t\t\tsubTree[0].children = [];\n\t\t\tcurrentTreeBranch = subTree[0].children;\n\t\t}\n\t}\n\treturn currentTreeBranch;\n};\n\n/*\nParse a block from the current position\n\tterminatorRegExpString: optional regular expression string that identifies the end of plain paragraphs. Must not include capturing parenthesis\n*/\nWikiParser.prototype.parseBlock = function(terminatorRegExpString) {\n\tvar terminatorRegExp = terminatorRegExpString ? new RegExp(\"(\" + terminatorRegExpString + \"|\\\\r?\\\\n\\\\r?\\\\n)\",\"mg\") : /(\\r?\\n\\r?\\n)/mg;\n\tthis.skipWhitespace();\n\tif(this.pos >= this.sourceLength) {\n\t\treturn [];\n\t}\n\t// Look for a block rule that applies at the current position\n\tvar nextMatch = this.findNextMatch(this.blockRules,this.pos);\n\tif(nextMatch && nextMatch.matchIndex === this.pos) {\n\t\treturn nextMatch.rule.parse();\n\t}\n\t// Treat it as a paragraph if we didn't find a block rule\n\treturn [{type: \"element\", tag: \"p\", children: this.parseInlineRun(terminatorRegExp)}];\n};\n\n/*\nParse a series of blocks of text until a terminating regexp is encountered or the end of the text\n\tterminatorRegExpString: terminating regular expression\n*/\nWikiParser.prototype.parseBlocks = function(terminatorRegExpString) {\n\tif(terminatorRegExpString) {\n\t\treturn this.parseBlocksTerminated(terminatorRegExpString);\n\t} else {\n\t\treturn this.parseBlocksUnterminated();\n\t}\n};\n\n/*\nParse a block from the current position to the end of the text\n*/\nWikiParser.prototype.parseBlocksUnterminated = function() {\n\tvar tree = [];\n\twhile(this.pos < this.sourceLength) {\n\t\ttree.push.apply(tree,this.parseBlock());\n\t}\n\treturn tree;\n};\n\n/*\nParse blocks of text until a terminating regexp is encountered\n*/\nWikiParser.prototype.parseBlocksTerminated = function(terminatorRegExpString) {\n\tvar terminatorRegExp = new RegExp(\"(\" + terminatorRegExpString + \")\",\"mg\"),\n\t\ttree = [];\n\t// Skip any whitespace\n\tthis.skipWhitespace();\n\t//  Check if we've got the end marker\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar match = terminatorRegExp.exec(this.source);\n\t// Parse the text into blocks\n\twhile(this.pos < this.sourceLength && !(match && match.index === this.pos)) {\n\t\tvar blocks = this.parseBlock(terminatorRegExpString);\n\t\ttree.push.apply(tree,blocks);\n\t\t// Skip any whitespace\n\t\tthis.skipWhitespace();\n\t\t//  Check if we've got the end marker\n\t\tterminatorRegExp.lastIndex = this.pos;\n\t\tmatch = terminatorRegExp.exec(this.source);\n\t}\n\tif(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t}\n\treturn tree;\n};\n\n/*\nParse a run of text at the current position\n\tterminatorRegExp: a regexp at which to stop the run\n\toptions: see below\nOptions available:\n\teatTerminator: move the parse position past any encountered terminator (default false)\n*/\nWikiParser.prototype.parseInlineRun = function(terminatorRegExp,options) {\n\tif(terminatorRegExp) {\n\t\treturn this.parseInlineRunTerminated(terminatorRegExp,options);\n\t} else {\n\t\treturn this.parseInlineRunUnterminated(options);\n\t}\n};\n\nWikiParser.prototype.parseInlineRunUnterminated = function(options) {\n\tvar tree = [];\n\t// Find the next occurrence of an inline rule\n\tvar nextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around the matches until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && nextMatch) {\n\t\t// Process the text preceding the run rule\n\t\tif(nextMatch.matchIndex > this.pos) {\n\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,nextMatch.matchIndex)});\n\t\t\tthis.pos = nextMatch.matchIndex;\n\t\t}\n\t\t// Process the run rule\n\t\ttree.push.apply(tree,nextMatch.rule.parse());\n\t\t// Look for the next run rule\n\t\tnextMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\ttree.push({type: \"text\", text: this.source.substr(this.pos)});\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\nWikiParser.prototype.parseInlineRunTerminated = function(terminatorRegExp,options) {\n\toptions = options || {};\n\tvar tree = [];\n\t// Find the next occurrence of the terminator\n\tterminatorRegExp.lastIndex = this.pos;\n\tvar terminatorMatch = terminatorRegExp.exec(this.source);\n\t// Find the next occurrence of a inlinerule\n\tvar inlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t// Loop around until we've reached the end of the text\n\twhile(this.pos < this.sourceLength && (terminatorMatch || inlineRuleMatch)) {\n\t\t// Return if we've found the terminator, and it precedes any inline rule match\n\t\tif(terminatorMatch) {\n\t\t\tif(!inlineRuleMatch || inlineRuleMatch.matchIndex >= terminatorMatch.index) {\n\t\t\t\tif(terminatorMatch.index > this.pos) {\n\t\t\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,terminatorMatch.index)});\n\t\t\t\t}\n\t\t\t\tthis.pos = terminatorMatch.index;\n\t\t\t\tif(options.eatTerminator) {\n\t\t\t\t\tthis.pos += terminatorMatch[0].length;\n\t\t\t\t}\n\t\t\t\treturn tree;\n\t\t\t}\n\t\t}\n\t\t// Process any inline rule, along with the text preceding it\n\t\tif(inlineRuleMatch) {\n\t\t\t// Preceding text\n\t\t\tif(inlineRuleMatch.matchIndex > this.pos) {\n\t\t\t\ttree.push({type: \"text\", text: this.source.substring(this.pos,inlineRuleMatch.matchIndex)});\n\t\t\t\tthis.pos = inlineRuleMatch.matchIndex;\n\t\t\t}\n\t\t\t// Process the inline rule\n\t\t\ttree.push.apply(tree,inlineRuleMatch.rule.parse());\n\t\t\t// Look for the next inline rule\n\t\t\tinlineRuleMatch = this.findNextMatch(this.inlineRules,this.pos);\n\t\t\t// Look for the next terminator match\n\t\t\tterminatorRegExp.lastIndex = this.pos;\n\t\t\tterminatorMatch = terminatorRegExp.exec(this.source);\n\t\t}\n\t}\n\t// Process the remaining text\n\tif(this.pos < this.sourceLength) {\n\t\ttree.push({type: \"text\", text: this.source.substr(this.pos)});\n\t}\n\tthis.pos = this.sourceLength;\n\treturn tree;\n};\n\n/*\nParse zero or more class specifiers `.classname`\n*/\nWikiParser.prototype.parseClasses = function() {\n\tvar classRegExp = /\\.([^\\s\\.]+)/mg,\n\t\tclassNames = [];\n\tclassRegExp.lastIndex = this.pos;\n\tvar match = classRegExp.exec(this.source);\n\twhile(match && match.index === this.pos) {\n\t\tthis.pos = match.index + match[0].length;\n\t\tclassNames.push(match[1]);\n\t\tmatch = classRegExp.exec(this.source);\n\t}\n\treturn classNames;\n};\n\n/*\nAmend the rules used by this instance of the parser\n\ttype: `only` keeps just the named rules, `except` keeps all but the named rules\n\tnames: array of rule names\n*/\nWikiParser.prototype.amendRules = function(type,names) {\n\tnames = names || [];\n\t// Define the filter function\n\tvar keepFilter;\n\tif(type === \"only\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) !== -1;\n\t\t};\n\t} else if(type === \"except\") {\n\t\tkeepFilter = function(name) {\n\t\t\treturn names.indexOf(name) === -1;\n\t\t};\n\t} else {\n\t\treturn;\n\t}\n\t// Define a function to process each of our rule arrays\n\tvar processRuleArray = function(ruleArray) {\n\t\tfor(var t=ruleArray.length-1; t>=0; t--) {\n\t\t\tif(!keepFilter(ruleArray[t].rule.name)) {\n\t\t\t\truleArray.splice(t,1);\n\t\t\t}\n\t\t}\n\t};\n\t// Process each rule array\n\tprocessRuleArray(this.pragmaRules);\n\tprocessRuleArray(this.blockRules);\n\tprocessRuleArray(this.inlineRules);\n};\n\nexports[\"text/vnd.tiddlywiki\"] = WikiParser;\n\n})();\n\n",
            "title": "$:/core/modules/parsers/wikiparser/wikiparser.js",
            "type": "application/javascript",
            "module-type": "parser"
        },
        "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js": {
            "text": "/*\\\ntitle: $:/core/modules/parsers/wikiparser/rules/wikirulebase.js\ntype: application/javascript\nmodule-type: global\n\nBase class for wiki parser rules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nThis constructor is always overridden with a blank constructor, and so shouldn't be used\n*/\nvar WikiRuleBase = function() {\n};\n\n/*\nTo be overridden by individual rules\n*/\nWikiRuleBase.prototype.init = function(parser) {\n\tthis.parser = parser;\n};\n\n/*\nDefault implementation of findNextMatch uses RegExp matching\n*/\nWikiRuleBase.prototype.findNextMatch = function(startPos) {\n\tthis.matchRegExp.lastIndex = startPos;\n\tthis.match = this.matchRegExp.exec(this.parser.source);\n\treturn this.match ? this.match.index : undefined;\n};\n\nexports.WikiRuleBase = WikiRuleBase;\n\n})();\n",
            "title": "$:/core/modules/parsers/wikiparser/rules/wikirulebase.js",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/pluginswitcher.js": {
            "text": "/*\\\ntitle: $:/core/modules/pluginswitcher.js\ntype: application/javascript\nmodule-type: global\n\nManages switching plugins for themes and languages.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\noptions:\nwiki: wiki store to be used\npluginType: type of plugin to be switched\ncontrollerTitle: title of tiddler used to control switching of this resource\ndefaultPlugins: array of default plugins to be used if nominated plugin isn't found\n*/\nfunction PluginSwitcher(options) {\n\tthis.wiki = options.wiki;\n\tthis.pluginType = options.pluginType;\n\tthis.controllerTitle = options.controllerTitle;\n\tthis.defaultPlugins = options.defaultPlugins || [];\n\t// Switch to the current plugin\n\tthis.switchPlugins();\n\t// Listen for changes to the selected plugin\n\tvar self = this;\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,self.controllerTitle)) {\n\t\t\tself.switchPlugins();\n\t\t}\n\t});\n}\n\nPluginSwitcher.prototype.switchPlugins = function() {\n\t// Get the name of the current theme\n\tvar selectedPluginTitle = this.wiki.getTiddlerText(this.controllerTitle);\n\t// If it doesn't exist, then fallback to one of the default themes\n\tvar index = 0;\n\twhile(!this.wiki.getTiddler(selectedPluginTitle) && index < this.defaultPlugins.length) {\n\t\tselectedPluginTitle = this.defaultPlugins[index++];\n\t}\n\t// Accumulate the titles of the plugins that we need to load\n\tvar plugins = [],\n\t\tself = this,\n\t\taccumulatePlugin = function(title) {\n\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\tif(tiddler && tiddler.isPlugin() && plugins.indexOf(title) === -1) {\n\t\t\t\tplugins.push(title);\n\t\t\t\tvar pluginInfo = JSON.parse(self.wiki.getTiddlerText(title)),\n\t\t\t\t\tdependents = $tw.utils.parseStringArray(tiddler.fields.dependents || \"\");\n\t\t\t\t$tw.utils.each(dependents,function(title) {\n\t\t\t\t\taccumulatePlugin(title);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\taccumulatePlugin(selectedPluginTitle);\n\t// Unregister any existing theme tiddlers\n\tvar unregisteredTiddlers = $tw.wiki.unregisterPluginTiddlers(this.pluginType);\n\t// Register any new theme tiddlers\n\tvar registeredTiddlers = $tw.wiki.registerPluginTiddlers(this.pluginType,plugins);\n\t// Unpack the current theme tiddlers\n\t$tw.wiki.unpackPluginTiddlers();\n};\n\nexports.PluginSwitcher = PluginSwitcher;\n\n})();\n",
            "title": "$:/core/modules/pluginswitcher.js",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/saver-handler.js": {
            "text": "/*\\\ntitle: $:/core/modules/saver-handler.js\ntype: application/javascript\nmodule-type: global\n\nThe saver handler tracks changes to the store and handles saving the entire wiki via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInstantiate the saver handler with the following options:\nwiki: wiki to be synced\ndirtyTracking: true if dirty tracking should be performed\n*/\nfunction SaverHandler(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.dirtyTracking = options.dirtyTracking;\n\tthis.pendingAutoSave = false;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"saver-handler\");\n\t// Initialise our savers\n\tif($tw.browser) {\n\t\tthis.initSavers();\n\t}\n\t// Only do dirty tracking if required\n\tif($tw.browser && this.dirtyTracking) {\n\t\t// Compile the dirty tiddler filter\n\t\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t\t// Count of changes that have not yet been saved\n\t\tthis.numChanges = 0;\n\t\t// Listen out for changes to tiddlers\n\t\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\t\t// Filter the changes so that we only count changes to tiddlers that we care about\n\t\t\tvar filteredChanges = self.filterFn.call(self.wiki,function(callback) {\n\t\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\t\tcallback(tiddler,title);\n\t\t\t\t});\n\t\t\t});\n\t\t\t// Adjust the number of changes\n\t\t\tself.numChanges += filteredChanges.length;\n\t\t\tself.updateDirtyStatus();\n\t\t\t// Do any autosave if one is pending and there's no more change events\n\t\t\tif(self.pendingAutoSave && self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tself.pendingAutoSave = false;\n\t\t\t}\n\t\t});\n\t\t// Listen for the autosave event\n\t\t$tw.rootWidget.addEventListener(\"tm-auto-save-wiki\",function(event) {\n\t\t\t// Do the autosave unless there are outstanding tiddler change events\n\t\t\tif(self.wiki.getSizeOfTiddlerEventQueue() === 0) {\n\t\t\t\t// Check if we're dirty\n\t\t\t\tif(self.numChanges > 0) {\n\t\t\t\t\tself.saveWiki({\n\t\t\t\t\t\tmethod: \"autosave\",\n\t\t\t\t\t\tdownloadType: \"text/plain\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Otherwise put ourselves in the \"pending autosave\" state and wait for the change event before we do the autosave\n\t\t\t\tself.pendingAutoSave = true;\n\t\t\t}\n\t\t});\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t}\n\t// Install the save action handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget.addEventListener(\"tm-save-wiki\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-download-file\",function(event) {\n\t\t\tself.saveWiki({\n\t\t\t\tmethod: \"download\",\n\t\t\t\ttemplate: event.param,\n\t\t\t\tdownloadType: \"text/plain\",\n\t\t\t\tvariables: event.paramObject\n\t\t\t});\n\t\t});\n\t}\n}\n\nSaverHandler.prototype.titleSyncFilter = \"$:/config/SaverFilter\";\nSaverHandler.prototype.titleAutoSave = \"$:/config/AutoSave\";\nSaverHandler.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\n\n/*\nSelect the appropriate saver modules and set them up\n*/\nSaverHandler.prototype.initSavers = function(moduleType) {\n\tmoduleType = moduleType || \"saver\";\n\t// Instantiate the available savers\n\tthis.savers = [];\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(moduleType,function(title,module) {\n\t\tif(module.canSave(self)) {\n\t\t\tself.savers.push(module.create(self.wiki));\n\t\t}\n\t});\n\t// Sort the savers into priority order\n\tthis.savers.sort(function(a,b) {\n\t\tif(a.info.priority < b.info.priority) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(a.info.priority > b.info.priority) {\n\t\t\t\treturn +1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nSave the wiki contents. Options are:\n\tmethod: \"save\", \"autosave\" or \"download\"\n\ttemplate: the tiddler containing the template to save\n\tdownloadType: the content type for the saved file\n*/\nSaverHandler.prototype.saveWiki = function(options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tmethod = options.method || \"save\",\n\t\tvariables = options.variables || {},\n\t\ttemplate = options.template || \"$:/core/save/all\",\n\t\tdownloadType = options.downloadType || \"text/plain\",\n\t\ttext = this.wiki.renderTiddler(downloadType,template,options),\n\t\tcallback = function(err) {\n\t\t\tif(err) {\n\t\t\t\talert($tw.language.getString(\"Error/WhileSaving\") + \":\\n\\n\" + err);\n\t\t\t} else {\n\t\t\t\t// Clear the task queue if we're saving (rather than downloading)\n\t\t\t\tif(method !== \"download\") {\n\t\t\t\t\tself.numChanges = 0;\n\t\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t}\n\t\t\t\t$tw.notifier.display(self.titleSavedNotification);\n\t\t\t\tif(options.callback) {\n\t\t\t\t\toptions.callback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t// Ignore autosave if disabled\n\tif(method === \"autosave\" && this.wiki.getTiddlerText(this.titleAutoSave,\"yes\") !== \"yes\") {\n\t\treturn false;\n\t}\n\t// Call the highest priority saver that supports this method\n\tfor(var t=this.savers.length-1; t>=0; t--) {\n\t\tvar saver = this.savers[t];\n\t\tif(saver.info.capabilities.indexOf(method) !== -1 && saver.save(text,method,callback,{variables: {filename: variables.filename}})) {\n\t\t\tthis.logger.log(\"Saving wiki with method\",method,\"through saver\",saver.info.name);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSaverHandler.prototype.isDirty = function() {\n\treturn this.numChanges > 0;\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSaverHandler.prototype.updateDirtyStatus = function() {\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t}\n};\n\nexports.SaverHandler = SaverHandler;\n\n})();\n",
            "title": "$:/core/modules/saver-handler.js",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/savers/andtidwiki.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/andtidwiki.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the AndTidWiki Android app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar AndTidWiki = function(wiki) {\n};\n\nAndTidWiki.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.toString().split(\"#\")[0]);\n\t// Strip the file://\n\tif(pathname.indexOf(\"file://\") === 0) {\n\t\tpathname = pathname.substr(7);\n\t}\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Save the file\n\twindow.twi.saveFile(pathname,text);\n\t// Call the callback\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nAndTidWiki.prototype.info = {\n\tname: \"andtidwiki\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.twi && !!window.twi.saveFile;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new AndTidWiki(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/andtidwiki.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/download.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/download.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar DownloadSaver = function(wiki) {\n};\n\nDownloadSaver.prototype.save = function(text,method,callback,options) {\n\toptions = options || {};\n\t// Get the current filename\n\tvar filename = options.variables.filename;\n\tif(!filename) {\n\t\tvar p = document.location.pathname.lastIndexOf(\"/\");\n\t\tif(p !== -1) {\n\t\t\tfilename = document.location.pathname.substr(p+1);\n\t\t}\n\t}\n\tif(!filename) {\n\t\tfilename = \"tiddlywiki.html\";\n\t}\n\t// Set up the link\n\tvar link = document.createElement(\"a\");\n\tlink.setAttribute(\"target\",\"_blank\");\n\tlink.setAttribute(\"rel\",\"noopener noreferrer\");\n\tif(Blob !== undefined) {\n\t\tvar blob = new Blob([text], {type: \"text/html\"});\n\t\tlink.setAttribute(\"href\", URL.createObjectURL(blob));\n\t} else {\n\t\tlink.setAttribute(\"href\",\"data:text/html,\" + encodeURIComponent(text));\n\t}\n\tlink.setAttribute(\"download\",filename);\n\tdocument.body.appendChild(link);\n\tlink.click();\n\tdocument.body.removeChild(link);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nDownloadSaver.prototype.info = {\n\tname: \"download\",\n\tpriority: 100,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn document.createElement(\"a\").download !== undefined;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new DownloadSaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/download.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/fsosaver.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/fsosaver.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via MS FileSystemObject ActiveXObject\n\nNote: Since TiddlyWiki's markup contains the MOTW, the FileSystemObject normally won't be available. \nHowever, if the wiki is loaded as an .HTA file (Windows HTML Applications) then the FSO can be used.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar FSOSaver = function(wiki) {\n};\n\nFSOSaver.prototype.save = function(text,method,callback) {\n\t// Get the pathname of this document\n\tvar pathname = unescape(document.location.pathname);\n\t// Test for a Windows path of the form /x:\\blah...\n\tif(/^\\/[A-Z]\\:\\\\[^\\\\]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t} else if(document.location.hostname !== \"\" && /^\\/\\\\[^\\\\]+\\\\[^\\\\]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t// Remove the leading slash\n\t\tpathname = pathname.substr(1);\n\t\t// reconstruct UNC path\n\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t} else {\n\t\treturn false;\n\t}\n\t// Save the file (as UTF-16)\n\tvar fso = new ActiveXObject(\"Scripting.FileSystemObject\");\n\tvar file = fso.OpenTextFile(pathname,2,-1,-1);\n\tfile.Write(text);\n\tfile.Close();\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nFSOSaver.prototype.info = {\n\tname: \"FSOSaver\",\n\tpriority: 120,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\ttry {\n\t\treturn (window.location.protocol === \"file:\") && !!(new ActiveXObject(\"Scripting.FileSystemObject\"));\n\t} catch(e) { return false; }\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new FSOSaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/fsosaver.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/manualdownload.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/manualdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via HTML5's download APIs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Title of the tiddler containing the download message\nvar downloadInstructionsTitle = \"$:/language/Modals/Download\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar ManualDownloadSaver = function(wiki) {\n};\n\nManualDownloadSaver.prototype.save = function(text,method,callback) {\n\t$tw.modal.display(downloadInstructionsTitle,{\n\t\tdownloadLink: \"data:text/html,\" + encodeURIComponent(text)\n\t});\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nManualDownloadSaver.prototype.info = {\n\tname: \"manualdownload\",\n\tpriority: 0,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new ManualDownloadSaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/manualdownload.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/msdownload.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/msdownload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via window.navigator.msSaveBlob()\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar MsDownloadSaver = function(wiki) {\n};\n\nMsDownloadSaver.prototype.save = function(text,method,callback) {\n\t// Get the current filename\n\tvar filename = \"tiddlywiki.html\",\n\t\tp = document.location.pathname.lastIndexOf(\"/\");\n\tif(p !== -1) {\n\t\tfilename = document.location.pathname.substr(p+1);\n\t}\n\t// Set up the link\n\tvar blob = new Blob([text], {type: \"text/html\"});\n\twindow.navigator.msSaveBlob(blob,filename);\n\t// Callback that we succeeded\n\tcallback(null);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nMsDownloadSaver.prototype.info = {\n\tname: \"msdownload\",\n\tpriority: 110,\n\tcapabilities: [\"save\", \"download\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn !!window.navigator.msSaveBlob;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new MsDownloadSaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/msdownload.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/put.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/put.js\ntype: application/javascript\nmodule-type: saver\n\nSaves wiki by performing a PUT request to the server\n\nWorks with any server which accepts a PUT request\nto the current URL, such as a WebDAV server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar PutSaver = function(wiki) {\n\tthis.wiki = wiki;\n\tvar self = this;\n\t// Async server probe. Until probe finishes, save will fail fast\n\t// See also https://github.com/Jermolene/TiddlyWiki5/issues/2276\n\tvar req = new XMLHttpRequest();\n\treq.open(\"OPTIONS\",encodeURI(document.location.protocol + \"//\" + document.location.hostname + \":\" + document.location.port + document.location.pathname));\n\treq.onload = function() {\n\t\t// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1\n\t\tself.serverAcceptsPuts = (this.status === 200 && !!this.getResponseHeader('dav'));\n\t};\n\treq.send();\n};\n\nPutSaver.prototype.save = function(text,method,callback) {\n\tif (!this.serverAcceptsPuts) {\n\t\treturn false;\n\t}\n\tvar req = new XMLHttpRequest();\n\t// TODO: store/check ETags if supported by server, to protect against overwrites\n\t// Prompt: Do you want to save over this? Y/N\n\t// Merging would be ideal, and may be possible using future generic merge flow\n\treq.onload = function() {\n\t\tif (this.status === 200 || this.status === 201) {\n\t\t\tcallback(null); // success\n\t\t}\n\t\telse {\n\t\t\tcallback(this.responseText); // fail\n\t\t}\n\t};\n\treq.open(\"PUT\", encodeURI(window.location.href));\n\treq.setRequestHeader(\"Content-Type\", \"text/html;charset=UTF-8\");\n\treq.send(text);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nPutSaver.prototype.info = {\n\tname: \"put\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn /^https?:/.test(location.protocol);\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new PutSaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/put.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/tiddlyfox.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/tiddlyfox.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TiddlyFox file extension\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TiddlyFoxSaver = function(wiki) {\n};\n\nTiddlyFoxSaver.prototype.save = function(text,method,callback) {\n\tvar messageBox = document.getElementById(\"tiddlyfox-message-box\");\n\tif(messageBox) {\n\t\t// Get the pathname of this document\n\t\tvar pathname = document.location.toString().split(\"#\")[0];\n\t\t// Replace file://localhost/ with file:///\n\t\tif(pathname.indexOf(\"file://localhost/\") === 0) {\n\t\t\tpathname = \"file://\" + pathname.substr(16);\n\t\t}\n\t\t// Windows path file:///x:/blah/blah --> x:\\blah\\blah\n\t\tif(/^file\\:\\/\\/\\/[A-Z]\\:\\//i.test(pathname)) {\n\t\t\t// Remove the leading slash and convert slashes to backslashes\n\t\t\tpathname = pathname.substr(8).replace(/\\//g,\"\\\\\");\n\t\t// Firefox Windows network path file://///server/share/blah/blah --> //server/share/blah/blah\n\t\t} else if(pathname.indexOf(\"file://///\") === 0) {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(10)).replace(/\\//g,\"\\\\\");\n\t\t// Mac/Unix local path file:///path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:///\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(7));\n\t\t// Mac/Unix local path file:/path/path --> /path/path\n\t\t} else if(pathname.indexOf(\"file:/\") === 0) {\n\t\t\tpathname = unescape(pathname.substr(5));\n\t\t// Otherwise Windows networth path file://server/share/path/path --> \\\\server\\share\\path\\path\n\t\t} else {\n\t\t\tpathname = \"\\\\\\\\\" + unescape(pathname.substr(7)).replace(new RegExp(\"/\",\"g\"),\"\\\\\");\n\t\t}\n\t\t// Create the message element and put it in the message box\n\t\tvar message = document.createElement(\"div\");\n\t\tmessage.setAttribute(\"data-tiddlyfox-path\",decodeURIComponent(pathname));\n\t\tmessage.setAttribute(\"data-tiddlyfox-content\",text);\n\t\tmessageBox.appendChild(message);\n\t\t// Add an event handler for when the file has been saved\n\t\tmessage.addEventListener(\"tiddlyfox-have-saved-file\",function(event) {\n\t\t\tcallback(null);\n\t\t}, false);\n\t\t// Create and dispatch the custom event to the extension\n\t\tvar event = document.createEvent(\"Events\");\n\t\tevent.initEvent(\"tiddlyfox-save-file\",true,false);\n\t\tmessage.dispatchEvent(event);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyFoxSaver.prototype.info = {\n\tname: \"tiddlyfox\",\n\tpriority: 1500,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyFoxSaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/tiddlyfox.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/tiddlyie.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/tiddlyie.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via Internet Explorer BHO extenion (TiddlyIE)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar TiddlyIESaver = function(wiki) {\n};\n\nTiddlyIESaver.prototype.save = function(text,method,callback) {\n\t// Check existence of TiddlyIE BHO extension (note: only works after document is complete)\n\tif(typeof(window.TiddlyIE) != \"undefined\") {\n\t\t// Get the pathname of this document\n\t\tvar pathname = unescape(document.location.pathname);\n\t\t// Test for a Windows path of the form /x:/blah...\n\t\tif(/^\\/[A-Z]\\:\\/[^\\/]+/i.test(pathname)) {\t// ie: ^/[a-z]:/[^/]+ (is this better?: ^/[a-z]:/[^/]+(/[^/]+)*\\.[^/]+ )\n\t\t\t// Remove the leading slash\n\t\t\tpathname = pathname.substr(1);\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t} else if(document.hostname !== \"\" && /^\\/[^\\/]+\\/[^\\/]+/i.test(pathname)) {\t// test for \\\\server\\share\\blah... - ^/[^/]+/[^/]+\n\t\t\t// Convert slashes to backslashes\n\t\t\tpathname = pathname.replace(/\\//g,\"\\\\\");\n\t\t\t// reconstruct UNC path\n\t\t\tpathname = \"\\\\\\\\\" + document.location.hostname + pathname;\n\t\t} else return false;\n\t\t// Prompt the user to save the file\n\t\twindow.TiddlyIE.save(pathname, text);\n\t\t// Callback that we succeeded\n\t\tcallback(null);\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nInformation about this saver\n*/\nTiddlyIESaver.prototype.info = {\n\tname: \"tiddlyiesaver\",\n\tpriority: 1500,\n\tcapabilities: [\"save\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn (window.location.protocol === \"file:\");\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TiddlyIESaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/tiddlyie.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/twedit.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/twedit.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via the TWEdit iOS app\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false, netscape: false, Components: false */\n\"use strict\";\n\nvar TWEditSaver = function(wiki) {\n};\n\nTWEditSaver.prototype.save = function(text,method,callback) {\n\t// Bail if we're not running under TWEdit\n\tif(typeof DeviceInfo !== \"object\") {\n\t\treturn false;\n\t}\n\t// Get the pathname of this document\n\tvar pathname = decodeURIComponent(document.location.pathname);\n\t// Strip any query or location part\n\tvar p = pathname.indexOf(\"?\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\tp = pathname.indexOf(\"#\");\n\tif(p !== -1) {\n\t\tpathname = pathname.substr(0,p);\n\t}\n\t// Remove the leading \"/Documents\" from path\n\tvar prefix = \"/Documents\";\n\tif(pathname.indexOf(prefix) === 0) {\n\t\tpathname = pathname.substr(prefix.length);\n\t}\n\t// Error handler\n\tvar errorHandler = function(event) {\n\t\t// Error\n\t\tcallback($tw.language.getString(\"Error/SavingToTWEdit\") + \": \" + event.target.error.code);\n\t};\n\t// Get the file system\n\twindow.requestFileSystem(LocalFileSystem.PERSISTENT,0,function(fileSystem) {\n\t\t// Now we've got the filesystem, get the fileEntry\n\t\tfileSystem.root.getFile(pathname, {create: true}, function(fileEntry) {\n\t\t\t// Now we've got the fileEntry, create the writer\n\t\t\tfileEntry.createWriter(function(writer) {\n\t\t\t\twriter.onerror = errorHandler;\n\t\t\t\twriter.onwrite = function() {\n\t\t\t\t\tcallback(null);\n\t\t\t\t};\n\t\t\t\twriter.position = 0;\n\t\t\t\twriter.write(text);\n\t\t\t},errorHandler);\n\t\t}, errorHandler);\n\t}, errorHandler);\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nTWEditSaver.prototype.info = {\n\tname: \"twedit\",\n\tpriority: 1600,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new TWEditSaver(wiki);\n};\n\n/////////////////////////// Hack\n// HACK: This ensures that TWEdit recognises us as a TiddlyWiki document\nif($tw.browser) {\n\twindow.version = {title: \"TiddlyWiki\"};\n}\n\n})();\n",
            "title": "$:/core/modules/savers/twedit.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/savers/upload.js": {
            "text": "/*\\\ntitle: $:/core/modules/savers/upload.js\ntype: application/javascript\nmodule-type: saver\n\nHandles saving changes via upload to a server.\n\nDesigned to be compatible with BidiX's UploadPlugin at http://tiddlywiki.bidix.info/#UploadPlugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSelect the appropriate saver module and set it up\n*/\nvar UploadSaver = function(wiki) {\n\tthis.wiki = wiki;\n};\n\nUploadSaver.prototype.save = function(text,method,callback) {\n\t// Get the various parameters we need\n\tvar backupDir = this.wiki.getTextReference(\"$:/UploadBackupDir\") || \".\",\n\t\tusername = this.wiki.getTextReference(\"$:/UploadName\"),\n\t\tpassword = $tw.utils.getPassword(\"upload\"),\n\t\tuploadDir = this.wiki.getTextReference(\"$:/UploadDir\") || \".\",\n\t\tuploadFilename = this.wiki.getTextReference(\"$:/UploadFilename\") || \"index.html\",\n\t\turl = this.wiki.getTextReference(\"$:/UploadURL\");\n\t// Bail out if we don't have the bits we need\n\tif(!username || username.toString().trim() === \"\" || !password || password.toString().trim() === \"\") {\n\t\treturn false;\n\t}\n\t// Construct the url if not provided\n\tif(!url) {\n\t\turl = \"http://\" + username + \".tiddlyspot.com/store.cgi\";\n\t}\n\t// Assemble the header\n\tvar boundary = \"---------------------------\" + \"AaB03x\";\t\n\tvar uploadFormName = \"UploadPlugin\";\n\tvar head = [];\n\thead.push(\"--\" + boundary + \"\\r\\nContent-disposition: form-data; name=\\\"UploadPlugin\\\"\\r\\n\");\n\thead.push(\"backupDir=\" + backupDir + \";user=\" + username + \";password=\" + password + \";uploaddir=\" + uploadDir + \";;\"); \n\thead.push(\"\\r\\n\" + \"--\" + boundary);\n\thead.push(\"Content-disposition: form-data; name=\\\"userfile\\\"; filename=\\\"\" + uploadFilename + \"\\\"\");\n\thead.push(\"Content-Type: text/html;charset=UTF-8\");\n\thead.push(\"Content-Length: \" + text.length + \"\\r\\n\");\n\thead.push(\"\");\n\t// Assemble the tail and the data itself\n\tvar tail = \"\\r\\n--\" + boundary + \"--\\r\\n\",\n\t\tdata = head.join(\"\\r\\n\") + text + tail;\n\t// Do the HTTP post\n\tvar http = new XMLHttpRequest();\n\thttp.open(\"POST\",url,true,username,password);\n\thttp.setRequestHeader(\"Content-Type\",\"multipart/form-data; charset=UTF-8; boundary=\" + boundary);\n\thttp.onreadystatechange = function() {\n\t\tif(http.readyState == 4 && http.status == 200) {\n\t\t\tif(http.responseText.substr(0,4) === \"0 - \") {\n\t\t\t\tcallback(null);\n\t\t\t} else {\n\t\t\t\tcallback(http.responseText);\n\t\t\t}\n\t\t}\n\t};\n\ttry {\n\t\thttp.send(data);\n\t} catch(ex) {\n\t\treturn callback($tw.language.getString(\"Error/Caption\") + \":\" + ex);\n\t}\n\t$tw.notifier.display(\"$:/language/Notifications/Save/Starting\");\n\treturn true;\n};\n\n/*\nInformation about this saver\n*/\nUploadSaver.prototype.info = {\n\tname: \"upload\",\n\tpriority: 2000,\n\tcapabilities: [\"save\", \"autosave\"]\n};\n\n/*\nStatic method that returns true if this saver is capable of working\n*/\nexports.canSave = function(wiki) {\n\treturn true;\n};\n\n/*\nCreate an instance of this saver\n*/\nexports.create = function(wiki) {\n\treturn new UploadSaver(wiki);\n};\n\n})();\n",
            "title": "$:/core/modules/savers/upload.js",
            "type": "application/javascript",
            "module-type": "saver"
        },
        "$:/core/modules/browser-messaging.js": {
            "text": "/*\\\ntitle: $:/core/modules/browser-messaging.js\ntype: application/javascript\nmodule-type: startup\n\nBrowser message handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"browser-messaging\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n/*\nLoad a specified url as an iframe and call the callback when it is loaded. If the url is already loaded then the existing iframe instance is used\n*/\nfunction loadIFrame(url,callback) {\n\t// Check if iframe already exists\n\tvar iframeInfo = $tw.browserMessaging.iframeInfoMap[url];\n\tif(iframeInfo) {\n\t\t// We've already got the iframe\n\t\tcallback(null,iframeInfo);\n\t} else {\n\t\t// Create the iframe and save it in the list\n\t\tvar iframe = document.createElement(\"iframe\"),\n\t\t\tiframeInfo = {\n\t\t\t\turl: url,\n\t\t\t\tstatus: \"loading\",\n\t\t\t\tdomNode: iframe\n\t\t\t};\n\t\t$tw.browserMessaging.iframeInfoMap[url] = iframeInfo;\n\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t// Add the iframe to the DOM and hide it\n\t\tiframe.style.display = \"none\";\n\t\tdocument.body.appendChild(iframe);\n\t\t// Set up onload\n\t\tiframe.onload = function() {\n\t\t\tiframeInfo.status = \"loaded\";\n\t\t\tsaveIFrameInfoTiddler(iframeInfo);\n\t\t\tcallback(null,iframeInfo);\n\t\t};\n\t\tiframe.onerror = function() {\n\t\t\tcallback(\"Cannot load iframe\");\n\t\t};\n\t\ttry {\n\t\t\tiframe.src = url;\n\t\t} catch(ex) {\n\t\t\tcallback(ex);\n\t\t}\n\t}\n}\n\nfunction saveIFrameInfoTiddler(iframeInfo) {\n\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),{\n\t\ttitle: \"$:/temp/ServerConnection/\" + iframeInfo.url,\n\t\ttext: iframeInfo.status,\n\t\ttags: [\"$:/tags/ServerConnection\"],\n\t\turl: iframeInfo.url\n\t},$tw.wiki.getModificationFields()));\n}\n\nexports.startup = function() {\n\t// Initialise the store of iframes we've created\n\t$tw.browserMessaging = {\n\t\tiframeInfoMap: {} // Hashmap by URL of {url:,status:\"loading/loaded\",domNode:}\n\t};\n\t// Listen for widget messages to control loading the plugin library\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url;\n\t\tif(url) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers.json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-info\",\n\t\t\t\t\t\t\tinfoTitlePrefix: paramObject.infoTitlePrefix || \"$:/temp/RemoteAssetInfo/\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-load-plugin-from-library\",function(event) {\n\t\tvar paramObject = event.paramObject || {},\n\t\t\turl = paramObject.url,\n\t\t\ttitle = paramObject.title;\n\t\tif(url && title) {\n\t\t\tloadIFrame(url,function(err,iframeInfo) {\n\t\t\t\tif(err) {\n\t\t\t\t\talert($tw.language.getString(\"Error/LoadingPluginLibrary\") + \": \" + url);\n\t\t\t\t} else {\n\t\t\t\t\tiframeInfo.domNode.contentWindow.postMessage({\n\t\t\t\t\t\tverb: \"GET\",\n\t\t\t\t\t\turl: \"recipes/library/tiddlers/\" + encodeURIComponent(title) + \".json\",\n\t\t\t\t\t\tcookies: {\n\t\t\t\t\t\t\ttype: \"save-tiddler\",\n\t\t\t\t\t\t\turl: url\n\t\t\t\t\t\t}\n\t\t\t\t\t},\"*\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Listen for window messages from other windows\n\twindow.addEventListener(\"message\",function listener(event){\n\t\tconsole.log(\"browser-messaging: \",document.location.toString())\n\t\tconsole.log(\"browser-messaging: Received message from\",event.origin);\n\t\tconsole.log(\"browser-messaging: Message content\",event.data);\n\t\tswitch(event.data.verb) {\n\t\t\tcase \"GET-RESPONSE\":\n\t\t\t\tif(event.data.status.charAt(0) === \"2\") {\n\t\t\t\t\tif(event.data.cookies) {\n\t\t\t\t\t\tif(event.data.cookies.type === \"save-info\") {\n\t\t\t\t\t\t\tvar tiddlers = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.utils.each(tiddlers,function(tiddler) {\n\t\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\t\t\t\t\ttitle: event.data.cookies.infoTitlePrefix + event.data.cookies.url + \"/\" + tiddler.title,\n\t\t\t\t\t\t\t\t\t\"original-title\": tiddler.title,\n\t\t\t\t\t\t\t\t\ttext: \"\",\n\t\t\t\t\t\t\t\t\ttype: \"text/vnd.tiddlywiki\",\n\t\t\t\t\t\t\t\t\t\"original-type\": tiddler.type,\n\t\t\t\t\t\t\t\t\t\"plugin-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-plugin-type\": tiddler[\"plugin-type\"],\n\t\t\t\t\t\t\t\t\t\"module-type\": undefined,\n\t\t\t\t\t\t\t\t\t\"original-module-type\": tiddler[\"module-type\"],\n\t\t\t\t\t\t\t\t\ttags: [\"$:/tags/RemoteAssetInfo\"],\n\t\t\t\t\t\t\t\t\t\"original-tags\": $tw.utils.stringifyList(tiddler.tags || []),\n\t\t\t\t\t\t\t\t\t\"server-url\": event.data.cookies.url\n\t\t\t\t\t\t\t\t},$tw.wiki.getModificationFields()));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if(event.data.cookies.type === \"save-tiddler\") {\n\t\t\t\t\t\t\tvar tiddler = JSON.parse(event.data.body);\n\t\t\t\t\t\t\t$tw.wiki.addTiddler(new $tw.Tiddler(tiddler));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t},false);\n};\n\n})();\n",
            "title": "$:/core/modules/browser-messaging.js",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/commands.js": {
            "text": "/*\\\ntitle: $:/core/modules/startup/commands.js\ntype: application/javascript\nmodule-type: startup\n\nCommand processing\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"commands\";\nexports.platforms = [\"node\"];\nexports.after = [\"story\"];\nexports.synchronous = false;\n\nexports.startup = function(callback) {\n\t// On the server, start a commander with the command line arguments\n\tvar commander = new $tw.Commander(\n\t\t$tw.boot.argv,\n\t\tfunction(err) {\n\t\t\tif(err) {\n\t\t\t\treturn $tw.utils.error(\"Error: \" + err);\n\t\t\t}\n\t\t\tcallback();\n\t\t},\n\t\t$tw.wiki,\n\t\t{output: process.stdout, error: process.stderr}\n\t);\n\tcommander.execute();\n};\n\n})();\n",
            "title": "$:/core/modules/startup/commands.js",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/favicon.js": {
            "text": "/*\\\ntitle: $:/core/modules/startup/favicon.js\ntype: application/javascript\nmodule-type: startup\n\nFavicon handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"favicon\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\t\t\n// Favicon tiddler\nvar FAVICON_TITLE = \"$:/favicon.ico\";\n\nexports.startup = function() {\n\t// Set up the favicon\n\tsetFavicon();\n\t// Reset the favicon when the tiddler changes\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,FAVICON_TITLE)) {\n\t\t\tsetFavicon();\n\t\t}\n\t});\n};\n\nfunction setFavicon() {\n\tvar tiddler = $tw.wiki.getTiddler(FAVICON_TITLE);\n\tif(tiddler) {\n\t\tvar faviconLink = document.getElementById(\"faviconLink\");\n\t\tfaviconLink.setAttribute(\"href\",\"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text);\n\t}\n}\n\n})();\n",
            "title": "$:/core/modules/startup/favicon.js",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/info.js": {
            "text": "/*\\\ntitle: $:/core/modules/startup/info.js\ntype: application/javascript\nmodule-type: startup\n\nInitialise $:/info tiddlers via $:/temp/info-plugin pseudo-plugin\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"info\";\nexports.before = [\"startup\"];\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Collect up the info tiddlers\n\tvar infoTiddlerFields = {};\n\t// Give each info module a chance to fill in as many info tiddlers as they want\n\t$tw.modules.forEachModuleOfType(\"info\",function(title,moduleExports) {\n\t\tif(moduleExports && moduleExports.getInfoTiddlerFields) {\n\t\t\tvar tiddlerFieldsArray = moduleExports.getInfoTiddlerFields(infoTiddlerFields);\n\t\t\t$tw.utils.each(tiddlerFieldsArray,function(fields) {\n\t\t\t\tif(fields) {\n\t\t\t\t\tinfoTiddlerFields[fields.title] = fields;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\t// Bake the info tiddlers into a plugin\n\tvar fields = {\n\t\ttitle: \"$:/temp/info-plugin\",\n\t\ttype: \"application/json\",\n\t\t\"plugin-type\": \"info\",\n\t\ttext: JSON.stringify({tiddlers: infoTiddlerFields},null,$tw.config.preferences.jsonSpaces)\n\t};\n\t$tw.wiki.addTiddler(new $tw.Tiddler(fields));\n\t$tw.wiki.readPluginInfo();\n\t$tw.wiki.registerPluginTiddlers(\"info\");\n\t$tw.wiki.unpackPluginTiddlers();\n};\n\n})();\n",
            "title": "$:/core/modules/startup/info.js",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/load-modules.js": {
            "text": "/*\\\ntitle: $:/core/modules/startup/load-modules.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"load-modules\";\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Load modules\n\t$tw.modules.applyMethods(\"utils\",$tw.utils);\n\tif($tw.node) {\n\t\t$tw.modules.applyMethods(\"utils-node\",$tw.utils);\n\t}\n\t$tw.modules.applyMethods(\"global\",$tw);\n\t$tw.modules.applyMethods(\"config\",$tw.config);\n\t$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap(\"tiddlerfield\");\n\t$tw.modules.applyMethods(\"tiddlermethod\",$tw.Tiddler.prototype);\n\t$tw.modules.applyMethods(\"wikimethod\",$tw.Wiki.prototype);\n\t$tw.modules.applyMethods(\"tiddlerdeserializer\",$tw.Wiki.tiddlerDeserializerModules);\n\t$tw.macros = $tw.modules.getModulesByTypeAsHashmap(\"macro\");\n\t$tw.wiki.initParsers();\n\t$tw.Commander.initCommands();\n};\n\n})();\n",
            "title": "$:/core/modules/startup/load-modules.js",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/password.js": {
            "text": "/*\\\ntitle: $:/core/modules/startup/password.js\ntype: application/javascript\nmodule-type: startup\n\nPassword handling\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"password\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t$tw.rootWidget.addEventListener(\"tm-set-password\",function(event) {\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: $tw.language.getString(\"Encryption/PromptSetPassword\"),\n\t\t\tnoUserName: true,\n\t\t\tsubmitText: $tw.language.getString(\"Encryption/SetPassword\"),\n\t\t\tcanCancel: true,\n\t\t\trepeatPassword: true,\n\t\t\tcallback: function(data) {\n\t\t\t\tif(data) {\n\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t}\n\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t}\n\t\t});\n\t});\n\t$tw.rootWidget.addEventListener(\"tm-clear-password\",function(event) {\n\t\tif($tw.browser) {\n\t\t\tif(!confirm($tw.language.getString(\"Encryption/ConfirmClearPassword\"))) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t$tw.crypto.setPassword(null);\n\t});\n\t// Ensure that $:/isEncrypted is maintained properly\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.utils.hop(changes,\"$:/isEncrypted\")) {\n\t\t\t$tw.crypto.updateCryptoStateTiddler();\n\t\t}\n\t});\n};\n\n})();\n",
            "title": "$:/core/modules/startup/password.js",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/render.js": {
            "text": "/*\\\ntitle: $:/core/modules/startup/render.js\ntype: application/javascript\nmodule-type: startup\n\nTitle, stylesheet and page rendering\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"render\";\nexports.platforms = [\"browser\"];\nexports.after = [\"story\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar PAGE_TITLE_TITLE = \"$:/core/wiki/title\";\nvar PAGE_STYLESHEET_TITLE = \"$:/core/ui/PageStylesheet\";\nvar PAGE_TEMPLATE_TITLE = \"$:/core/ui/PageTemplate\";\n\n// Time (in ms) that we defer refreshing changes to draft tiddlers\nvar DRAFT_TIDDLER_TIMEOUT_TITLE = \"$:/config/Drafts/TypingTimeout\";\nvar DRAFT_TIDDLER_TIMEOUT = 400;\n\nexports.startup = function() {\n\t// Set up the title\n\t$tw.titleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TITLE_TITLE,{document: $tw.fakeDocument, parseAsInline: true});\n\t$tw.titleContainer = $tw.fakeDocument.createElement(\"div\");\n\t$tw.titleWidgetNode.render($tw.titleContainer,null);\n\tdocument.title = $tw.titleContainer.textContent;\n\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\tif($tw.titleWidgetNode.refresh(changes,$tw.titleContainer,null)) {\n\t\t\tdocument.title = $tw.titleContainer.textContent;\n\t\t}\n\t});\n\t// Set up the styles\n\t$tw.styleWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_STYLESHEET_TITLE,{document: $tw.fakeDocument});\n\t$tw.styleContainer = $tw.fakeDocument.createElement(\"style\");\n\t$tw.styleWidgetNode.render($tw.styleContainer,null);\n\t$tw.styleElement = document.createElement(\"style\");\n\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\tdocument.head.insertBefore($tw.styleElement,document.head.firstChild);\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"styleRefresh\",function(changes) {\n\t\tif($tw.styleWidgetNode.refresh(changes,$tw.styleContainer,null)) {\n\t\t\t$tw.styleElement.innerHTML = $tw.styleContainer.textContent;\n\t\t}\n\t}));\n\t// Display the $:/core/ui/PageTemplate tiddler to kick off the display\n\t$tw.perf.report(\"mainRender\",function() {\n\t\t$tw.pageWidgetNode = $tw.wiki.makeTranscludeWidget(PAGE_TEMPLATE_TITLE,{document: document, parentWidget: $tw.rootWidget});\n\t\t$tw.pageContainer = document.createElement(\"div\");\n\t\t$tw.utils.addClass($tw.pageContainer,\"tc-page-container-wrapper\");\n\t\tdocument.body.insertBefore($tw.pageContainer,document.body.firstChild);\n\t\t$tw.pageWidgetNode.render($tw.pageContainer,null);\n\t})();\n\t// Prepare refresh mechanism\n\tvar deferredChanges = Object.create(null),\n\t\ttimerId;\n\tfunction refresh() {\n\t\t// Process the refresh\n\t\t$tw.pageWidgetNode.refresh(deferredChanges);\n\t\tdeferredChanges = Object.create(null);\n\t}\n\t// Add the change event handler\n\t$tw.wiki.addEventListener(\"change\",$tw.perf.report(\"mainRefresh\",function(changes) {\n\t\t// Check if only drafts have changed\n\t\tvar onlyDraftsHaveChanged = true;\n\t\tfor(var title in changes) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(!tiddler || !tiddler.hasField(\"draft.of\")) {\n\t\t\t\tonlyDraftsHaveChanged = false;\n\t\t\t}\n\t\t}\n\t\t// Defer the change if only drafts have changed\n\t\tif(timerId) {\n\t\t\tclearTimeout(timerId);\n\t\t}\n\t\ttimerId = null;\n\t\tif(onlyDraftsHaveChanged) {\n\t\t\tvar timeout = parseInt($tw.wiki.getTiddlerText(DRAFT_TIDDLER_TIMEOUT_TITLE,\"\"),10);\n\t\t\tif(isNaN(timeout)) {\n\t\t\t\ttimeout = DRAFT_TIDDLER_TIMEOUT;\n\t\t\t}\n\t\t\ttimerId = setTimeout(refresh,timeout);\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t} else {\n\t\t\t$tw.utils.extend(deferredChanges,changes);\n\t\t\trefresh();\n\t\t}\n\t}));\n\t// Fix up the link between the root widget and the page container\n\t$tw.rootWidget.domNodes = [$tw.pageContainer];\n\t$tw.rootWidget.children = [$tw.pageWidgetNode];\n};\n\n})();\n",
            "title": "$:/core/modules/startup/render.js",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/rootwidget.js": {
            "text": "/*\\\ntitle: $:/core/modules/startup/rootwidget.js\ntype: application/javascript\nmodule-type: startup\n\nSetup the root widget and the core root widget handlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"rootwidget\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.before = [\"story\"];\nexports.synchronous = true;\n\nexports.startup = function() {\n\t// Install the modal message mechanism\n\t$tw.modal = new $tw.utils.Modal($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-modal\",function(event) {\n\t\t$tw.modal.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the notification  mechanism\n\t$tw.notifier = new $tw.utils.Notifier($tw.wiki);\n\t$tw.rootWidget.addEventListener(\"tm-notify\",function(event) {\n\t\t$tw.notifier.display(event.param,{variables: event.paramObject});\n\t});\n\t// Install the scroller\n\t$tw.pageScroller = new $tw.utils.PageScroller();\n\t$tw.rootWidget.addEventListener(\"tm-scroll\",function(event) {\n\t\t$tw.pageScroller.handleEvent(event);\n\t});\n\tvar fullscreen = $tw.utils.getFullScreenApis();\n\tif(fullscreen) {\n\t\t$tw.rootWidget.addEventListener(\"tm-full-screen\",function(event) {\n\t\t\tif(document[fullscreen._fullscreenElement]) {\n\t\t\t\tdocument[fullscreen._exitFullscreen]();\n\t\t\t} else {\n\t\t\t\tdocument.documentElement[fullscreen._requestFullscreen](Element.ALLOW_KEYBOARD_INPUT);\n\t\t\t}\n\t\t});\n\t}\n\t// If we're being viewed on a data: URI then give instructions for how to save\n\tif(document.location.protocol === \"data:\") {\n\t\t$tw.rootWidget.dispatchEvent({\n\t\t\ttype: \"tm-modal\",\n\t\t\tparam: \"$:/language/Modals/SaveInstructions\"\n\t\t});\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/startup/rootwidget.js",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup.js": {
            "text": "/*\\\ntitle: $:/core/modules/startup.js\ntype: application/javascript\nmodule-type: startup\n\nMiscellaneous startup logic for both the client and server.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"startup\";\nexports.after = [\"load-modules\"];\nexports.synchronous = true;\n\n// Set to `true` to enable performance instrumentation\nvar PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE = \"$:/config/Performance/Instrumentation\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nexports.startup = function() {\n\tvar modules,n,m,f;\n\t// Minimal browser detection\n\tif($tw.browser) {\n\t\t$tw.browser.isIE = (/msie|trident/i.test(navigator.userAgent));\n\t\t$tw.browser.isFirefox = !!document.mozFullScreenEnabled;\n\t}\n\t// Platform detection\n\t$tw.platform = {};\n\tif($tw.browser) {\n\t\t$tw.platform.isMac = /Mac/.test(navigator.platform);\n\t\t$tw.platform.isWindows = /win/i.test(navigator.platform);\n\t\t$tw.platform.isLinux = /Linux/i.test(navigator.appVersion);\n\t} else {\n\t\tswitch(require(\"os\").platform()) {\n\t\t\tcase \"darwin\":\n\t\t\t\t$tw.platform.isMac = true;\n\t\t\t\tbreak;\n\t\t\tcase \"win32\":\n\t\t\t\t$tw.platform.isWindows = true;\n\t\t\t\tbreak;\n\t\t\tcase \"freebsd\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t\tcase \"linux\":\n\t\t\t\t$tw.platform.isLinux = true;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t// Initialise version\n\t$tw.version = $tw.utils.extractVersionInfo();\n\t// Set up the performance framework\n\t$tw.perf = new $tw.Performance($tw.wiki.getTiddlerText(PERFORMANCE_INSTRUMENTATION_CONFIG_TITLE,\"no\") === \"yes\");\n\t// Kick off the language manager and switcher\n\t$tw.language = new $tw.Language();\n\t$tw.languageSwitcher = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"language\",\n\t\tcontrollerTitle: \"$:/language\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/languages/en-US\"\n\t\t]\n\t});\n\t// Kick off the theme manager\n\t$tw.themeManager = new $tw.PluginSwitcher({\n\t\twiki: $tw.wiki,\n\t\tpluginType: \"theme\",\n\t\tcontrollerTitle: \"$:/theme\",\n\t\tdefaultPlugins: [\n\t\t\t\"$:/themes/tiddlywiki/snowwhite\",\n\t\t\t\"$:/themes/tiddlywiki/vanilla\"\n\t\t]\n\t});\n\t// Kick off the keyboard manager\n\t$tw.keyboardManager = new $tw.KeyboardManager();\n\t// Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup\n\t$tw.wiki.clearTiddlerEventQueue();\n\t// Create a root widget for attaching event handlers. By using it as the parentWidget for another widget tree, one can reuse the event handlers\n\tif($tw.browser) {\n\t\t$tw.rootWidget = new widget.widget({\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},{\n\t\t\twiki: $tw.wiki,\n\t\t\tdocument: document\n\t\t});\n\t}\n\t// Find a working syncadaptor\n\t$tw.syncadaptor = undefined;\n\t$tw.modules.forEachModuleOfType(\"syncadaptor\",function(title,module) {\n\t\tif(!$tw.syncadaptor && module.adaptorClass) {\n\t\t\t$tw.syncadaptor = new module.adaptorClass({wiki: $tw.wiki});\n\t\t}\n\t});\n\t// Set up the syncer object if we've got a syncadaptor\n\tif($tw.syncadaptor) {\n\t\t$tw.syncer = new $tw.Syncer({wiki: $tw.wiki, syncadaptor: $tw.syncadaptor});\n\t} \n\t// Setup the saver handler\n\t$tw.saverHandler = new $tw.SaverHandler({wiki: $tw.wiki, dirtyTracking: !$tw.syncadaptor});\n\t// Host-specific startup\n\tif($tw.browser) {\n\t\t// Install the popup manager\n\t\t$tw.popup = new $tw.utils.Popup();\n\t\t// Install the animator\n\t\t$tw.anim = new $tw.utils.Animator();\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/startup.js",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/story.js": {
            "text": "/*\\\ntitle: $:/core/modules/startup/story.js\ntype: application/javascript\nmodule-type: startup\n\nLoad core modules\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"story\";\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Default story and history lists\nvar DEFAULT_STORY_TITLE = \"$:/StoryList\";\nvar DEFAULT_HISTORY_TITLE = \"$:/HistoryList\";\n\n// Default tiddlers\nvar DEFAULT_TIDDLERS_TITLE = \"$:/DefaultTiddlers\";\n\n// Config\nvar CONFIG_UPDATE_ADDRESS_BAR = \"$:/config/Navigation/UpdateAddressBar\"; // Can be \"no\", \"permalink\", \"permaview\"\nvar CONFIG_UPDATE_HISTORY = \"$:/config/Navigation/UpdateHistory\"; // Can be \"yes\" or \"no\"\n\nexports.startup = function() {\n\t// Open startup tiddlers\n\topenStartupTiddlers();\n\tif($tw.browser) {\n\t\t// Set up location hash update\n\t\t$tw.wiki.addEventListener(\"change\",function(changes) {\n\t\t\tif($tw.utils.hop(changes,DEFAULT_STORY_TITLE) || $tw.utils.hop(changes,DEFAULT_HISTORY_TITLE)) {\n\t\t\t\tupdateLocationHash({\n\t\t\t\t\tupdateAddressBar: $tw.wiki.getTiddlerText(CONFIG_UPDATE_ADDRESS_BAR,\"permaview\").trim(),\n\t\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim()\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\t// Listen for changes to the browser location hash\n\t\twindow.addEventListener(\"hashchange\",function() {\n\t\t\tvar hash = $tw.utils.getLocationHash();\n\t\t\tif(hash !== $tw.locationHash) {\n\t\t\t\t$tw.locationHash = hash;\n\t\t\t\topenStartupTiddlers({defaultToCurrentStory: true});\n\t\t\t}\n\t\t},false);\n\t\t// Listen for the tm-browser-refresh message\n\t\t$tw.rootWidget.addEventListener(\"tm-browser-refresh\",function(event) {\n\t\t\twindow.location.reload(true);\n\t\t});\n\t\t// Listen for the tm-home message\n\t\t$tw.rootWidget.addEventListener(\"tm-home\",function(event) {\n\t\t\twindow.location.hash = \"\";\n\t\t\tvar storyFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE),\n\t\t\t\tstoryList = $tw.wiki.filterTiddlers(storyFilter);\n\t\t\t//invoke any hooks that might change the default story list\n\t\t\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t\t\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t\t\tif(storyList[0]) {\n\t\t\t\t$tw.wiki.addToHistory(storyList[0]);\t\t\t\t\n\t\t\t}\n\t\t});\n\t\t// Listen for the tm-permalink message\n\t\t$tw.rootWidget.addEventListener(\"tm-permalink\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: \"permalink\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle\n\t\t\t});\n\t\t});\n\t\t// Listen for the tm-permaview message\n\t\t$tw.rootWidget.addEventListener(\"tm-permaview\",function(event) {\n\t\t\tupdateLocationHash({\n\t\t\t\tupdateAddressBar: \"permaview\",\n\t\t\t\tupdateHistory: $tw.wiki.getTiddlerText(CONFIG_UPDATE_HISTORY,\"no\").trim(),\n\t\t\t\ttargetTiddler: event.param || event.tiddlerTitle\n\t\t\t});\n\t\t});\n\t}\n};\n\n/*\nProcess the location hash to open the specified tiddlers. Options:\ndefaultToCurrentStory: If true, the current story is retained as the default, instead of opening the default tiddlers\n*/\nfunction openStartupTiddlers(options) {\n\toptions = options || {};\n\t// Work out the target tiddler and the story filter. \"null\" means \"unspecified\"\n\tvar target = null,\n\t\tstoryFilter = null;\n\tif($tw.locationHash.length > 1) {\n\t\tvar hash = $tw.locationHash.substr(1),\n\t\t\tsplit = hash.indexOf(\":\");\n\t\tif(split === -1) {\n\t\t\ttarget = decodeURIComponent(hash.trim());\n\t\t} else {\n\t\t\ttarget = decodeURIComponent(hash.substr(0,split).trim());\n\t\t\tstoryFilter = decodeURIComponent(hash.substr(split + 1).trim());\n\t\t}\n\t}\n\t// If the story wasn't specified use the current tiddlers or a blank story\n\tif(storyFilter === null) {\n\t\tif(options.defaultToCurrentStory) {\n\t\t\tvar currStoryList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE);\n\t\t\tstoryFilter = $tw.utils.stringifyList(currStoryList);\n\t\t} else {\n\t\t\tif(target && target !== \"\") {\n\t\t\t\tstoryFilter = \"\";\n\t\t\t} else {\n\t\t\t\tstoryFilter = $tw.wiki.getTiddlerText(DEFAULT_TIDDLERS_TITLE);\n\t\t\t}\n\t\t}\n\t}\n\t// Process the story filter to get the story list\n\tvar storyList = $tw.wiki.filterTiddlers(storyFilter);\n\t// Invoke any hooks that want to change the default story list\n\tstoryList = $tw.hooks.invokeHook(\"th-opening-default-tiddlers-list\",storyList);\n\t// If the target tiddler isn't included then splice it in at the top\n\tif(target && storyList.indexOf(target) === -1) {\n\t\tstoryList.unshift(target);\n\t}\n\t// Save the story list\n\t$tw.wiki.addTiddler({title: DEFAULT_STORY_TITLE, text: \"\", list: storyList},$tw.wiki.getModificationFields());\n\t// If a target tiddler was specified add it to the history stack\n\tif(target && target !== \"\") {\n\t\t// The target tiddler doesn't need double square brackets, but we'll silently remove them if they're present\n\t\tif(target.indexOf(\"[[\") === 0 && target.substr(-2) === \"]]\") {\n\t\t\ttarget = target.substr(2,target.length - 4);\n\t\t}\n\t\t$tw.wiki.addToHistory(target);\n\t} else if(storyList.length > 0) {\n\t\t$tw.wiki.addToHistory(storyList[0]);\n\t}\n}\n\n/*\noptions: See below\noptions.updateAddressBar: \"permalink\", \"permaview\" or \"no\" (defaults to \"permaview\")\noptions.updateHistory: \"yes\" or \"no\" (defaults to \"no\")\noptions.targetTiddler: optional title of target tiddler for permalink\n*/\nfunction updateLocationHash(options) {\n\tif(options.updateAddressBar !== \"no\") {\n\t\t// Get the story and the history stack\n\t\tvar storyList = $tw.wiki.getTiddlerList(DEFAULT_STORY_TITLE),\n\t\t\thistoryList = $tw.wiki.getTiddlerData(DEFAULT_HISTORY_TITLE,[]),\n\t\t\ttargetTiddler = \"\";\n\t\tif(options.targetTiddler) {\n\t\t\ttargetTiddler = options.targetTiddler;\n\t\t} else {\n\t\t\t// The target tiddler is the one at the top of the stack\n\t\t\tif(historyList.length > 0) {\n\t\t\t\ttargetTiddler = historyList[historyList.length-1].title;\n\t\t\t}\n\t\t\t// Blank the target tiddler if it isn't present in the story\n\t\t\tif(storyList.indexOf(targetTiddler) === -1) {\n\t\t\t\ttargetTiddler = \"\";\n\t\t\t}\n\t\t}\n\t\t// Assemble the location hash\n\t\tif(options.updateAddressBar === \"permalink\") {\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler);\n\t\t} else {\n\t\t\t$tw.locationHash = \"#\" + encodeURIComponent(targetTiddler) + \":\" + encodeURIComponent($tw.utils.stringifyList(storyList));\n\t\t}\n\t\t// Only change the location hash if we must, thus avoiding unnecessary onhashchange events\n\t\tif($tw.utils.getLocationHash() !== $tw.locationHash) {\n\t\t\tif(options.updateHistory === \"yes\") {\n\t\t\t\t// Assign the location hash so that history is updated\n\t\t\t\twindow.location.hash = $tw.locationHash;\n\t\t\t} else {\n\t\t\t\t// We use replace so that browser history isn't affected\n\t\t\t\twindow.location.replace(window.location.toString().split(\"#\")[0] + $tw.locationHash);\n\t\t\t}\n\t\t}\n\t}\n}\n\n})();\n",
            "title": "$:/core/modules/startup/story.js",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/startup/windows.js": {
            "text": "/*\\\ntitle: $:/core/modules/startup/windows.js\ntype: application/javascript\nmodule-type: startup\n\nSetup root widget handlers for the messages concerned with opening external browser windows\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Export name and synchronous status\nexports.name = \"windows\";\nexports.platforms = [\"browser\"];\nexports.after = [\"startup\"];\nexports.synchronous = true;\n\n// Global to keep track of open windows (hashmap by title)\nvar windows = {};\n\nexports.startup = function() {\n\t// Handle open window message\n\t$tw.rootWidget.addEventListener(\"tm-open-window\",function(event) {\n\t\t// Get the parameters\n\t\tvar refreshHandler,\n\t\t\ttitle = event.param || event.tiddlerTitle,\n\t\t\tparamObject = event.paramObject || {},\n\t\t\ttemplate = paramObject.template || \"$:/core/templates/single.tiddler.window\",\n\t\t\twidth = paramObject.width || \"700\",\n\t\t\theight = paramObject.height || \"600\",\n\t\t\tvariables = $tw.utils.extend({},paramObject,{currentTiddler: title});\n\t\t// Open the window\n\t\tvar srcWindow = window.open(\"\",\"external-\" + title,\"scrollbars,width=\" + width + \",height=\" + height),\n\t\t\tsrcDocument = srcWindow.document;\n\t\twindows[title] = srcWindow;\n\t\t// Check for reopening the same window\n\t\tif(srcWindow.haveInitialisedWindow) {\n\t\t\treturn;\n\t\t}\n\t\t// Initialise the document\n\t\tsrcDocument.write(\"<html><head></head><body class='tc-body tc-single-tiddler-window'></body></html>\");\n\t\tsrcDocument.close();\n\t\tsrcDocument.title = title;\n\t\tsrcWindow.addEventListener(\"beforeunload\",function(event) {\n\t\t\tdelete windows[title];\n\t\t\t$tw.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t},false);\n\t\t// Set up the styles\n\t\tvar styleWidgetNode = $tw.wiki.makeTranscludeWidget(\"$:/core/ui/PageStylesheet\",{document: $tw.fakeDocument, variables: variables}),\n\t\t\tstyleContainer = $tw.fakeDocument.createElement(\"style\");\n\t\tstyleWidgetNode.render(styleContainer,null);\n\t\tvar styleElement = srcDocument.createElement(\"style\");\n\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\tsrcDocument.head.insertBefore(styleElement,srcDocument.head.firstChild);\n\t\t// Render the text of the tiddler\n\t\tvar parser = $tw.wiki.parseTiddler(template),\n\t\t\twidgetNode = $tw.wiki.makeWidget(parser,{document: srcDocument, parentWidget: $tw.rootWidget, variables: variables});\n\t\twidgetNode.render(srcDocument.body,srcDocument.body.firstChild);\n\t\t// Function to handle refreshes\n\t\trefreshHandler = function(changes) {\n\t\t\tif(styleWidgetNode.refresh(changes,styleContainer,null)) {\n\t\t\t\tstyleElement.innerHTML = styleContainer.textContent;\n\t\t\t}\n\t\t\twidgetNode.refresh(changes);\n\t\t};\n\t\t$tw.wiki.addEventListener(\"change\",refreshHandler);\n\t\tsrcWindow.haveInitialisedWindow = true;\n\t});\n\t// Close open windows when unloading main window\n\t$tw.addUnloadTask(function() {\n\t\t$tw.utils.each(windows,function(win) {\n\t\t\twin.close();\n\t\t});\n\t});\n\n};\n\n})();\n",
            "title": "$:/core/modules/startup/windows.js",
            "type": "application/javascript",
            "module-type": "startup"
        },
        "$:/core/modules/story.js": {
            "text": "/*\\\ntitle: $:/core/modules/story.js\ntype: application/javascript\nmodule-type: global\n\nLightweight object for managing interactions with the story and history lists.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nConstruct Story object with options:\nwiki: reference to wiki object to use to resolve tiddler titles\nstoryTitle: title of story list tiddler\nhistoryTitle: title of history list tiddler\n*/\nfunction Story(options) {\n\toptions = options || {};\n\tthis.wiki = options.wiki || $tw.wiki;\n\tthis.storyTitle = options.storyTitle || \"$:/StoryList\";\n\tthis.historyTitle = options.historyTitle || \"$:/HistoryList\";\n};\n\nStory.prototype.navigateTiddler = function(navigateTo,navigateFromTitle,navigateFromClientRect) {\n\tthis.addToStory(navigateTo,navigateFromTitle);\n\tthis.addToHistory(navigateTo,navigateFromClientRect);\n};\n\nStory.prototype.getStoryList = function() {\n\treturn this.wiki.getTiddlerList(this.storyTitle) || [];\n};\n\nStory.prototype.addToStory = function(navigateTo,navigateFromTitle,options) {\n\toptions = options || {};\n\tvar storyList = this.getStoryList();\n\t// See if the tiddler is already there\n\tvar slot = storyList.indexOf(navigateTo);\n\t// Quit if it already exists in the story river\n\tif(slot >= 0) {\n\t\treturn;\n\t}\n\t// First we try to find the position of the story element we navigated from\n\tvar fromIndex = storyList.indexOf(navigateFromTitle);\n\tif(fromIndex >= 0) {\n\t\t// The tiddler is added from inside the river\n\t\t// Determine where to insert the tiddler; Fallback is \"below\"\n\t\tswitch(options.openLinkFromInsideRiver) {\n\t\t\tcase \"top\":\n\t\t\t\tslot = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\":\n\t\t\t\tslot = storyList.length;\n\t\t\t\tbreak;\n\t\t\tcase \"above\":\n\t\t\t\tslot = fromIndex;\n\t\t\t\tbreak;\n\t\t\tcase \"below\": // Intentional fall-through\n\t\t\tdefault:\n\t\t\t\tslot = fromIndex + 1;\n\t\t\t\tbreak;\n\t\t}\n\t} else {\n\t\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \"top\"\n\t\tif(options.openLinkFromOutsideRiver === \"bottom\") {\n\t\t\t// Insert at bottom\n\t\t\tslot = storyList.length;\n\t\t} else {\n\t\t\t// Insert at top\n\t\t\tslot = 0;\n\t\t}\n\t}\n\t// Add the tiddler\n\tstoryList.splice(slot,0,navigateTo);\n\t// Save the story\n\tthis.saveStoryList(storyList);\n};\n\nStory.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\tthis.wiki.getCreationFields(),\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList},\n\t\tthis.wiki.getModificationFields()\n\t));\n};\n\nStory.prototype.addToHistory = function(navigateTo,navigateFromClientRect) {\n\tvar titles = $tw.utils.isArray(navigateTo) ? navigateTo : [navigateTo];\n\t// Add a new record to the top of the history stack\n\tvar historyList = this.wiki.getTiddlerData(this.historyTitle,[]);\n\t$tw.utils.each(titles,function(title) {\n\t\thistoryList.push({title: title, fromPageRect: navigateFromClientRect});\n\t});\n\tthis.wiki.setTiddlerData(this.historyTitle,historyList,{\"current-tiddler\": titles[titles.length-1]});\n};\n\nStory.prototype.storyCloseTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCloseAllTiddlers = function() {\n// TBD\n};\n\nStory.prototype.storyCloseOtherTiddlers = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyEditTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyDeleteTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storySaveTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyCancelTiddler = function(targetTitle) {\n// TBD\n};\n\nStory.prototype.storyNewTiddler = function(targetTitle) {\n// TBD\n};\n\nexports.Story = Story;\n\n\n})();\n",
            "title": "$:/core/modules/story.js",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/storyviews/classic.js": {
            "text": "/*\\\ntitle: $:/core/modules/storyviews/classic.js\ntype: application/javascript\nmodule-type: storyview\n\nViews the story as a linear sequence\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ClassicStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nClassicStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nClassicStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Get the current height of the tiddler\n\tvar computedStyle = window.getComputedStyle(targetElement),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"}\n\t\t]);\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nClassicStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Get the current height of the tiddler\n\tvar currWidth = targetElement.offsetWidth,\n\t\tcomputedStyle = window.getComputedStyle(targetElement),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrHeight = targetElement.offsetHeight + currMarginTop;\n\t// Remove the dom nodes of the widget at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"translateX(0px)\"},\n\t\t{marginBottom:  currMarginBottom + \"px\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms \" + easing + \", \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms \" + easing},\n\t\t{transform: \"translateX(-\" + currWidth + \"px)\"},\n\t\t{marginBottom: (-currHeight) + \"px\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.classic = ClassicStoryView;\n\n})();",
            "title": "$:/core/modules/storyviews/classic.js",
            "type": "application/javascript",
            "module-type": "storyview"
        },
        "$:/core/modules/storyviews/pop.js": {
            "text": "/*\\\ntitle: $:/core/modules/storyviews/pop.js\ntype: application/javascript\nmodule-type: storyview\n\nAnimates list insertions and removals\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar PopStoryView = function(listWidget) {\n\tthis.listWidget = listWidget;\n};\n\nPopStoryView.prototype.navigateTo = function(historyInfo) {\n\tvar listElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Scroll the node into view\n\tthis.listWidget.dispatchEvent({type: \"tm-scroll\", target: targetElement});\n};\n\nPopStoryView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Reset once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(targetElement,[\n\t\t\t{transition: \"none\"},\n\t\t\t{transform: \"none\"}\n\t\t]);\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(2)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t// Transition to the final position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n};\n\nPopStoryView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\tif(targetElement.parentNode) {\n\t\t\t\twidget.removeChildDomNodes();\n\t\t\t}\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Remove the element at the end of the transition\n\tsetTimeout(removeElement,duration);\n\t// Animate the closure\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: \"none\"},\n\t\t{transform: \"scale(1)\"},\n\t\t{opacity: \"1.0\"}\n\t]);\n\t$tw.utils.forceLayout(targetElement);\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{transform: \"scale(0.1)\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n};\n\nexports.pop = PopStoryView;\n\n})();\n",
            "title": "$:/core/modules/storyviews/pop.js",
            "type": "application/javascript",
            "module-type": "storyview"
        },
        "$:/core/modules/storyviews/zoomin.js": {
            "text": "/*\\\ntitle: $:/core/modules/storyviews/zoomin.js\ntype: application/javascript\nmodule-type: storyview\n\nZooms between individual tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar easing = \"cubic-bezier(0.645, 0.045, 0.355, 1)\"; // From http://easings.net/#easeInOutCubic\n\nvar ZoominListView = function(listWidget) {\n\tvar self = this;\n\tthis.listWidget = listWidget;\n\t// Get the index of the tiddler that is at the top of the history\n\tvar history = this.listWidget.wiki.getTiddlerDataCached(this.listWidget.historyTitle,[]),\n\t\ttargetTiddler;\n\tif(history.length > 0) {\n\t\ttargetTiddler = history[history.length-1].title;\n\t}\n\t// Make all the tiddlers position absolute, and hide all but the top (or first) one\n\t$tw.utils.each(this.listWidget.children,function(itemWidget,index) {\n\t\tvar domNode = itemWidget.findFirstDomNode();\n\t\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\t\tif(!(domNode instanceof Element)) {\n\t\t\treturn;\n\t\t}\n\t\tif((targetTiddler && targetTiddler !== itemWidget.parseTreeNode.itemTitle) || (!targetTiddler && index)) {\n\t\t\tdomNode.style.display = \"none\";\n\t\t} else {\n\t\t\tself.currentTiddlerDomNode = domNode;\n\t\t}\n\t\t$tw.utils.addClass(domNode,\"tc-storyview-zoomin-tiddler\");\n\t});\n};\n\nZoominListView.prototype.navigateTo = function(historyInfo) {\n\tvar duration = $tw.utils.getAnimationDuration(),\n\t\tlistElementIndex = this.listWidget.findListItem(0,historyInfo.title);\n\tif(listElementIndex === undefined) {\n\t\treturn;\n\t}\n\tvar listItemWidget = this.listWidget.children[listElementIndex],\n\t\ttargetElement = listItemWidget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the new tiddler be position absolute and visible so that we can measure it\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"0 0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{opacity: \"0.0\"}\n\t]);\n\t// Get the position of the source node, or use the centre of the window as the source position\n\tvar sourceBounds = historyInfo.fromPageRect || {\n\t\t\tleft: window.innerWidth/2 - 2,\n\t\t\ttop: window.innerHeight/2 - 2,\n\t\t\twidth: window.innerWidth/8,\n\t\t\theight: window.innerHeight/8\n\t\t};\n\t// Try to find the title node in the target tiddler\n\tvar titleDomNode = findTitleDomNode(listItemWidget) || listItemWidget.findFirstDomNode(),\n\t\tzoomBounds = titleDomNode.getBoundingClientRect();\n\t// Compute the transform for the target tiddler to make the title lie over the source rectange\n\tvar targetBounds = targetElement.getBoundingClientRect(),\n\t\tscale = sourceBounds.width / zoomBounds.width,\n\t\tx = sourceBounds.left - targetBounds.left - (zoomBounds.left - targetBounds.left) * scale,\n\t\ty = sourceBounds.top - targetBounds.top - (zoomBounds.top - targetBounds.top) * scale;\n\t// Transform the target tiddler to its starting position\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(targetElement);\n\t// Apply the ending transitions with a timeout to ensure that the previously applied transformations are applied first\n\tvar self = this,\n\t\tprevCurrentTiddler = this.currentTiddlerDomNode;\n\tthis.currentTiddlerDomNode = targetElement;\n\t// Transform the target tiddler to its natural size\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{zIndex: \"500\"},\n\t]);\n\t// Transform the previous tiddler out of the way and then hide it\n\tif(prevCurrentTiddler && prevCurrentTiddler !== targetElement) {\n\t\tscale = zoomBounds.width / sourceBounds.width;\n\t\tx =  zoomBounds.left - targetBounds.left - (sourceBounds.left - targetBounds.left) * scale;\n\t\ty =  zoomBounds.top - targetBounds.top - (sourceBounds.top - targetBounds.top) * scale;\n\t\t$tw.utils.setStyle(prevCurrentTiddler,[\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transformOrigin: \"0 0\"},\n\t\t\t{transform: \"translateX(\" + x + \"px) translateY(\" + y + \"px) scale(\" + scale + \")\"},\n\t\t\t{zIndex: \"0\"}\n\t\t]);\n\t\t// Hide the tiddler when the transition has finished\n\t\tsetTimeout(function() {\n\t\t\tif(self.currentTiddlerDomNode !== prevCurrentTiddler) {\n\t\t\t\tprevCurrentTiddler.style.display = \"none\";\n\t\t\t}\n\t\t},duration);\n\t}\n\t// Scroll the target into view\n//\t$tw.pageScroller.scrollIntoView(targetElement);\n};\n\n/*\nFind the first child DOM node of a widget that has the class \"tc-title\"\n*/\nfunction findTitleDomNode(widget,targetClass) {\n\ttargetClass = targetClass || \"tc-title\";\n\tvar domNode = widget.findFirstDomNode();\n\tif(domNode && domNode.querySelector) {\n\t\treturn domNode.querySelector(\".\" + targetClass);\n\t}\n\treturn null;\n}\n\nZoominListView.prototype.insert = function(widget) {\n\tvar targetElement = widget.findFirstDomNode();\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\treturn;\n\t}\n\t// Make the newly inserted node position absolute and hidden\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"none\"}\n\t]);\n};\n\nZoominListView.prototype.remove = function(widget) {\n\tvar targetElement = widget.findFirstDomNode(),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\tremoveElement = function() {\n\t\t\twidget.removeChildDomNodes();\n\t\t};\n\t// Abandon if the list entry isn't a DOM element (it might be a text node)\n\tif(!(targetElement instanceof Element)) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Abandon if hidden\n\tif(targetElement.style.display != \"block\" ) {\n\t\tremoveElement();\n\t\treturn;\n\t}\n\t// Set up the tiddler that is being closed\n\t$tw.utils.addClass(targetElement,\"tc-storyview-zoomin-tiddler\");\n\t$tw.utils.setStyle(targetElement,[\n\t\t{display: \"block\"},\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t{transition: \"none\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\t// We'll move back to the previous or next element in the story\n\tvar toWidget = widget.previousSibling();\n\tif(!toWidget) {\n\t\ttoWidget = widget.nextSibling();\n\t}\n\tvar toWidgetDomNode = toWidget && toWidget.findFirstDomNode();\n\t// Set up the tiddler we're moving back in\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.addClass(toWidgetDomNode,\"tc-storyview-zoomin-tiddler\");\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{display: \"block\"},\n\t\t\t{transformOrigin: \"50% 50%\"},\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(10)\"},\n\t\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t\t{opacity: \"0\"},\n\t\t\t{zIndex: \"500\"}\n\t\t]);\n\t\tthis.currentTiddlerDomNode = toWidgetDomNode;\n\t}\n\t// Animate them both\n\t// Force layout\n\t$tw.utils.forceLayout(this.listWidget.parentDomNode);\n\t// First, the tiddler we're closing\n\t$tw.utils.setStyle(targetElement,[\n\t\t{transformOrigin: \"50% 50%\"},\n\t\t{transform: \"translateX(0px) translateY(0px) scale(0.1)\"},\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms \" + easing + \", opacity \" + duration + \"ms \" + easing},\n\t\t{opacity: \"0\"},\n\t\t{zIndex: \"0\"}\n\t]);\n\tsetTimeout(removeElement,duration);\n\t// Now the tiddler we're going back to\n\tif(toWidgetDomNode) {\n\t\t$tw.utils.setStyle(toWidgetDomNode,[\n\t\t\t{transform: \"translateX(0px) translateY(0px) scale(1)\"},\n\t\t\t{opacity: \"1\"}\n\t\t]);\n\t}\n\treturn true; // Indicate that we'll delete the DOM node\n};\n\nexports.zoomin = ZoominListView;\n\n})();\n",
            "title": "$:/core/modules/storyviews/zoomin.js",
            "type": "application/javascript",
            "module-type": "storyview"
        },
        "$:/core/modules/syncer.js": {
            "text": "/*\\\ntitle: $:/core/modules/syncer.js\ntype: application/javascript\nmodule-type: global\n\nThe syncer tracks changes to the store. If a syncadaptor is used then individual tiddlers are synchronised through it. If there is no syncadaptor then the entire wiki is saved via saver modules.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nInstantiate the syncer with the following options:\nsyncadaptor: reference to syncadaptor to be used\nwiki: wiki to be synced\n*/\nfunction Syncer(options) {\n\tvar self = this;\n\tthis.wiki = options.wiki;\n\tthis.syncadaptor = options.syncadaptor;\n\t// Make a logger\n\tthis.logger = new $tw.utils.Logger(\"syncer\" + ($tw.browser ? \"-browser\" : \"\") + ($tw.node ? \"-server\" : \"\"));\n\t// Compile the dirty tiddler filter\n\tthis.filterFn = this.wiki.compileFilter(this.wiki.getTiddlerText(this.titleSyncFilter));\n\t// Record information for known tiddlers\n\tthis.readTiddlerInfo();\n\t// Tasks are {type: \"load\"/\"save\"/\"delete\", title:, queueTime:, lastModificationTime:}\n\tthis.taskQueue = {}; // Hashmap of tasks yet to be performed\n\tthis.taskInProgress = {}; // Hash of tasks in progress\n\tthis.taskTimerId = null; // Timer for task dispatch\n\tthis.pollTimerId = null; // Timer for polling server\n\t// Listen out for changes to tiddlers\n\tthis.wiki.addEventListener(\"change\",function(changes) {\n\t\tself.syncToServer(changes);\n\t});\n\t// Browser event handlers\n\tif($tw.browser) {\n\t\t// Set up our beforeunload handler\n\t\t$tw.addUnloadTask(function(event) {\n\t\t\tvar confirmationMessage;\n\t\t\tif(self.isDirty()) {\n\t\t\t\tconfirmationMessage = $tw.language.getString(\"UnsavedChangesWarning\");\n\t\t\t\tevent.returnValue = confirmationMessage; // Gecko\n\t\t\t}\n\t\t\treturn confirmationMessage;\n\t\t});\n\t\t// Listen out for login/logout/refresh events in the browser\n\t\t$tw.rootWidget.addEventListener(\"tm-login\",function() {\n\t\t\tself.handleLoginEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-logout\",function() {\n\t\t\tself.handleLogoutEvent();\n\t\t});\n\t\t$tw.rootWidget.addEventListener(\"tm-server-refresh\",function() {\n\t\t\tself.handleRefreshEvent();\n\t\t});\n\t}\n\t// Listen out for lazyLoad events\n\tthis.wiki.addEventListener(\"lazyLoad\",function(title) {\n\t\tself.handleLazyLoadEvent(title);\n\t});\n\t// Get the login status\n\tthis.getStatus(function(err,isLoggedIn) {\n\t\t// Do a sync from the server\n\t\tself.syncFromServer();\n\t});\n}\n\n/*\nConstants\n*/\nSyncer.prototype.titleIsLoggedIn = \"$:/status/IsLoggedIn\";\nSyncer.prototype.titleUserName = \"$:/status/UserName\";\nSyncer.prototype.titleSyncFilter = \"$:/config/SyncFilter\";\nSyncer.prototype.titleSavedNotification = \"$:/language/Notifications/Save/Done\";\nSyncer.prototype.taskTimerInterval = 1 * 1000; // Interval for sync timer\nSyncer.prototype.throttleInterval = 1 * 1000; // Defer saving tiddlers if they've changed in the last 1s...\nSyncer.prototype.fallbackInterval = 10 * 1000; // Unless the task is older than 10s\nSyncer.prototype.pollTimerInterval = 60 * 1000; // Interval for polling for changes from the adaptor\n\n\n/*\nRead (or re-read) the latest tiddler info from the store\n*/\nSyncer.prototype.readTiddlerInfo = function() {\n\t// Hashmap by title of {revision:,changeCount:,adaptorInfo:}\n\tthis.tiddlerInfo = {};\n\t// Record information for known tiddlers\n\tvar self = this,\n\t\ttiddlers = this.filterFn.call(this.wiki);\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\tself.tiddlerInfo[title] = {\n\t\t\trevision: tiddler.fields.revision,\n\t\t\tadaptorInfo: self.syncadaptor && self.syncadaptor.getTiddlerInfo(tiddler),\n\t\t\tchangeCount: self.wiki.getChangeCount(title),\n\t\t\thasBeenLazyLoaded: false\n\t\t};\n\t});\n};\n\n/*\nCreate an tiddlerInfo structure if it doesn't already exist\n*/\nSyncer.prototype.createTiddlerInfo = function(title) {\n\tif(!$tw.utils.hop(this.tiddlerInfo,title)) {\n\t\tthis.tiddlerInfo[title] = {\n\t\t\trevision: null,\n\t\t\tadaptorInfo: {},\n\t\t\tchangeCount: -1,\n\t\t\thasBeenLazyLoaded: false\n\t\t};\n\t}\n};\n\n/*\nChecks whether the wiki is dirty (ie the window shouldn't be closed)\n*/\nSyncer.prototype.isDirty = function() {\n\treturn (this.numTasksInQueue() > 0) || (this.numTasksInProgress() > 0);\n};\n\n/*\nUpdate the document body with the class \"tc-dirty\" if the wiki has unsaved/unsynced changes\n*/\nSyncer.prototype.updateDirtyStatus = function() {\n\tif($tw.browser) {\n\t\t$tw.utils.toggleClass(document.body,\"tc-dirty\",this.isDirty());\n\t}\n};\n\n/*\nSave an incoming tiddler in the store, and updates the associated tiddlerInfo\n*/\nSyncer.prototype.storeTiddler = function(tiddlerFields) {\n\t// Save the tiddler\n\tvar tiddler = new $tw.Tiddler(this.wiki.getTiddler(tiddlerFields.title),tiddlerFields);\n\tthis.wiki.addTiddler(tiddler);\n\t// Save the tiddler revision and changeCount details\n\tthis.tiddlerInfo[tiddlerFields.title] = {\n\t\trevision: tiddlerFields.revision,\n\t\tadaptorInfo: this.syncadaptor.getTiddlerInfo(tiddler),\n\t\tchangeCount: this.wiki.getChangeCount(tiddlerFields.title),\n\t\thasBeenLazyLoaded: true\n\t};\n};\n\nSyncer.prototype.getStatus = function(callback) {\n\tvar self = this;\n\t// Check if the adaptor supports getStatus()\n\tif(this.syncadaptor && this.syncadaptor.getStatus) {\n\t\t// Mark us as not logged in\n\t\tthis.wiki.addTiddler({title: this.titleIsLoggedIn,text: \"no\"});\n\t\t// Get login status\n\t\tthis.syncadaptor.getStatus(function(err,isLoggedIn,username) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Set the various status tiddlers\n\t\t\tself.wiki.addTiddler({title: self.titleIsLoggedIn,text: isLoggedIn ? \"yes\" : \"no\"});\n\t\t\tif(isLoggedIn) {\n\t\t\t\tself.wiki.addTiddler({title: self.titleUserName,text: username || \"\"});\n\t\t\t} else {\n\t\t\t\tself.wiki.deleteTiddler(self.titleUserName);\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tif(callback) {\n\t\t\t\tcallback(err,isLoggedIn,username);\n\t\t\t}\n\t\t});\n\t} else {\n\t\tcallback(null,true,\"UNAUTHENTICATED\");\n\t}\n};\n\n/*\nSynchronise from the server by reading the skinny tiddler list and queuing up loads for any tiddlers that we don't already have up to date\n*/\nSyncer.prototype.syncFromServer = function() {\n\tif(this.syncadaptor && this.syncadaptor.getSkinnyTiddlers) {\n\t\tthis.logger.log(\"Retrieving skinny tiddler list\");\n\t\tvar self = this;\n\t\tif(this.pollTimerId) {\n\t\t\tclearTimeout(this.pollTimerId);\n\t\t\tthis.pollTimerId = null;\n\t\t}\n\t\tthis.syncadaptor.getSkinnyTiddlers(function(err,tiddlers) {\n\t\t\t// Trigger the next sync\n\t\t\tself.pollTimerId = setTimeout(function() {\n\t\t\t\tself.pollTimerId = null;\n\t\t\t\tself.syncFromServer.call(self);\n\t\t\t},self.pollTimerInterval);\n\t\t\t// Check for errors\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert($tw.language.getString(\"Error/RetrievingSkinny\") + \":\",err);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Process each incoming tiddler\n\t\t\tfor(var t=0; t<tiddlers.length; t++) {\n\t\t\t\t// Get the incoming tiddler fields, and the existing tiddler\n\t\t\t\tvar tiddlerFields = tiddlers[t],\n\t\t\t\t\tincomingRevision = tiddlerFields.revision + \"\",\n\t\t\t\t\ttiddler = self.wiki.getTiddler(tiddlerFields.title),\n\t\t\t\t\ttiddlerInfo = self.tiddlerInfo[tiddlerFields.title],\n\t\t\t\t\tcurrRevision = tiddlerInfo ? tiddlerInfo.revision : null;\n\t\t\t\t// Ignore the incoming tiddler if it's the same as the revision we've already got\n\t\t\t\tif(currRevision !== incomingRevision) {\n\t\t\t\t\t// Do a full load if we've already got a fat version of the tiddler\n\t\t\t\t\tif(tiddler && tiddler.fields.text !== undefined) {\n\t\t\t\t\t\t// Do a full load of this tiddler\n\t\t\t\t\t\tself.enqueueSyncTask({\n\t\t\t\t\t\t\ttype: \"load\",\n\t\t\t\t\t\t\ttitle: tiddlerFields.title\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Load the skinny version of the tiddler\n\t\t\t\t\t\tself.storeTiddler(tiddlerFields);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nSynchronise a set of changes to the server\n*/\nSyncer.prototype.syncToServer = function(changes) {\n\tvar self = this,\n\t\tnow = Date.now(),\n\t\tfilteredChanges = this.filterFn.call(this.wiki,function(callback) {\n\t\t\t$tw.utils.each(changes,function(change,title) {\n\t\t\t\tvar tiddler = self.wiki.getTiddler(title);\n\t\t\t\tcallback(tiddler,title);\n\t\t\t});\n\t\t});\n\t$tw.utils.each(changes,function(change,title,object) {\n\t\t// Process the change if it is a deletion of a tiddler we're already syncing, or is on the filtered change list\n\t\tif((change.deleted && $tw.utils.hop(self.tiddlerInfo,title)) || filteredChanges.indexOf(title) !== -1) {\n\t\t\t// Queue a task to sync this tiddler\n\t\t\tself.enqueueSyncTask({\n\t\t\t\ttype: change.deleted ? \"delete\" : \"save\",\n\t\t\t\ttitle: title\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nLazily load a skinny tiddler if we can\n*/\nSyncer.prototype.handleLazyLoadEvent = function(title) {\n\t// Don't lazy load the same tiddler twice\n\tvar info = this.tiddlerInfo[title];\n\tif(!info || !info.hasBeenLazyLoaded) {\n\t\tthis.createTiddlerInfo(title);\n\t\tthis.tiddlerInfo[title].hasBeenLazyLoaded = true;\n\t\t// Queue up a sync task to load this tiddler\n\t\tthis.enqueueSyncTask({\n\t\t\ttype: \"load\",\n\t\t\ttitle: title\n\t\t});\t\t\n\t}\n};\n\n/*\nDispay a password prompt and allow the user to login\n*/\nSyncer.prototype.handleLoginEvent = function() {\n\tvar self = this;\n\tthis.getStatus(function(err,isLoggedIn,username) {\n\t\tif(!isLoggedIn) {\n\t\t\t$tw.passwordPrompt.createPrompt({\n\t\t\t\tserviceName: $tw.language.getString(\"LoginToTiddlySpace\"),\n\t\t\t\tcallback: function(data) {\n\t\t\t\t\tself.login(data.username,data.password,function(err,isLoggedIn) {\n\t\t\t\t\t\tself.syncFromServer();\n\t\t\t\t\t});\n\t\t\t\t\treturn true; // Get rid of the password prompt\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n};\n\n/*\nAttempt to login to TiddlyWeb.\n\tusername: username\n\tpassword: password\n\tcallback: invoked with arguments (err,isLoggedIn)\n*/\nSyncer.prototype.login = function(username,password,callback) {\n\tthis.logger.log(\"Attempting to login as\",username);\n\tvar self = this;\n\tif(this.syncadaptor.login) {\n\t\tthis.syncadaptor.login(username,password,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.getStatus(function(err,isLoggedIn,username) {\n\t\t\t\tif(callback) {\n\t\t\t\t\tcallback(null,isLoggedIn);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\tcallback(null,true);\n\t}\n};\n\n/*\nAttempt to log out of TiddlyWeb\n*/\nSyncer.prototype.handleLogoutEvent = function() {\n\tthis.logger.log(\"Attempting to logout\");\n\tvar self = this;\n\tif(this.syncadaptor.logout) {\n\t\tthis.syncadaptor.logout(function(err) {\n\t\t\tif(err) {\n\t\t\t\tself.logger.alert(err);\n\t\t\t} else {\n\t\t\t\tself.getStatus();\n\t\t\t}\n\t\t});\n\t}\n};\n\n/*\nImmediately refresh from the server\n*/\nSyncer.prototype.handleRefreshEvent = function() {\n\tthis.syncFromServer();\n};\n\n/*\nQueue up a sync task. If there is already a pending task for the tiddler, just update the last modification time\n*/\nSyncer.prototype.enqueueSyncTask = function(task) {\n\tvar self = this,\n\t\tnow = Date.now();\n\t// Set the timestamps on this task\n\ttask.queueTime = now;\n\ttask.lastModificationTime = now;\n\t// Fill in some tiddlerInfo if the tiddler is one we haven't seen before\n\tthis.createTiddlerInfo(task.title);\n\t// Bail if this is a save and the tiddler is already at the changeCount that the server has\n\tif(task.type === \"save\" && this.wiki.getChangeCount(task.title) <= this.tiddlerInfo[task.title].changeCount) {\n\t\treturn;\n\t}\n\t// Check if this tiddler is already in the queue\n\tif($tw.utils.hop(this.taskQueue,task.title)) {\n\t\t// this.logger.log(\"Re-queueing up sync task with type:\",task.type,\"title:\",task.title);\n\t\tvar existingTask = this.taskQueue[task.title];\n\t\t// If so, just update the last modification time\n\t\texistingTask.lastModificationTime = task.lastModificationTime;\n\t\t// If the new task is a save then we upgrade the existing task to a save. Thus a pending load is turned into a save if the tiddler changes locally in the meantime. But a pending save is not modified to become a load\n\t\tif(task.type === \"save\" || task.type === \"delete\") {\n\t\t\texistingTask.type = task.type;\n\t\t}\n\t} else {\n\t\t// this.logger.log(\"Queuing up sync task with type:\",task.type,\"title:\",task.title);\n\t\t// If it is not in the queue, insert it\n\t\tthis.taskQueue[task.title] = task;\n\t\tthis.updateDirtyStatus();\n\t}\n\t// Process the queue\n\t$tw.utils.nextTick(function() {self.processTaskQueue.call(self);});\n};\n\n/*\nReturn the number of tasks in progress\n*/\nSyncer.prototype.numTasksInProgress = function() {\n\treturn $tw.utils.count(this.taskInProgress);\n};\n\n/*\nReturn the number of tasks in the queue\n*/\nSyncer.prototype.numTasksInQueue = function() {\n\treturn $tw.utils.count(this.taskQueue);\n};\n\n/*\nTrigger a timeout if one isn't already outstanding\n*/\nSyncer.prototype.triggerTimeout = function() {\n\tvar self = this;\n\tif(!this.taskTimerId) {\n\t\tthis.taskTimerId = setTimeout(function() {\n\t\t\tself.taskTimerId = null;\n\t\t\tself.processTaskQueue.call(self);\n\t\t},self.taskTimerInterval);\n\t}\n};\n\n/*\nProcess the task queue, performing the next task if appropriate\n*/\nSyncer.prototype.processTaskQueue = function() {\n\tvar self = this;\n\t// Only process a task if the sync adaptor is fully initialised and we're not already performing a task. If we are already performing a task then we'll dispatch the next one when it completes\n\tif(this.syncadaptor.isReady() && this.numTasksInProgress() === 0) {\n\t\t// Choose the next task to perform\n\t\tvar task = this.chooseNextTask();\n\t\t// Perform the task if we had one\n\t\tif(task) {\n\t\t\t// Remove the task from the queue and add it to the in progress list\n\t\t\tdelete this.taskQueue[task.title];\n\t\t\tthis.taskInProgress[task.title] = task;\n\t\t\tthis.updateDirtyStatus();\n\t\t\t// Dispatch the task\n\t\t\tthis.dispatchTask(task,function(err) {\n\t\t\t\tif(err) {\n\t\t\t\t\tself.logger.alert(\"Sync error while processing '\" + task.title + \"':\\n\" + err);\n\t\t\t\t}\n\t\t\t\t// Mark that this task is no longer in progress\n\t\t\t\tdelete self.taskInProgress[task.title];\n\t\t\t\tself.updateDirtyStatus();\n\t\t\t\t// Process the next task\n\t\t\t\tself.processTaskQueue.call(self);\n\t\t\t});\n\t\t} else {\n\t\t\t// Make sure we've set a time if there wasn't a task to perform, but we've still got tasks in the queue\n\t\t\tif(this.numTasksInQueue() > 0) {\n\t\t\t\tthis.triggerTimeout();\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nChoose the next applicable task\n*/\nSyncer.prototype.chooseNextTask = function() {\n\tvar self = this,\n\t\tcandidateTask = null,\n\t\tnow = Date.now();\n\t// Select the best candidate task\n\t$tw.utils.each(this.taskQueue,function(task,title) {\n\t\t// Exclude the task if there's one of the same name in progress\n\t\tif($tw.utils.hop(self.taskInProgress,title)) {\n\t\t\treturn;\n\t\t}\n\t\t// Exclude the task if it is a save and the tiddler has been modified recently, but not hit the fallback time\n\t\tif(task.type === \"save\" && (now - task.lastModificationTime) < self.throttleInterval &&\n\t\t\t(now - task.queueTime) < self.fallbackInterval) {\n\t\t\treturn;\n\t\t}\n\t\t// Exclude the task if it is newer than the current best candidate\n\t\tif(candidateTask && candidateTask.queueTime < task.queueTime) {\n\t\t\treturn;\n\t\t}\n\t\t// Now this is our best candidate\n\t\tcandidateTask = task;\n\t});\n\treturn candidateTask;\n};\n\n/*\nDispatch a task and invoke the callback\n*/\nSyncer.prototype.dispatchTask = function(task,callback) {\n\tvar self = this;\n\tif(task.type === \"save\") {\n\t\tvar changeCount = this.wiki.getChangeCount(task.title),\n\t\t\ttiddler = this.wiki.getTiddler(task.title);\n\t\tthis.logger.log(\"Dispatching 'save' task:\",task.title);\n\t\tif(tiddler) {\n\t\t\tthis.syncadaptor.saveTiddler(tiddler,function(err,adaptorInfo,revision) {\n\t\t\t\tif(err) {\n\t\t\t\t\treturn callback(err);\n\t\t\t\t}\n\t\t\t\t// Adjust the info stored about this tiddler\n\t\t\t\tself.tiddlerInfo[task.title] = {\n\t\t\t\t\tchangeCount: changeCount,\n\t\t\t\t\tadaptorInfo: adaptorInfo,\n\t\t\t\t\trevision: revision\n\t\t\t\t};\n\t\t\t\t// Invoke the callback\n\t\t\t\tcallback(null);\n\t\t\t},{\n\t\t\t\ttiddlerInfo: self.tiddlerInfo[task.title]\n\t\t\t});\n\t\t} else {\n\t\t\tthis.logger.log(\" Not Dispatching 'save' task:\",task.title,\"tiddler does not exist\");\n\t\t\treturn callback(null);\n\t\t}\n\t} else if(task.type === \"load\") {\n\t\t// Load the tiddler\n\t\tthis.logger.log(\"Dispatching 'load' task:\",task.title);\n\t\tthis.syncadaptor.loadTiddler(task.title,function(err,tiddlerFields) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\t// Store the tiddler\n\t\t\tif(tiddlerFields) {\n\t\t\t\tself.storeTiddler(tiddlerFields);\n\t\t\t}\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t});\n\t} else if(task.type === \"delete\") {\n\t\t// Delete the tiddler\n\t\tthis.logger.log(\"Dispatching 'delete' task:\",task.title);\n\t\tthis.syncadaptor.deleteTiddler(task.title,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tdelete self.tiddlerInfo[task.title];\n\t\t\t// Invoke the callback\n\t\t\tcallback(null);\n\t\t},{\n\t\t\ttiddlerInfo: self.tiddlerInfo[task.title]\n\t\t});\n\t}\n};\n\nexports.Syncer = Syncer;\n\n})();\n",
            "title": "$:/core/modules/syncer.js",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/tiddler.js": {
            "text": "/*\\\ntitle: $:/core/modules/tiddler.js\ntype: application/javascript\nmodule-type: tiddlermethod\n\nExtension methods for the $tw.Tiddler object (constructor and methods required at boot time are in boot/boot.js)\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.hasTag = function(tag) {\n\treturn this.fields.tags && this.fields.tags.indexOf(tag) !== -1;\n};\n\nexports.isPlugin = function() {\n\treturn this.fields.type === \"application/json\" && this.hasField(\"plugin-type\");\n};\n\nexports.isDraft = function() {\n\treturn this.hasField(\"draft.of\");\n};\n\nexports.getFieldString = function(field) {\n\tvar value = this.fields[field];\n\t// Check for a missing field\n\tif(value === undefined || value === null) {\n\t\treturn \"\";\n\t}\n\t// Parse the field with the associated module (if any)\n\tvar fieldModule = $tw.Tiddler.fieldModules[field];\n\tif(fieldModule && fieldModule.stringify) {\n\t\treturn fieldModule.stringify.call(this,value);\n\t} else {\n\t\treturn value.toString();\n\t}\n};\n\n/*\nGet all the fields as a name:value block. Options:\n\texclude: an array of field names to exclude\n*/\nexports.getFieldStringBlock = function(options) {\n\toptions = options || {};\n\tvar exclude = options.exclude || [];\n\tvar fields = [];\n\tfor(var field in this.fields) {\n\t\tif($tw.utils.hop(this.fields,field)) {\n\t\t\tif(exclude.indexOf(field) === -1) {\n\t\t\t\tfields.push(field + \": \" + this.getFieldString(field));\n\t\t\t}\n\t\t}\n\t}\n\treturn fields.join(\"\\n\");\n};\n\n/*\nCompare two tiddlers for equality\ntiddler: the tiddler to compare\nexcludeFields: array of field names to exclude from the comparison\n*/\nexports.isEqual = function(tiddler,excludeFields) {\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\treturn false;\n\t}\n\texcludeFields = excludeFields || [];\n\tvar self = this,\n\t\tdifferences = []; // Fields that have differences\n\t// Add to the differences array\n\tfunction addDifference(fieldName) {\n\t\t// Check for this field being excluded\n\t\tif(excludeFields.indexOf(fieldName) === -1) {\n\t\t\t// Save the field as a difference\n\t\t\t$tw.utils.pushTop(differences,fieldName);\n\t\t}\n\t}\n\t// Returns true if the two values of this field are equal\n\tfunction isFieldValueEqual(fieldName) {\n\t\tvar valueA = self.fields[fieldName],\n\t\t\tvalueB = tiddler.fields[fieldName];\n\t\t// Check for identical string values\n\t\tif(typeof(valueA) === \"string\" && typeof(valueB) === \"string\" && valueA === valueB) {\n\t\t\treturn true;\n\t\t}\n\t\t// Check for identical array values\n\t\tif($tw.utils.isArray(valueA) && $tw.utils.isArray(valueB) && $tw.utils.isArrayEqual(valueA,valueB)) {\n\t\t\treturn true;\n\t\t}\n\t\t// Otherwise the fields must be different\n\t\treturn false;\n\t}\n\t// Compare our fields\n\tfor(var fieldName in this.fields) {\n\t\tif(!isFieldValueEqual(fieldName)) {\n\t\t\taddDifference(fieldName);\n\t\t}\n\t}\n\t// There's a difference for every field in the other tiddler that we don't have\n\tfor(fieldName in tiddler.fields) {\n\t\tif(!(fieldName in this.fields)) {\n\t\t\taddDifference(fieldName);\n\t\t}\n\t}\n\t// Return whether there were any differences\n\treturn differences.length === 0;\n};\n\n})();\n",
            "title": "$:/core/modules/tiddler.js",
            "type": "application/javascript",
            "module-type": "tiddlermethod"
        },
        "$:/core/modules/upgraders/plugins.js": {
            "text": "/*\\\ntitle: $:/core/modules/upgraders/plugins.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that checks that plugins are newer than any already installed version\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar UPGRADE_LIBRARY_TITLE = \"$:/UpgradeLibrary\";\n\nvar BLOCKED_PLUGINS = {\n\t\"$:/themes/tiddlywiki/stickytitles\": {\n\t\tversions: [\"*\"]\n\t},\n\t\"$:/plugins/tiddlywiki/fullscreen\": {\n\t\tversions: [\"*\"]\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {},\n\t\tupgradeLibrary,\n\t\tgetLibraryTiddler = function(title) {\n\t\t\tif(!upgradeLibrary) {\n\t\t\t\tupgradeLibrary = wiki.getTiddlerData(UPGRADE_LIBRARY_TITLE,{});\n\t\t\t\tupgradeLibrary.tiddlers = upgradeLibrary.tiddlers || {};\n\t\t\t}\n\t\t\treturn upgradeLibrary.tiddlers[title];\n\t\t};\n\n\t// Go through all the incoming tiddlers\n\t$tw.utils.each(titles,function(title) {\n\t\tvar incomingTiddler = tiddlers[title];\n\t\t// Check if we're dealing with a plugin\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"] && incomingTiddler.version) {\n\t\t\t// Upgrade the incoming plugin if it is in the upgrade library\n\t\t\tvar libraryTiddler = getLibraryTiddler(title);\n\t\t\tif(libraryTiddler && libraryTiddler[\"plugin-type\"] && libraryTiddler.version) {\n\t\t\t\ttiddlers[title] = libraryTiddler;\n\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Upgraded\",{variables: {incoming: incomingTiddler.version, upgraded: libraryTiddler.version}});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Suppress the incoming plugin if it is older than the currently installed one\n\t\t\tvar existingTiddler = wiki.getTiddler(title);\n\t\t\tif(existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t\t\t// Reject the incoming plugin by blanking all its fields\n\t\t\t\tif($tw.utils.checkVersions(existingTiddler.fields.version,incomingTiddler.version)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Version\",{variables: {incoming: incomingTiddler.version, existing: existingTiddler.fields.version}});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(incomingTiddler && incomingTiddler[\"plugin-type\"]) {\n\t\t\t// Check whether the plugin is on the blocked list\n\t\t\tvar blockInfo = BLOCKED_PLUGINS[title];\n\t\t\tif(blockInfo) {\n\t\t\t\tif(blockInfo.versions.indexOf(\"*\") !== -1 || (incomingTiddler.version && blockInfo.versions.indexOf(incomingTiddler.version) !== -1)) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/Plugins/Suppressed/Incompatible\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
            "title": "$:/core/modules/upgraders/plugins.js",
            "type": "application/javascript",
            "module-type": "upgrader"
        },
        "$:/core/modules/upgraders/system.js": {
            "text": "/*\\\ntitle: $:/core/modules/upgraders/system.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that suppresses certain system tiddlers that shouldn't be imported\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar DONT_IMPORT_LIST = [\"$:/StoryList\",\"$:/HistoryList\"],\n\tDONT_IMPORT_PREFIX_LIST = [\"$:/temp/\",\"$:/state/\"];\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tif(DONT_IMPORT_LIST.indexOf(title) !== -1) {\n\t\t\ttiddlers[title] = Object.create(null);\n\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/System/Suppressed\");\n\t\t} else {\n\t\t\tfor(var t=0; t<DONT_IMPORT_PREFIX_LIST.length; t++) {\n\t\t\t\tvar prefix = DONT_IMPORT_PREFIX_LIST[t];\n\t\t\t\tif(title.substr(0,prefix.length) === prefix) {\n\t\t\t\t\ttiddlers[title] = Object.create(null);\n\t\t\t\t\tmessages[title] = $tw.language.getString(\"Import/Upgrader/State/Suppressed\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
            "title": "$:/core/modules/upgraders/system.js",
            "type": "application/javascript",
            "module-type": "upgrader"
        },
        "$:/core/modules/upgraders/themetweaks.js": {
            "text": "/*\\\ntitle: $:/core/modules/upgraders/themetweaks.js\ntype: application/javascript\nmodule-type: upgrader\n\nUpgrader module that handles the change in theme tweak storage introduced in 5.0.14-beta.\n\nPreviously, theme tweaks were stored in two data tiddlers:\n\n* $:/themes/tiddlywiki/vanilla/metrics\n* $:/themes/tiddlywiki/vanilla/settings\n\nNow, each tweak is stored in its own separate tiddler.\n\nThis upgrader copies any values from the old format to the new. The old data tiddlers are not deleted in case they have been used to store additional indexes.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar MAPPINGS = {\n\t\"$:/themes/tiddlywiki/vanilla/metrics\": {\n\t\t\"fontsize\": \"$:/themes/tiddlywiki/vanilla/metrics/fontsize\",\n\t\t\"lineheight\": \"$:/themes/tiddlywiki/vanilla/metrics/lineheight\",\n\t\t\"storyleft\": \"$:/themes/tiddlywiki/vanilla/metrics/storyleft\",\n\t\t\"storytop\": \"$:/themes/tiddlywiki/vanilla/metrics/storytop\",\n\t\t\"storyright\": \"$:/themes/tiddlywiki/vanilla/metrics/storyright\",\n\t\t\"storywidth\": \"$:/themes/tiddlywiki/vanilla/metrics/storywidth\",\n\t\t\"tiddlerwidth\": \"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"\n\t},\n\t\"$:/themes/tiddlywiki/vanilla/settings\": {\n\t\t\"fontfamily\": \"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"\n\t}\n};\n\nexports.upgrade = function(wiki,titles,tiddlers) {\n\tvar self = this,\n\t\tmessages = {};\n\t// Check for tiddlers on our list\n\t$tw.utils.each(titles,function(title) {\n\t\tvar mapping = MAPPINGS[title];\n\t\tif(mapping) {\n\t\t\tvar tiddler = new $tw.Tiddler(tiddlers[title]),\n\t\t\t\ttiddlerData = wiki.getTiddlerDataCached(tiddler,{});\n\t\t\tfor(var index in mapping) {\n\t\t\t\tvar mappedTitle = mapping[index];\n\t\t\t\tif(!tiddlers[mappedTitle] || tiddlers[mappedTitle].title !== mappedTitle) {\n\t\t\t\t\ttiddlers[mappedTitle] = {\n\t\t\t\t\t\ttitle: mappedTitle,\n\t\t\t\t\t\ttext: tiddlerData[index]\n\t\t\t\t\t};\n\t\t\t\t\tmessages[mappedTitle] = $tw.language.getString(\"Import/Upgrader/ThemeTweaks/Created\",{variables: {\n\t\t\t\t\t\tfrom: title + \"##\" + index\n\t\t\t\t\t}});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\treturn messages;\n};\n\n})();\n",
            "title": "$:/core/modules/upgraders/themetweaks.js",
            "type": "application/javascript",
            "module-type": "upgrader"
        },
        "$:/core/modules/utils/crypto.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/crypto.js\ntype: application/javascript\nmodule-type: utils\n\nUtility functions related to crypto.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nLook for an encrypted store area in the text of a TiddlyWiki file\n*/\nexports.extractEncryptedStoreArea = function(text) {\n\tvar encryptedStoreAreaStartMarker = \"<pre id=\\\"encryptedStoreArea\\\" type=\\\"text/plain\\\" style=\\\"display:none;\\\">\",\n\t\tencryptedStoreAreaStart = text.indexOf(encryptedStoreAreaStartMarker);\n\tif(encryptedStoreAreaStart !== -1) {\n\t\tvar encryptedStoreAreaEnd = text.indexOf(\"</pre>\",encryptedStoreAreaStart);\n\t\tif(encryptedStoreAreaEnd !== -1) {\n\t\t\treturn $tw.utils.htmlDecode(text.substring(encryptedStoreAreaStart + encryptedStoreAreaStartMarker.length,encryptedStoreAreaEnd-1));\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If the password is not provided then the password in the password store will be used\n*/\nexports.decryptStoreArea = function(encryptedStoreArea,password) {\n\tvar decryptedText = $tw.crypto.decrypt(encryptedStoreArea,password);\n\tif(decryptedText) {\n\t\tvar json = JSON.parse(decryptedText),\n\t\t\ttiddlers = [];\n\t\tfor(var title in json) {\n\t\t\tif(title !== \"$:/isEncrypted\") {\n\t\t\t\ttiddlers.push(json[title]);\n\t\t\t}\n\t\t}\n\t\treturn tiddlers;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n\n/*\nAttempt to extract the tiddlers from an encrypted store area using the current password. If that fails, the user is prompted for a password.\nencryptedStoreArea: text of the TiddlyWiki encrypted store area\ncallback: function(tiddlers) called with the array of decrypted tiddlers\n\nThe following configuration settings are supported:\n\n$tw.config.usePasswordVault: causes any password entered by the user to also be put into the system password vault\n*/\nexports.decryptStoreAreaInteractive = function(encryptedStoreArea,callback,options) {\n\t// Try to decrypt with the current password\n\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea);\n\tif(tiddlers) {\n\t\tcallback(tiddlers);\n\t} else {\n\t\t// Prompt for a new password and keep trying\n\t\t$tw.passwordPrompt.createPrompt({\n\t\t\tserviceName: \"Enter a password to decrypt the imported TiddlyWiki\",\n\t\t\tnoUserName: true,\n\t\t\tcanCancel: true,\n\t\t\tsubmitText: \"Decrypt\",\n\t\t\tcallback: function(data) {\n\t\t\t\t// Exit if the user cancelled\n\t\t\t\tif(!data) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// Attempt to decrypt the tiddlers\n\t\t\t\tvar tiddlers = $tw.utils.decryptStoreArea(encryptedStoreArea,data.password);\n\t\t\t\tif(tiddlers) {\n\t\t\t\t\tif($tw.config.usePasswordVault) {\n\t\t\t\t\t\t$tw.crypto.setPassword(data.password);\n\t\t\t\t\t}\n\t\t\t\t\tcallback(tiddlers);\n\t\t\t\t\t// Exit and remove the password prompt\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\t// We didn't decrypt everything, so continue to prompt for password\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/utils/crypto.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/animations/slide.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/animations/slide.js\ntype: application/javascript\nmodule-type: animation\n\nA simple slide animation that varies the height of the element\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction slideOpen(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration();\n\t// Get the current height of the domNode\n\tvar computedStyle = window.getComputedStyle(domNode),\n\t\tcurrMarginBottom = parseInt(computedStyle.marginBottom,10),\n\t\tcurrMarginTop = parseInt(computedStyle.marginTop,10),\n\t\tcurrPaddingBottom = parseInt(computedStyle.paddingBottom,10),\n\t\tcurrPaddingTop = parseInt(computedStyle.paddingTop,10),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Reset the margin once the transition is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"none\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginBottom: currMarginBottom + \"px\"},\n\t\t{marginTop: currMarginTop + \"px\"},\n\t\t{paddingBottom: currPaddingBottom + \"px\"},\n\t\t{paddingTop: currPaddingTop + \"px\"},\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n}\n\nfunction slideClosed(domNode,options) {\n\toptions = options || {};\n\tvar duration = options.duration || $tw.utils.getAnimationDuration(),\n\t\tcurrHeight = domNode.offsetHeight;\n\t// Clear the properties we've set when the animation is over\n\tsetTimeout(function() {\n\t\t$tw.utils.setStyle(domNode,[\n\t\t\t{transition: \"none\"},\n\t\t\t{marginBottom: \"\"},\n\t\t\t{marginTop: \"\"},\n\t\t\t{paddingBottom: \"\"},\n\t\t\t{paddingTop: \"\"},\n\t\t\t{height: \"auto\"},\n\t\t\t{opacity: \"\"}\n\t\t]);\n\t\tif(options.callback) {\n\t\t\toptions.callback();\n\t\t}\n\t},duration);\n\t// Set up the initial position of the element\n\t$tw.utils.setStyle(domNode,[\n\t\t{height: currHeight + \"px\"},\n\t\t{opacity: \"1\"}\n\t]);\n\t$tw.utils.forceLayout(domNode);\n\t// Transition to the final position\n\t$tw.utils.setStyle(domNode,[\n\t\t{transition: \"margin-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"margin-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-top \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"padding-bottom \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"height \" + duration + \"ms ease-in-out, \" +\n\t\t\t\t\t\"opacity \" + duration + \"ms ease-in-out\"},\n\t\t{marginTop: \"0px\"},\n\t\t{marginBottom: \"0px\"},\n\t\t{paddingTop: \"0px\"},\n\t\t{paddingBottom: \"0px\"},\n\t\t{height: \"0px\"},\n\t\t{opacity: \"0\"}\n\t]);\n}\n\nexports.slide = {\n\topen: slideOpen,\n\tclose: slideClosed\n};\n\n})();\n",
            "title": "$:/core/modules/utils/dom/animations/slide.js",
            "type": "application/javascript",
            "module-type": "animation"
        },
        "$:/core/modules/utils/dom/animator.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/animator.js\ntype: application/javascript\nmodule-type: utils\n\nOrchestrates animations and transitions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Animator() {\n\t// Get the registered animation modules\n\tthis.animations = {};\n\t$tw.modules.applyMethods(\"animation\",this.animations);\n}\n\nAnimator.prototype.perform = function(type,domNode,options) {\n\toptions = options || {};\n\t// Find an animation that can handle this type\n\tvar chosenAnimation;\n\t$tw.utils.each(this.animations,function(animation,name) {\n\t\tif($tw.utils.hop(animation,type)) {\n\t\t\tchosenAnimation = animation[type];\n\t\t}\n\t});\n\tif(!chosenAnimation) {\n\t\tchosenAnimation = function(domNode,options) {\n\t\t\tif(options.callback) {\n\t\t\t\toptions.callback();\n\t\t\t}\n\t\t};\n\t}\n\t// Call the animation\n\tchosenAnimation(domNode,options);\n};\n\nexports.Animator = Animator;\n\n})();\n",
            "title": "$:/core/modules/utils/dom/animator.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/browser.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/browser.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser feature detection\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nSet style properties of an element\n\telement: dom node\n\tstyles: ordered array of {name: value} pairs\n*/\nexports.setStyle = function(element,styles) {\n\tif(element.nodeType === 1) { // Element.ELEMENT_NODE\n\t\tfor(var t=0; t<styles.length; t++) {\n\t\t\tfor(var styleName in styles[t]) {\n\t\t\t\telement.style[$tw.utils.convertStyleNameToPropertyName(styleName)] = styles[t][styleName];\n\t\t\t}\n\t\t}\n\t}\n};\n\n/*\nConverts a standard CSS property name into the local browser-specific equivalent. For example:\n\t\"background-color\" --> \"backgroundColor\"\n\t\"transition\" --> \"webkitTransition\"\n*/\n\nvar styleNameCache = {}; // We'll cache the style name conversions\n\nexports.convertStyleNameToPropertyName = function(styleName) {\n\t// Return from the cache if we can\n\tif(styleNameCache[styleName]) {\n\t\treturn styleNameCache[styleName];\n\t}\n\t// Convert it by first removing any hyphens\n\tvar propertyName = $tw.utils.unHyphenateCss(styleName);\n\t// Then check if it needs a prefix\n\tif($tw.browser && document.body.style[propertyName] === undefined) {\n\t\tvar prefixes = [\"O\",\"MS\",\"Moz\",\"webkit\"];\n\t\tfor(var t=0; t<prefixes.length; t++) {\n\t\t\tvar prefixedName = prefixes[t] + propertyName.substr(0,1).toUpperCase() + propertyName.substr(1);\n\t\t\tif(document.body.style[prefixedName] !== undefined) {\n\t\t\t\tpropertyName = prefixedName;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t// Put it in the cache too\n\tstyleNameCache[styleName] = propertyName;\n\treturn propertyName;\n};\n\n/*\nConverts a JS format CSS property name back into the dashed form used in CSS declarations. For example:\n\t\"backgroundColor\" --> \"background-color\"\n\t\"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.convertPropertyNameToStyleName = function(propertyName) {\n\t// Rehyphenate the name\n\tvar styleName = $tw.utils.hyphenateCss(propertyName);\n\t// If there's a webkit prefix, add a dash (other browsers have uppercase prefixes, and so get the dash automatically)\n\tif(styleName.indexOf(\"webkit\") === 0) {\n\t\tstyleName = \"-\" + styleName;\n\t} else if(styleName.indexOf(\"-m-s\") === 0) {\n\t\tstyleName = \"-ms\" + styleName.substr(4);\n\t}\n\treturn styleName;\n};\n\n/*\nRound trip a stylename to a property name and back again. For example:\n\t\"transform\" --> \"webkitTransform\" --> \"-webkit-transform\"\n*/\nexports.roundTripPropertyName = function(propertyName) {\n\treturn $tw.utils.convertPropertyNameToStyleName($tw.utils.convertStyleNameToPropertyName(propertyName));\n};\n\n/*\nConverts a standard event name into the local browser specific equivalent. For example:\n\t\"animationEnd\" --> \"webkitAnimationEnd\"\n*/\n\nvar eventNameCache = {}; // We'll cache the conversions\n\nvar eventNameMappings = {\n\t\"transitionEnd\": {\n\t\tcorrespondingCssProperty: \"transition\",\n\t\tmappings: {\n\t\t\ttransition: \"transitionend\",\n\t\t\tOTransition: \"oTransitionEnd\",\n\t\t\tMSTransition: \"msTransitionEnd\",\n\t\t\tMozTransition: \"transitionend\",\n\t\t\twebkitTransition: \"webkitTransitionEnd\"\n\t\t}\n\t},\n\t\"animationEnd\": {\n\t\tcorrespondingCssProperty: \"animation\",\n\t\tmappings: {\n\t\t\tanimation: \"animationend\",\n\t\t\tOAnimation: \"oAnimationEnd\",\n\t\t\tMSAnimation: \"msAnimationEnd\",\n\t\t\tMozAnimation: \"animationend\",\n\t\t\twebkitAnimation: \"webkitAnimationEnd\"\n\t\t}\n\t}\n};\n\nexports.convertEventName = function(eventName) {\n\tif(eventNameCache[eventName]) {\n\t\treturn eventNameCache[eventName];\n\t}\n\tvar newEventName = eventName,\n\t\tmappings = eventNameMappings[eventName];\n\tif(mappings) {\n\t\tvar convertedProperty = $tw.utils.convertStyleNameToPropertyName(mappings.correspondingCssProperty);\n\t\tif(mappings.mappings[convertedProperty]) {\n\t\t\tnewEventName = mappings.mappings[convertedProperty];\n\t\t}\n\t}\n\t// Put it in the cache too\n\teventNameCache[eventName] = newEventName;\n\treturn newEventName;\n};\n\n/*\nReturn the names of the fullscreen APIs\n*/\nexports.getFullScreenApis = function() {\n\tvar d = document,\n\t\tdb = d.body,\n\t\tresult = {\n\t\t\"_requestFullscreen\": db.webkitRequestFullscreen !== undefined ? \"webkitRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.mozRequestFullScreen !== undefined ? \"mozRequestFullScreen\" :\n\t\t\t\t\t\t\tdb.msRequestFullscreen !== undefined ? \"msRequestFullscreen\" :\n\t\t\t\t\t\t\tdb.requestFullscreen !== undefined ? \"requestFullscreen\" : \"\",\n\t\t\"_exitFullscreen\": d.webkitExitFullscreen !== undefined ? \"webkitExitFullscreen\" :\n\t\t\t\t\t\t\td.mozCancelFullScreen !== undefined ? \"mozCancelFullScreen\" :\n\t\t\t\t\t\t\td.msExitFullscreen !== undefined ? \"msExitFullscreen\" :\n\t\t\t\t\t\t\td.exitFullscreen !== undefined ? \"exitFullscreen\" : \"\",\n\t\t\"_fullscreenElement\": d.webkitFullscreenElement !== undefined ? \"webkitFullscreenElement\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozFullScreenElement\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"msFullscreenElement\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenElement\" : \"\",\n\t\t\"_fullscreenChange\": d.webkitFullscreenElement !== undefined ? \"webkitfullscreenchange\" :\n\t\t\t\t\t\t\td.mozFullScreenElement !== undefined ? \"mozfullscreenchange\" :\n\t\t\t\t\t\t\td.msFullscreenElement !== undefined ? \"MSFullscreenChange\" :\n\t\t\t\t\t\t\td.fullscreenElement !== undefined ? \"fullscreenchange\" : \"\"\n\t};\n\tif(!result._requestFullscreen || !result._exitFullscreen || !result._fullscreenElement || !result._fullscreenChange) {\n\t\treturn null;\n\t} else {\n\t\treturn result;\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/utils/dom/browser.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/csscolorparser.js": {
            "text": "// (c) Dean McNamee <dean@gmail.com>, 2012.\n//\n// https://github.com/deanm/css-color-parser-js\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n// IN THE SOFTWARE.\n\n// http://www.w3.org/TR/css3-color/\nvar kCSSColorTable = {\n  \"transparent\": [0,0,0,0], \"aliceblue\": [240,248,255,1],\n  \"antiquewhite\": [250,235,215,1], \"aqua\": [0,255,255,1],\n  \"aquamarine\": [127,255,212,1], \"azure\": [240,255,255,1],\n  \"beige\": [245,245,220,1], \"bisque\": [255,228,196,1],\n  \"black\": [0,0,0,1], \"blanchedalmond\": [255,235,205,1],\n  \"blue\": [0,0,255,1], \"blueviolet\": [138,43,226,1],\n  \"brown\": [165,42,42,1], \"burlywood\": [222,184,135,1],\n  \"cadetblue\": [95,158,160,1], \"chartreuse\": [127,255,0,1],\n  \"chocolate\": [210,105,30,1], \"coral\": [255,127,80,1],\n  \"cornflowerblue\": [100,149,237,1], \"cornsilk\": [255,248,220,1],\n  \"crimson\": [220,20,60,1], \"cyan\": [0,255,255,1],\n  \"darkblue\": [0,0,139,1], \"darkcyan\": [0,139,139,1],\n  \"darkgoldenrod\": [184,134,11,1], \"darkgray\": [169,169,169,1],\n  \"darkgreen\": [0,100,0,1], \"darkgrey\": [169,169,169,1],\n  \"darkkhaki\": [189,183,107,1], \"darkmagenta\": [139,0,139,1],\n  \"darkolivegreen\": [85,107,47,1], \"darkorange\": [255,140,0,1],\n  \"darkorchid\": [153,50,204,1], \"darkred\": [139,0,0,1],\n  \"darksalmon\": [233,150,122,1], \"darkseagreen\": [143,188,143,1],\n  \"darkslateblue\": [72,61,139,1], \"darkslategray\": [47,79,79,1],\n  \"darkslategrey\": [47,79,79,1], \"darkturquoise\": [0,206,209,1],\n  \"darkviolet\": [148,0,211,1], \"deeppink\": [255,20,147,1],\n  \"deepskyblue\": [0,191,255,1], \"dimgray\": [105,105,105,1],\n  \"dimgrey\": [105,105,105,1], \"dodgerblue\": [30,144,255,1],\n  \"firebrick\": [178,34,34,1], \"floralwhite\": [255,250,240,1],\n  \"forestgreen\": [34,139,34,1], \"fuchsia\": [255,0,255,1],\n  \"gainsboro\": [220,220,220,1], \"ghostwhite\": [248,248,255,1],\n  \"gold\": [255,215,0,1], \"goldenrod\": [218,165,32,1],\n  \"gray\": [128,128,128,1], \"green\": [0,128,0,1],\n  \"greenyellow\": [173,255,47,1], \"grey\": [128,128,128,1],\n  \"honeydew\": [240,255,240,1], \"hotpink\": [255,105,180,1],\n  \"indianred\": [205,92,92,1], \"indigo\": [75,0,130,1],\n  \"ivory\": [255,255,240,1], \"khaki\": [240,230,140,1],\n  \"lavender\": [230,230,250,1], \"lavenderblush\": [255,240,245,1],\n  \"lawngreen\": [124,252,0,1], \"lemonchiffon\": [255,250,205,1],\n  \"lightblue\": [173,216,230,1], \"lightcoral\": [240,128,128,1],\n  \"lightcyan\": [224,255,255,1], \"lightgoldenrodyellow\": [250,250,210,1],\n  \"lightgray\": [211,211,211,1], \"lightgreen\": [144,238,144,1],\n  \"lightgrey\": [211,211,211,1], \"lightpink\": [255,182,193,1],\n  \"lightsalmon\": [255,160,122,1], \"lightseagreen\": [32,178,170,1],\n  \"lightskyblue\": [135,206,250,1], \"lightslategray\": [119,136,153,1],\n  \"lightslategrey\": [119,136,153,1], \"lightsteelblue\": [176,196,222,1],\n  \"lightyellow\": [255,255,224,1], \"lime\": [0,255,0,1],\n  \"limegreen\": [50,205,50,1], \"linen\": [250,240,230,1],\n  \"magenta\": [255,0,255,1], \"maroon\": [128,0,0,1],\n  \"mediumaquamarine\": [102,205,170,1], \"mediumblue\": [0,0,205,1],\n  \"mediumorchid\": [186,85,211,1], \"mediumpurple\": [147,112,219,1],\n  \"mediumseagreen\": [60,179,113,1], \"mediumslateblue\": [123,104,238,1],\n  \"mediumspringgreen\": [0,250,154,1], \"mediumturquoise\": [72,209,204,1],\n  \"mediumvioletred\": [199,21,133,1], \"midnightblue\": [25,25,112,1],\n  \"mintcream\": [245,255,250,1], \"mistyrose\": [255,228,225,1],\n  \"moccasin\": [255,228,181,1], \"navajowhite\": [255,222,173,1],\n  \"navy\": [0,0,128,1], \"oldlace\": [253,245,230,1],\n  \"olive\": [128,128,0,1], \"olivedrab\": [107,142,35,1],\n  \"orange\": [255,165,0,1], \"orangered\": [255,69,0,1],\n  \"orchid\": [218,112,214,1], \"palegoldenrod\": [238,232,170,1],\n  \"palegreen\": [152,251,152,1], \"paleturquoise\": [175,238,238,1],\n  \"palevioletred\": [219,112,147,1], \"papayawhip\": [255,239,213,1],\n  \"peachpuff\": [255,218,185,1], \"peru\": [205,133,63,1],\n  \"pink\": [255,192,203,1], \"plum\": [221,160,221,1],\n  \"powderblue\": [176,224,230,1], \"purple\": [128,0,128,1],\n  \"red\": [255,0,0,1], \"rosybrown\": [188,143,143,1],\n  \"royalblue\": [65,105,225,1], \"saddlebrown\": [139,69,19,1],\n  \"salmon\": [250,128,114,1], \"sandybrown\": [244,164,96,1],\n  \"seagreen\": [46,139,87,1], \"seashell\": [255,245,238,1],\n  \"sienna\": [160,82,45,1], \"silver\": [192,192,192,1],\n  \"skyblue\": [135,206,235,1], \"slateblue\": [106,90,205,1],\n  \"slategray\": [112,128,144,1], \"slategrey\": [112,128,144,1],\n  \"snow\": [255,250,250,1], \"springgreen\": [0,255,127,1],\n  \"steelblue\": [70,130,180,1], \"tan\": [210,180,140,1],\n  \"teal\": [0,128,128,1], \"thistle\": [216,191,216,1],\n  \"tomato\": [255,99,71,1], \"turquoise\": [64,224,208,1],\n  \"violet\": [238,130,238,1], \"wheat\": [245,222,179,1],\n  \"white\": [255,255,255,1], \"whitesmoke\": [245,245,245,1],\n  \"yellow\": [255,255,0,1], \"yellowgreen\": [154,205,50,1]}\n\nfunction clamp_css_byte(i) {  // Clamp to integer 0 .. 255.\n  i = Math.round(i);  // Seems to be what Chrome does (vs truncation).\n  return i < 0 ? 0 : i > 255 ? 255 : i;\n}\n\nfunction clamp_css_float(f) {  // Clamp to float 0.0 .. 1.0.\n  return f < 0 ? 0 : f > 1 ? 1 : f;\n}\n\nfunction parse_css_int(str) {  // int or percentage.\n  if (str[str.length - 1] === '%')\n    return clamp_css_byte(parseFloat(str) / 100 * 255);\n  return clamp_css_byte(parseInt(str));\n}\n\nfunction parse_css_float(str) {  // float or percentage.\n  if (str[str.length - 1] === '%')\n    return clamp_css_float(parseFloat(str) / 100);\n  return clamp_css_float(parseFloat(str));\n}\n\nfunction css_hue_to_rgb(m1, m2, h) {\n  if (h < 0) h += 1;\n  else if (h > 1) h -= 1;\n\n  if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;\n  if (h * 2 < 1) return m2;\n  if (h * 3 < 2) return m1 + (m2 - m1) * (2/3 - h) * 6;\n  return m1;\n}\n\nfunction parseCSSColor(css_str) {\n  // Remove all whitespace, not compliant, but should just be more accepting.\n  var str = css_str.replace(/ /g, '').toLowerCase();\n\n  // Color keywords (and transparent) lookup.\n  if (str in kCSSColorTable) return kCSSColorTable[str].slice();  // dup.\n\n  // #abc and #abc123 syntax.\n  if (str[0] === '#') {\n    if (str.length === 4) {\n      var iv = parseInt(str.substr(1), 16);  // TODO(deanm): Stricter parsing.\n      if (!(iv >= 0 && iv <= 0xfff)) return null;  // Covers NaN.\n      return [((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8),\n              (iv & 0xf0) | ((iv & 0xf0) >> 4),\n              (iv & 0xf) | ((iv & 0xf) << 4),\n              1];\n    } else if (str.length === 7) {\n      var iv = parseInt(str.substr(1), 16);  // TODO(deanm): Stricter parsing.\n      if (!(iv >= 0 && iv <= 0xffffff)) return null;  // Covers NaN.\n      return [(iv & 0xff0000) >> 16,\n              (iv & 0xff00) >> 8,\n              iv & 0xff,\n              1];\n    }\n\n    return null;\n  }\n\n  var op = str.indexOf('('), ep = str.indexOf(')');\n  if (op !== -1 && ep + 1 === str.length) {\n    var fname = str.substr(0, op);\n    var params = str.substr(op+1, ep-(op+1)).split(',');\n    var alpha = 1;  // To allow case fallthrough.\n    switch (fname) {\n      case 'rgba':\n        if (params.length !== 4) return null;\n        alpha = parse_css_float(params.pop());\n        // Fall through.\n      case 'rgb':\n        if (params.length !== 3) return null;\n        return [parse_css_int(params[0]),\n                parse_css_int(params[1]),\n                parse_css_int(params[2]),\n                alpha];\n      case 'hsla':\n        if (params.length !== 4) return null;\n        alpha = parse_css_float(params.pop());\n        // Fall through.\n      case 'hsl':\n        if (params.length !== 3) return null;\n        var h = (((parseFloat(params[0]) % 360) + 360) % 360) / 360;  // 0 .. 1\n        // NOTE(deanm): According to the CSS spec s/l should only be\n        // percentages, but we don't bother and let float or percentage.\n        var s = parse_css_float(params[1]);\n        var l = parse_css_float(params[2]);\n        var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n        var m1 = l * 2 - m2;\n        return [clamp_css_byte(css_hue_to_rgb(m1, m2, h+1/3) * 255),\n                clamp_css_byte(css_hue_to_rgb(m1, m2, h) * 255),\n                clamp_css_byte(css_hue_to_rgb(m1, m2, h-1/3) * 255),\n                alpha];\n      default:\n        return null;\n    }\n  }\n\n  return null;\n}\n\ntry { exports.parseCSSColor = parseCSSColor } catch(e) { }\n",
            "title": "$:/core/modules/utils/dom/csscolorparser.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static DOM-related utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDetermines whether element 'a' contains element 'b'\nCode thanks to John Resig, http://ejohn.org/blog/comparing-document-position/\n*/\nexports.domContains = function(a,b) {\n\treturn a.contains ?\n\t\ta !== b && a.contains(b) :\n\t\t!!(a.compareDocumentPosition(b) & 16);\n};\n\nexports.removeChildren = function(node) {\n\twhile(node.hasChildNodes()) {\n\t\tnode.removeChild(node.firstChild);\n\t}\n};\n\nexports.hasClass = function(el,className) {\n\treturn el && el.className && el.className.toString().split(\" \").indexOf(className) !== -1;\n};\n\nexports.addClass = function(el,className) {\n\tvar c = el.className.split(\" \");\n\tif(c.indexOf(className) === -1) {\n\t\tc.push(className);\n\t}\n\tel.className = c.join(\" \");\n};\n\nexports.removeClass = function(el,className) {\n\tvar c = el.className.split(\" \"),\n\t\tp = c.indexOf(className);\n\tif(p !== -1) {\n\t\tc.splice(p,1);\n\t\tel.className = c.join(\" \");\n\t}\n};\n\nexports.toggleClass = function(el,className,status) {\n\tif(status === undefined) {\n\t\tstatus = !exports.hasClass(el,className);\n\t}\n\tif(status) {\n\t\texports.addClass(el,className);\n\t} else {\n\t\texports.removeClass(el,className);\n\t}\n};\n\n/*\nGet the first parent element that has scrollbars or use the body as fallback.\n*/\nexports.getScrollContainer = function(el) {\n\tvar doc = el.ownerDocument;\n\twhile(el.parentNode) {\t\n\t\tel = el.parentNode;\n\t\tif(el.scrollTop) {\n\t\t\treturn el;\n\t\t}\n\t}\n\treturn doc.body;\n};\n\n/*\nGet the scroll position of the viewport\nReturns:\n\t{\n\t\tx: horizontal scroll position in pixels,\n\t\ty: vertical scroll position in pixels\n\t}\n*/\nexports.getScrollPosition = function() {\n\tif(\"scrollX\" in window) {\n\t\treturn {x: window.scrollX, y: window.scrollY};\n\t} else {\n\t\treturn {x: document.documentElement.scrollLeft, y: document.documentElement.scrollTop};\n\t}\n};\n\n/*\nAdjust the height of a textarea to fit its content, preserving scroll position, and return the height\n*/\nexports.resizeTextAreaToFit = function(domNode,minHeight) {\n\t// Get the scroll container and register the current scroll position\n\tvar container = $tw.utils.getScrollContainer(domNode),\n\t\tscrollTop = container.scrollTop;\n    // Measure the specified minimum height\n\tdomNode.style.height = minHeight;\n\tvar measuredHeight = domNode.offsetHeight;\n\t// Set its height to auto so that it snaps to the correct height\n\tdomNode.style.height = \"auto\";\n\t// Calculate the revised height\n\tvar newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,measuredHeight);\n\t// Only try to change the height if it has changed\n\tif(newHeight !== domNode.offsetHeight) {\n\t\tdomNode.style.height = newHeight + \"px\";\n\t\t// Make sure that the dimensions of the textarea are recalculated\n\t\t$tw.utils.forceLayout(domNode);\n\t\t// Set the container to the position we registered at the beginning\n\t\tcontainer.scrollTop = scrollTop;\n\t}\n\treturn newHeight;\n};\n\n/*\nGets the bounding rectangle of an element in absolute page coordinates\n*/\nexports.getBoundingPageRect = function(element) {\n\tvar scrollPos = $tw.utils.getScrollPosition(),\n\t\tclientRect = element.getBoundingClientRect();\n\treturn {\n\t\tleft: clientRect.left + scrollPos.x,\n\t\twidth: clientRect.width,\n\t\tright: clientRect.right + scrollPos.x,\n\t\ttop: clientRect.top + scrollPos.y,\n\t\theight: clientRect.height,\n\t\tbottom: clientRect.bottom + scrollPos.y\n\t};\n};\n\n/*\nSaves a named password in the browser\n*/\nexports.savePassword = function(name,password) {\n\ttry {\n\t\tif(window.localStorage) {\n\t\t\tlocalStorage.setItem(\"tw5-password-\" + name,password);\n\t\t}\n\t} catch(e) {\n\t}\n};\n\n/*\nRetrieve a named password from the browser\n*/\nexports.getPassword = function(name) {\n\ttry {\n\t\treturn window.localStorage ? localStorage.getItem(\"tw5-password-\" + name) : \"\";\n\t} catch(e) {\n\t\treturn \"\";\n\t}\n};\n\n/*\nForce layout of a dom node and its descendents\n*/\nexports.forceLayout = function(element) {\n\tvar dummy = element.offsetWidth;\n};\n\n/*\nPulse an element for debugging purposes\n*/\nexports.pulseElement = function(element) {\n\t// Event handler to remove the class at the end\n\telement.addEventListener($tw.browser.animationEnd,function handler(event) {\n\t\telement.removeEventListener($tw.browser.animationEnd,handler,false);\n\t\t$tw.utils.removeClass(element,\"pulse\");\n\t},false);\n\t// Apply the pulse class\n\t$tw.utils.removeClass(element,\"pulse\");\n\t$tw.utils.forceLayout(element);\n\t$tw.utils.addClass(element,\"pulse\");\n};\n\n/*\nAttach specified event handlers to a DOM node\ndomNode: where to attach the event handlers\nevents: array of event handlers to be added (see below)\nEach entry in the events array is an object with these properties:\nhandlerFunction: optional event handler function\nhandlerObject: optional event handler object\nhandlerMethod: optionally specifies object handler method name (defaults to `handleEvent`)\n*/\nexports.addEventListeners = function(domNode,events) {\n\t$tw.utils.each(events,function(eventInfo) {\n\t\tvar handler;\n\t\tif(eventInfo.handlerFunction) {\n\t\t\thandler = eventInfo.handlerFunction;\n\t\t} else if(eventInfo.handlerObject) {\n\t\t\tif(eventInfo.handlerMethod) {\n\t\t\t\thandler = function(event) {\n\t\t\t\t\teventInfo.handlerObject[eventInfo.handlerMethod].call(eventInfo.handlerObject,event);\n\t\t\t\t};\t\n\t\t\t} else {\n\t\t\t\thandler = eventInfo.handlerObject;\n\t\t\t}\n\t\t}\n\t\tdomNode.addEventListener(eventInfo.name,handler,false);\n\t});\n};\n\n/*\nGet the computed styles applied to an element as an array of strings of individual CSS properties\n*/\nexports.getComputedStyles = function(domNode) {\n\tvar textAreaStyles = window.getComputedStyle(domNode,null),\n\t\tstyleDefs = [],\n\t\tname;\n\tfor(var t=0; t<textAreaStyles.length; t++) {\n\t\tname = textAreaStyles[t];\n\t\tstyleDefs.push(name + \": \" + textAreaStyles.getPropertyValue(name) + \";\");\n\t}\n\treturn styleDefs;\n};\n\n/*\nApply a set of styles passed as an array of strings of individual CSS properties\n*/\nexports.setStyles = function(domNode,styleDefs) {\n\tdomNode.style.cssText = styleDefs.join(\"\");\n};\n\n/*\nCopy the computed styles from a source element to a destination element\n*/\nexports.copyStyles = function(srcDomNode,dstDomNode) {\n\t$tw.utils.setStyles(dstDomNode,$tw.utils.getComputedStyles(srcDomNode));\n};\n\n})();\n",
            "title": "$:/core/modules/utils/dom.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/http.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/http.js\ntype: application/javascript\nmodule-type: utils\n\nBrowser HTTP support\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nA quick and dirty HTTP function; to be refactored later. Options are:\n\turl: URL to retrieve\n\ttype: GET, PUT, POST etc\n\tcallback: function invoked with (err,data)\n*/\nexports.httpRequest = function(options) {\n\tvar type = options.type || \"GET\",\n\t\theaders = options.headers || {accept: \"application/json\"},\n\t\trequest = new XMLHttpRequest(),\n\t\tdata = \"\",\n\t\tf,results;\n\t// Massage the data hashmap into a string\n\tif(options.data) {\n\t\tif(typeof options.data === \"string\") { // Already a string\n\t\t\tdata = options.data;\n\t\t} else { // A hashmap of strings\n\t\t\tresults = [];\n\t\t\t$tw.utils.each(options.data,function(dataItem,dataItemTitle) {\n\t\t\t\tresults.push(dataItemTitle + \"=\" + encodeURIComponent(dataItem));\n\t\t\t});\n\t\t\tdata = results.join(\"&\");\n\t\t}\n\t}\n\t// Set up the state change handler\n\trequest.onreadystatechange = function() {\n\t\tif(this.readyState === 4) {\n\t\t\tif(this.status === 200 || this.status === 201 || this.status === 204) {\n\t\t\t\t// Success!\n\t\t\t\toptions.callback(null,this.responseText,this);\n\t\t\t\treturn;\n\t\t\t}\n\t\t// Something went wrong\n\t\toptions.callback($tw.language.getString(\"Error/XMLHttpRequest\") + \": \" + this.status);\n\t\t}\n\t};\n\t// Make the request\n\trequest.open(type,options.url,true);\n\tif(headers) {\n\t\t$tw.utils.each(headers,function(header,headerTitle,object) {\n\t\t\trequest.setRequestHeader(headerTitle,header);\n\t\t});\n\t}\n\tif(data && !$tw.utils.hop(headers,\"Content-type\")) {\n\t\trequest.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded; charset=UTF-8\");\n\t}\n\ttry {\n\t\trequest.send(data);\n\t} catch(e) {\n\t\toptions.callback(e);\n\t}\n\treturn request;\n};\n\n})();\n",
            "title": "$:/core/modules/utils/dom/http.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/keyboard.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/keyboard.js\ntype: application/javascript\nmodule-type: utils\n\nKeyboard utilities; now deprecated. Instead, use $tw.keyboardManager\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n[\"parseKeyDescriptor\",\"checkKeyDescriptor\"].forEach(function(method) {\n\texports[method] = function() {\n\t\tif($tw.keyboardManager) {\n\t\t\treturn $tw.keyboardManager[method].apply($tw.keyboardManager,Array.prototype.slice.call(arguments,0));\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\t};\n});\n\n})();\n",
            "title": "$:/core/modules/utils/dom/keyboard.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/modal.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/modal.js\ntype: application/javascript\nmodule-type: utils\n\nModal message mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Modal = function(wiki) {\n\tthis.wiki = wiki;\n\tthis.modalCount = 0;\n};\n\n/*\nDisplay a modal dialogue\n\ttitle: Title of tiddler to display\n\toptions: see below\nOptions include:\n\tdownloadLink: Text of a big download link to include\n*/\nModal.prototype.display = function(title,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\trefreshHandler,\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\ttiddler = this.wiki.getTiddler(title);\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Create the wrapper divs\n\tvar wrapper = document.createElement(\"div\"),\n\t\tmodalBackdrop = document.createElement(\"div\"),\n\t\tmodalWrapper = document.createElement(\"div\"),\n\t\tmodalHeader = document.createElement(\"div\"),\n\t\theaderTitle = document.createElement(\"h3\"),\n\t\tmodalBody = document.createElement(\"div\"),\n\t\tmodalLink = document.createElement(\"a\"),\n\t\tmodalFooter = document.createElement(\"div\"),\n\t\tmodalFooterHelp = document.createElement(\"span\"),\n\t\tmodalFooterButtons = document.createElement(\"span\");\n\t// Up the modal count and adjust the body class\n\tthis.modalCount++;\n\tthis.adjustPageClass();\n\t// Add classes\n\t$tw.utils.addClass(wrapper,\"tc-modal-wrapper\");\n\t$tw.utils.addClass(modalBackdrop,\"tc-modal-backdrop\");\n\t$tw.utils.addClass(modalWrapper,\"tc-modal\");\n\t$tw.utils.addClass(modalHeader,\"tc-modal-header\");\n\t$tw.utils.addClass(modalBody,\"tc-modal-body\");\n\t$tw.utils.addClass(modalFooter,\"tc-modal-footer\");\n\t// Join them together\n\twrapper.appendChild(modalBackdrop);\n\twrapper.appendChild(modalWrapper);\n\tmodalHeader.appendChild(headerTitle);\n\tmodalWrapper.appendChild(modalHeader);\n\tmodalWrapper.appendChild(modalBody);\n\tmodalFooter.appendChild(modalFooterHelp);\n\tmodalFooter.appendChild(modalFooterButtons);\n\tmodalWrapper.appendChild(modalFooter);\n\t// Render the title of the message\n\tvar headerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"subtitle\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"text\",\n\t\t\tattributes: {\n\t\t\t\ttext: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: title\n\t\t}}}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables\n\t});\n\theaderWidgetNode.render(headerTitle,null);\n\t// Render the body of the message\n\tvar bodyWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables\n\t});\n\tbodyWidgetNode.render(modalBody,null);\n\t// Setup the link if present\n\tif(options.downloadLink) {\n\t\tmodalLink.href = options.downloadLink;\n\t\tmodalLink.appendChild(document.createTextNode(\"Right-click to save changes\"));\n\t\tmodalBody.appendChild(modalLink);\n\t}\n\t// Render the footer of the message\n\tif(tiddler && tiddler.fields && tiddler.fields.help) {\n\t\tvar link = document.createElement(\"a\");\n\t\tlink.setAttribute(\"href\",tiddler.fields.help);\n\t\tlink.setAttribute(\"target\",\"_blank\");\n\t\tlink.setAttribute(\"rel\",\"noopener noreferrer\");\n\t\tlink.appendChild(document.createTextNode(\"Help\"));\n\t\tmodalFooterHelp.appendChild(link);\n\t\tmodalFooterHelp.style.float = \"left\";\n\t}\n\tvar footerWidgetNode = this.wiki.makeTranscludeWidget(title,{\n\t\tfield: \"footer\",\n\t\tmode: \"inline\",\n\t\tchildren: [{\n\t\t\ttype: \"button\",\n\t\t\tattributes: {\n\t\t\t\tmessage: {\n\t\t\t\t\ttype: \"string\",\n\t\t\t\t\tvalue: \"tm-close-tiddler\"\n\t\t\t\t}\n\t\t\t},\n\t\t\tchildren: [{\n\t\t\t\ttype: \"text\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttext: {\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tvalue: $tw.language.getString(\"Buttons/Close/Caption\")\n\t\t\t}}}\n\t\t]}],\n\t\tparentWidget: $tw.rootWidget,\n\t\tdocument: document,\n\t\tvariables: variables\n\t});\n\tfooterWidgetNode.render(modalFooterButtons,null);\n\t// Set up the refresh handler\n\trefreshHandler = function(changes) {\n\t\theaderWidgetNode.refresh(changes,modalHeader,null);\n\t\tbodyWidgetNode.refresh(changes,modalBody,null);\n\t\tfooterWidgetNode.refresh(changes,modalFooterButtons,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Add the close event handler\n\tvar closeHandler = function(event) {\n\t\t// Remove our refresh handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Decrease the modal count and adjust the body class\n\t\tself.modalCount--;\n\t\tself.adjustPageClass();\n\t\t// Force layout and animate the modal message away\n\t\t$tw.utils.forceLayout(modalBackdrop);\n\t\t$tw.utils.forceLayout(modalWrapper);\n\t\t$tw.utils.setStyle(modalBackdrop,[\n\t\t\t{opacity: \"0\"}\n\t\t]);\n\t\t$tw.utils.setStyle(modalWrapper,[\n\t\t\t{transform: \"translateY(\" + window.innerHeight + \"px)\"}\n\t\t]);\n\t\t// Set up an event for the transition end\n\t\twindow.setTimeout(function() {\n\t\t\tif(wrapper.parentNode) {\n\t\t\t\t// Remove the modal message from the DOM\n\t\t\t\tdocument.body.removeChild(wrapper);\n\t\t\t}\n\t\t},duration);\n\t\t// Don't let anyone else handle the tm-close-tiddler message\n\t\treturn false;\n\t};\n\theaderWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tbodyWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\tfooterWidgetNode.addEventListener(\"tm-close-tiddler\",closeHandler,false);\n\t// Set the initial styles for the message\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"}\n\t]);\n\t// Put the message into the document\n\tdocument.body.appendChild(wrapper);\n\t// Set up animation for the styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{transition: \"opacity \" + duration + \"ms ease-out\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transition: $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Force layout\n\t$tw.utils.forceLayout(modalBackdrop);\n\t$tw.utils.forceLayout(modalWrapper);\n\t// Set final animated styles\n\t$tw.utils.setStyle(modalBackdrop,[\n\t\t{opacity: \"0.7\"}\n\t]);\n\t$tw.utils.setStyle(modalWrapper,[\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n};\n\nModal.prototype.adjustPageClass = function() {\n\tif($tw.pageContainer) {\n\t\t$tw.utils.toggleClass($tw.pageContainer,\"tc-modal-displayed\",this.modalCount > 0);\n\t}\n};\n\nexports.Modal = Modal;\n\n})();\n",
            "title": "$:/core/modules/utils/dom/modal.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/notifier.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/notifier.js\ntype: application/javascript\nmodule-type: utils\n\nNotifier mechanism\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar Notifier = function(wiki) {\n\tthis.wiki = wiki;\n};\n\n/*\nDisplay a notification\n\ttitle: Title of tiddler containing the notification text\n\toptions: see below\nOptions include:\n*/\nNotifier.prototype.display = function(title,options) {\n\toptions = options || {};\n\t// Create the wrapper divs\n\tvar self = this,\n\t\tnotification = document.createElement(\"div\"),\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tduration = $tw.utils.getAnimationDuration(),\n\t\trefreshHandler;\n\t// Don't do anything if the tiddler doesn't exist\n\tif(!tiddler) {\n\t\treturn;\n\t}\n\t// Add classes\n\t$tw.utils.addClass(notification,\"tc-notification\");\n\t// Create the variables\n\tvar variables = $tw.utils.extend({currentTiddler: title},options.variables);\n\t// Render the body of the notification\n\tvar widgetNode = this.wiki.makeTranscludeWidget(title,{parentWidget: $tw.rootWidget, document: document, variables: variables});\n\twidgetNode.render(notification,null);\n\trefreshHandler = function(changes) {\n\t\twidgetNode.refresh(changes,notification,null);\n\t};\n\tthis.wiki.addEventListener(\"change\",refreshHandler);\n\t// Set the initial styles for the notification\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"0\"},\n\t\t{transformOrigin: \"0% 0%\"},\n\t\t{transform: \"translateY(\" + (-window.innerHeight) + \"px)\"},\n\t\t{transition: \"opacity \" + duration + \"ms ease-out, \" + $tw.utils.roundTripPropertyName(\"transform\") + \" \" + duration + \"ms ease-in-out\"}\n\t]);\n\t// Add the notification to the DOM\n\tdocument.body.appendChild(notification);\n\t// Force layout\n\t$tw.utils.forceLayout(notification);\n\t// Set final animated styles\n\t$tw.utils.setStyle(notification,[\n\t\t{opacity: \"1.0\"},\n\t\t{transform: \"translateY(0px)\"}\n\t]);\n\t// Set a timer to remove the notification\n\twindow.setTimeout(function() {\n\t\t// Remove our change event handler\n\t\tself.wiki.removeEventListener(\"change\",refreshHandler);\n\t\t// Force layout and animate the notification away\n\t\t$tw.utils.forceLayout(notification);\n\t\t$tw.utils.setStyle(notification,[\n\t\t\t{opacity: \"0.0\"},\n\t\t\t{transform: \"translateX(\" + (notification.offsetWidth) + \"px)\"}\n\t\t]);\n\t\t// Remove the modal message from the DOM once the transition ends\n\t\tsetTimeout(function() {\n\t\t\tif(notification.parentNode) {\n\t\t\t\tdocument.body.removeChild(notification);\n\t\t\t}\n\t\t},duration);\n\t},$tw.config.preferences.notificationDuration);\n};\n\nexports.Notifier = Notifier;\n\n})();\n",
            "title": "$:/core/modules/utils/dom/notifier.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/popup.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/popup.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Popup object prototype that manages popups in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreates a Popup object with these options:\n\trootElement: the DOM element to which the popup zapper should be attached\n*/\nvar Popup = function(options) {\n\toptions = options || {};\n\tthis.rootElement = options.rootElement || document.documentElement;\n\tthis.popups = []; // Array of {title:,wiki:,domNode:} objects\n};\n\n/*\nTrigger a popup open or closed. Parameters are in a hashmap:\n\ttitle: title of the tiddler where the popup details are stored\n\tdomNode: dom node to which the popup will be positioned\n\twiki: wiki\n\tforce: if specified, forces the popup state to true or false (instead of toggling it)\n*/\nPopup.prototype.triggerPopup = function(options) {\n\t// Check if this popup is already active\n\tvar index = this.findPopup(options.title);\n\t// Compute the new state\n\tvar state = index === -1;\n\tif(options.force !== undefined) {\n\t\tstate = options.force;\n\t}\n\t// Show or cancel the popup according to the new state\n\tif(state) {\n\t\tthis.show(options);\n\t} else {\n\t\tthis.cancel(index);\n\t}\n};\n\nPopup.prototype.findPopup = function(title) {\n\tvar index = -1;\n\tfor(var t=0; t<this.popups.length; t++) {\n\t\tif(this.popups[t].title === title) {\n\t\t\tindex = t;\n\t\t}\n\t}\n\treturn index;\n};\n\nPopup.prototype.handleEvent = function(event) {\n\tif(event.type === \"click\") {\n\t\t// Find out what was clicked on\n\t\tvar info = this.popupInfo(event.target),\n\t\t\tcancelLevel = info.popupLevel - 1;\n\t\t// Don't remove the level that was clicked on if we clicked on a handle\n\t\tif(info.isHandle) {\n\t\t\tcancelLevel++;\n\t\t}\n\t\t// Cancel\n\t\tthis.cancel(cancelLevel);\n\t}\n};\n\n/*\nFind the popup level containing a DOM node. Returns:\npopupLevel: count of the number of nested popups containing the specified element\nisHandle: true if the specified element is within a popup handle\n*/\nPopup.prototype.popupInfo = function(domNode) {\n\tvar isHandle = false,\n\t\tpopupCount = 0,\n\t\tnode = domNode;\n\t// First check ancestors to see if we're within a popup handle\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup-handle\")) {\n\t\t\tisHandle = true;\n\t\t\tpopupCount++;\n\t\t}\n\t\tif($tw.utils.hasClass(node,\"tc-popup-keep\")) {\n\t\t\tisHandle = true;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\t// Then count the number of ancestor popups\n\tnode = domNode;\n\twhile(node) {\n\t\tif($tw.utils.hasClass(node,\"tc-popup\")) {\n\t\t\tpopupCount++;\n\t\t}\n\t\tnode = node.parentNode;\n\t}\n\tvar info = {\n\t\tpopupLevel: popupCount,\n\t\tisHandle: isHandle\n\t};\n\treturn info;\n};\n\n/*\nDisplay a popup by adding it to the stack\n*/\nPopup.prototype.show = function(options) {\n\t// Find out what was clicked on\n\tvar info = this.popupInfo(options.domNode);\n\t// Cancel any higher level popups\n\tthis.cancel(info.popupLevel);\n\t// Store the popup details if not already there\n\tif(this.findPopup(options.title) === -1) {\n\t\tthis.popups.push({\n\t\t\ttitle: options.title,\n\t\t\twiki: options.wiki,\n\t\t\tdomNode: options.domNode\n\t\t});\n\t}\n\t// Set the state tiddler\n\toptions.wiki.setTextReference(options.title,\n\t\t\t\"(\" + options.domNode.offsetLeft + \",\" + options.domNode.offsetTop + \",\" + \n\t\t\t\toptions.domNode.offsetWidth + \",\" + options.domNode.offsetHeight + \")\");\n\t// Add the click handler if we have any popups\n\tif(this.popups.length > 0) {\n\t\tthis.rootElement.addEventListener(\"click\",this,true);\t\t\n\t}\n};\n\n/*\nCancel all popups at or above a specified level or DOM node\nlevel: popup level to cancel (0 cancels all popups)\n*/\nPopup.prototype.cancel = function(level) {\n\tvar numPopups = this.popups.length;\n\tlevel = Math.max(0,Math.min(level,numPopups));\n\tfor(var t=level; t<numPopups; t++) {\n\t\tvar popup = this.popups.pop();\n\t\tif(popup.title) {\n\t\t\tpopup.wiki.deleteTiddler(popup.title);\n\t\t}\n\t}\n\tif(this.popups.length === 0) {\n\t\tthis.rootElement.removeEventListener(\"click\",this,false);\n\t}\n};\n\n/*\nReturns true if the specified title and text identifies an active popup\n*/\nPopup.prototype.readPopupState = function(text) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/;\n\treturn popupLocationRegExp.test(text);\n};\n\nexports.Popup = Popup;\n\n})();\n",
            "title": "$:/core/modules/utils/dom/popup.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/dom/scroller.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/dom/scroller.js\ntype: application/javascript\nmodule-type: utils\n\nModule that creates a $tw.utils.Scroller object prototype that manages scrolling in the browser\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nEvent handler for when the `tm-scroll` event hits the document body\n*/\nvar PageScroller = function() {\n\tthis.idRequestFrame = null;\n\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\twindow.webkitRequestAnimationFrame ||\n\t\twindow.mozRequestAnimationFrame ||\n\t\tfunction(callback) {\n\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t};\n\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\twindow.webkitCancelAnimationFrame ||\n\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\twindow.mozCancelAnimationFrame ||\n\t\twindow.mozCancelRequestAnimationFrame ||\n\t\tfunction(id) {\n\t\t\twindow.clearTimeout(id);\n\t\t};\n};\n\nPageScroller.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle an event\n*/\nPageScroller.prototype.handleEvent = function(event) {\n\tif(event.type === \"tm-scroll\") {\n\t\treturn this.scrollIntoView(event.target);\n\t}\n\treturn true;\n};\n\n/*\nHandle a scroll event hitting the page document\n*/\nPageScroller.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\t// Now get ready to scroll the body\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = $tw.utils.getScrollPosition();\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar clientBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientBounds.left + scrollPosition.x,\n\t\t\ttop: clientBounds.top + scrollPosition.y,\n\t\t\twidth: clientBounds.width,\n\t\t\theight: clientBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\t// targetPos/targetSize - position and size of the target element\n\t// currentPos/currentSize - position and size of the current scroll viewport\n\t// returns: new position of the scroll viewport\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\tvar newPos = currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to it's top/left\n\t\t\tif(targetPos <= currentPos) {\n\t\t\t\tnewPos = targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\tnewPos = targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\tnewPos = targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\tnewPos = currentPos;\n\t\t\t}\n\t\t\t// If we are scrolling within 50 pixels of the top/left then snap to zero\n\t\t\tif(newPos < 50) {\n\t\t\t\tnewPos = 0;\n\t\t\t}\n\t\t\treturn newPos;\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,window.innerWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,window.innerHeight);\n\t// Only scroll if the position has changed\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\twindow.scrollTo(scrollPosition.x + (endX - scrollPosition.x) * t,scrollPosition.y + (endY - scrollPosition.y) * t);\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(window,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\nexports.PageScroller = PageScroller;\n\n})();\n",
            "title": "$:/core/modules/utils/dom/scroller.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/edition-info.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/edition-info.js\ntype: application/javascript\nmodule-type: utils-node\n\nInformation about the available editions\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\nvar editionInfo;\n\nexports.getEditionInfo = function() {\n\tif(!editionInfo) {\n\t\t// Enumerate the edition paths\n\t\tvar editionPaths = $tw.getLibraryItemSearchPaths($tw.config.editionsPath,$tw.config.editionsEnvVar);\n\t\teditionInfo = {};\n\t\tfor(var editionIndex=0; editionIndex<editionPaths.length; editionIndex++) {\n\t\t\tvar editionPath = editionPaths[editionIndex];\n\t\t\t// Enumerate the folders\n\t\t\tvar entries = fs.readdirSync(editionPath);\n\t\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\t\tvar entry = entries[entryIndex];\n\t\t\t\t// Check if directories have a valid tiddlywiki.info\n\t\t\t\tif(!editionInfo[entry] && $tw.utils.isDirectory(path.resolve(editionPath,entry))) {\n\t\t\t\t\tvar info;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tinfo = JSON.parse(fs.readFileSync(path.resolve(editionPath,entry,\"tiddlywiki.info\"),\"utf8\"));\n\t\t\t\t\t} catch(ex) {\n\t\t\t\t\t}\n\t\t\t\t\tif(info) {\n\t\t\t\t\t\teditionInfo[entry] = info;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn editionInfo;\n};\n\n})();\n",
            "title": "$:/core/modules/utils/edition-info.js",
            "type": "application/javascript",
            "module-type": "utils-node"
        },
        "$:/core/modules/utils/fakedom.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/fakedom.js\ntype: application/javascript\nmodule-type: global\n\nA barebones implementation of DOM interfaces needed by the rendering mechanism.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Sequence number used to enable us to track objects for testing\nvar sequenceNumber = null;\n\nvar bumpSequenceNumber = function(object) {\n\tif(sequenceNumber !== null) {\n\t\tobject.sequenceNumber = sequenceNumber++;\n\t}\n};\n\nvar TW_TextNode = function(text) {\n\tbumpSequenceNumber(this);\n\tthis.textContent = text;\n};\n\nObject.defineProperty(TW_TextNode.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 3;\n\t}\n});\n\nObject.defineProperty(TW_TextNode.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\treturn this.textContent.replace(/(\\r?\\n)/g,\"\");\n\t}\n});\n\nvar TW_Element = function(tag,namespace) {\n\tbumpSequenceNumber(this);\n\tthis.isTiddlyWikiFakeDom = true;\n\tthis.tag = tag;\n\tthis.attributes = {};\n\tthis.isRaw = false;\n\tthis.children = [];\n\tthis.style = {};\n\tthis.namespaceURI = namespace || \"http://www.w3.org/1999/xhtml\";\n};\n\nObject.defineProperty(TW_Element.prototype, \"nodeType\", {\n\tget: function() {\n\t\treturn 1;\n\t}\n});\n\nTW_Element.prototype.getAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot getAttribute on a raw TW_Element\";\n\t}\n\treturn this.attributes[name];\n};\n\nTW_Element.prototype.setAttribute = function(name,value) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot setAttribute on a raw TW_Element\";\n\t}\n\tthis.attributes[name] = value;\n};\n\nTW_Element.prototype.setAttributeNS = function(namespace,name,value) {\n\tthis.setAttribute(name,value);\n};\n\nTW_Element.prototype.removeAttribute = function(name) {\n\tif(this.isRaw) {\n\t\tthrow \"Cannot removeAttribute on a raw TW_Element\";\n\t}\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\tdelete this.attributes[name];\n\t}\n};\n\nTW_Element.prototype.appendChild = function(node) {\n\tthis.children.push(node);\n\tnode.parentNode = this;\n};\n\nTW_Element.prototype.insertBefore = function(node,nextSibling) {\n\tif(nextSibling) {\n\t\tvar p = this.children.indexOf(nextSibling);\n\t\tif(p !== -1) {\n\t\t\tthis.children.splice(p,0,node);\n\t\t\tnode.parentNode = this;\n\t\t} else {\n\t\t\tthis.appendChild(node);\n\t\t}\n\t} else {\n\t\tthis.appendChild(node);\n\t}\n};\n\nTW_Element.prototype.removeChild = function(node) {\n\tvar p = this.children.indexOf(node);\n\tif(p !== -1) {\n\t\tthis.children.splice(p,1);\n\t}\n};\n\nTW_Element.prototype.hasChildNodes = function() {\n\treturn !!this.children.length;\n};\n\nObject.defineProperty(TW_Element.prototype, \"childNodes\", {\n\tget: function() {\n\t\treturn this.children;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"firstChild\", {\n\tget: function() {\n\t\treturn this.children[0];\n\t}\n});\n\nTW_Element.prototype.addEventListener = function(type,listener,useCapture) {\n\t// Do nothing\n};\n\nObject.defineProperty(TW_Element.prototype, \"tagName\", {\n\tget: function() {\n\t\treturn this.tag || \"\";\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"className\", {\n\tget: function() {\n\t\treturn this.attributes[\"class\"] || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes[\"class\"] = value;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"value\", {\n\tget: function() {\n\t\treturn this.attributes.value || \"\";\n\t},\n\tset: function(value) {\n\t\tthis.attributes.value = value;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"outerHTML\", {\n\tget: function() {\n\t\tvar output = [],attr,a,v;\n\t\toutput.push(\"<\",this.tag);\n\t\tif(this.attributes) {\n\t\t\tattr = [];\n\t\t\tfor(a in this.attributes) {\n\t\t\t\tattr.push(a);\n\t\t\t}\n\t\t\tattr.sort();\n\t\t\tfor(a=0; a<attr.length; a++) {\n\t\t\t\tv = this.attributes[attr[a]];\n\t\t\t\tif(v !== undefined) {\n\t\t\t\t\toutput.push(\" \",attr[a],\"=\\\"\",$tw.utils.htmlEncode(v),\"\\\"\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(this.style) {\n\t\t\tvar style = [];\n\t\t\tfor(var s in this.style) {\n\t\t\t\tstyle.push(s + \":\" + this.style[s] + \";\");\n\t\t\t}\n\t\t\tif(style.length > 0) {\n\t\t\t\toutput.push(\" style=\\\"\",style.join(\"\"),\"\\\"\")\n\t\t\t}\n\t\t}\n\t\toutput.push(\">\");\n\t\tif($tw.config.htmlVoidElements.indexOf(this.tag) === -1) {\n\t\t\toutput.push(this.innerHTML);\n\t\t\toutput.push(\"</\",this.tag,\">\");\n\t\t}\n\t\treturn output.join(\"\");\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"innerHTML\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\treturn this.rawHTML;\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tif(node instanceof TW_Element) {\n\t\t\t\t\tb.push(node.outerHTML);\n\t\t\t\t} else if(node instanceof TW_TextNode) {\n\t\t\t\t\tb.push($tw.utils.htmlEncode(node.textContent));\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.isRaw = true;\n\t\tthis.rawHTML = value;\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"textContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tthrow \"Cannot get textContent on a raw TW_Element\";\n\t\t} else {\n\t\t\tvar b = [];\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.textContent);\n\t\t\t});\n\t\t\treturn b.join(\"\");\n\t\t}\n\t},\n\tset: function(value) {\n\t\tthis.children = [new TW_TextNode(value)];\n\t}\n});\n\nObject.defineProperty(TW_Element.prototype, \"formattedTextContent\", {\n\tget: function() {\n\t\tif(this.isRaw) {\n\t\t\tthrow \"Cannot get formattedTextContent on a raw TW_Element\";\n\t\t} else {\n\t\t\tvar b = [],\n\t\t\t\tisBlock = $tw.config.htmlBlockElements.indexOf(this.tag) !== -1;\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\tif(this.tag === \"li\") {\n\t\t\t\tb.push(\"* \");\n\t\t\t}\n\t\t\t$tw.utils.each(this.children,function(node) {\n\t\t\t\tb.push(node.formattedTextContent);\n\t\t\t});\n\t\t\tif(isBlock) {\n\t\t\t\tb.push(\"\\n\");\n\t\t\t}\n\t\t\treturn b.join(\"\");\n\t\t}\n\t}\n});\n\nvar document = {\n\tsetSequenceNumber: function(value) {\n\t\tsequenceNumber = value;\n\t},\n\tcreateElementNS: function(namespace,tag) {\n\t\treturn new TW_Element(tag,namespace);\n\t},\n\tcreateElement: function(tag) {\n\t\treturn new TW_Element(tag);\n\t},\n\tcreateTextNode: function(text) {\n\t\treturn new TW_TextNode(text);\n\t},\n\tcompatMode: \"CSS1Compat\", // For KaTeX to know that we're not a browser in quirks mode\n\tisTiddlyWikiFakeDom: true\n};\n\nexports.fakeDocument = document;\n\n})();\n",
            "title": "$:/core/modules/utils/fakedom.js",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/utils/filesystem.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/filesystem.js\ntype: application/javascript\nmodule-type: utils-node\n\nFile system utilities\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar fs = require(\"fs\"),\n\tpath = require(\"path\");\n\n/*\nRecursively (and synchronously) copy a directory and all its content\n*/\nexports.copyDirectory = function(srcPath,dstPath) {\n\t// Remove any trailing path separators\n\tsrcPath = $tw.utils.removeTrailingSeparator(srcPath);\n\tdstPath = $tw.utils.removeTrailingSeparator(dstPath);\n\t// Create the destination directory\n\tvar err = $tw.utils.createDirectory(dstPath);\n\tif(err) {\n\t\treturn err;\n\t}\n\t// Function to copy a folder full of files\n\tvar copy = function(srcPath,dstPath) {\n\t\tvar srcStats = fs.lstatSync(srcPath),\n\t\t\tdstExists = fs.existsSync(dstPath);\n\t\tif(srcStats.isFile()) {\n\t\t\t$tw.utils.copyFile(srcPath,dstPath);\n\t\t} else if(srcStats.isDirectory()) {\n\t\t\tvar items = fs.readdirSync(srcPath);\n\t\t\tfor(var t=0; t<items.length; t++) {\n\t\t\t\tvar item = items[t],\n\t\t\t\t\terr = copy(srcPath + path.sep + item,dstPath + path.sep + item);\n\t\t\t\tif(err) {\n\t\t\t\t\treturn err;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tcopy(srcPath,dstPath);\n\treturn null;\n};\n\n/*\nCopy a file\n*/\nvar FILE_BUFFER_LENGTH = 64 * 1024,\n\tfileBuffer;\n\nexports.copyFile = function(srcPath,dstPath) {\n\t// Create buffer if required\n\tif(!fileBuffer) {\n\t\tfileBuffer = new Buffer(FILE_BUFFER_LENGTH);\n\t}\n\t// Create any directories in the destination\n\t$tw.utils.createDirectory(path.dirname(dstPath));\n\t// Copy the file\n\tvar srcFile = fs.openSync(srcPath,\"r\"),\n\t\tdstFile = fs.openSync(dstPath,\"w\"),\n\t\tbytesRead = 1,\n\t\tpos = 0;\n\twhile (bytesRead > 0) {\n\t\tbytesRead = fs.readSync(srcFile,fileBuffer,0,FILE_BUFFER_LENGTH,pos);\n\t\tfs.writeSync(dstFile,fileBuffer,0,bytesRead);\n\t\tpos += bytesRead;\n\t}\n\tfs.closeSync(srcFile);\n\tfs.closeSync(dstFile);\n\treturn null;\n};\n\n/*\nRemove trailing path separator\n*/\nexports.removeTrailingSeparator = function(dirPath) {\n\tvar len = dirPath.length;\n\tif(dirPath.charAt(len-1) === path.sep) {\n\t\tdirPath = dirPath.substr(0,len-1);\n\t}\n\treturn dirPath;\n};\n\n/*\nRecursively create a directory\n*/\nexports.createDirectory = function(dirPath) {\n\tif(dirPath.substr(dirPath.length-1,1) !== path.sep) {\n\t\tdirPath = dirPath + path.sep;\n\t}\n\tvar pos = 1;\n\tpos = dirPath.indexOf(path.sep,pos);\n\twhile(pos !== -1) {\n\t\tvar subDirPath = dirPath.substr(0,pos);\n\t\tif(!$tw.utils.isDirectory(subDirPath)) {\n\t\t\ttry {\n\t\t\t\tfs.mkdirSync(subDirPath);\n\t\t\t} catch(e) {\n\t\t\t\treturn \"Error creating directory '\" + subDirPath + \"'\";\n\t\t\t}\n\t\t}\n\t\tpos = dirPath.indexOf(path.sep,pos + 1);\n\t}\n\treturn null;\n};\n\n/*\nRecursively create directories needed to contain a specified file\n*/\nexports.createFileDirectories = function(filePath) {\n\treturn $tw.utils.createDirectory(path.dirname(filePath));\n};\n\n/*\nRecursively delete a directory\n*/\nexports.deleteDirectory = function(dirPath) {\n\tif(fs.existsSync(dirPath)) {\n\t\tvar entries = fs.readdirSync(dirPath);\n\t\tfor(var entryIndex=0; entryIndex<entries.length; entryIndex++) {\n\t\t\tvar currPath = dirPath + path.sep + entries[entryIndex];\n\t\t\tif(fs.lstatSync(currPath).isDirectory()) {\n\t\t\t\t$tw.utils.deleteDirectory(currPath);\n\t\t\t} else {\n\t\t\t\tfs.unlinkSync(currPath);\n\t\t\t}\n\t\t}\n\tfs.rmdirSync(dirPath);\n\t}\n\treturn null;\n};\n\n/*\nCheck if a path identifies a directory\n*/\nexports.isDirectory = function(dirPath) {\n\treturn fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();\n};\n\n/*\nCheck if a path identifies a directory that is empty\n*/\nexports.isDirectoryEmpty = function(dirPath) {\n\tif(!$tw.utils.isDirectory(dirPath)) {\n\t\treturn false;\n\t}\n\tvar files = fs.readdirSync(dirPath),\n\t\tempty = true;\n\t$tw.utils.each(files,function(file,index) {\n\t\tif(file.charAt(0) !== \".\") {\n\t\t\tempty = false;\n\t\t}\n\t});\n\treturn empty;\n};\n\n/*\nRecursively delete a tree of empty directories\n*/\nexports.deleteEmptyDirs = function(dirpath,callback) {\n\tvar self = this;\n\tfs.readdir(dirpath,function(err,files) {\n\t\tif(err) {\n\t\t\treturn callback(err);\n\t\t}\n\t\tif(files.length > 0) {\n\t\t\treturn callback(null);\n\t\t}\n\t\tfs.rmdir(dirpath,function(err) {\n\t\t\tif(err) {\n\t\t\t\treturn callback(err);\n\t\t\t}\n\t\t\tself.deleteEmptyDirs(path.dirname(dirpath),callback);\n\t\t});\n\t});\n};\n\n})();\n",
            "title": "$:/core/modules/utils/filesystem.js",
            "type": "application/javascript",
            "module-type": "utils-node"
        },
        "$:/core/modules/utils/logger.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/logger.js\ntype: application/javascript\nmodule-type: utils\n\nA basic logging implementation\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar ALERT_TAG = \"$:/tags/Alert\";\n\n/*\nMake a new logger\n*/\nfunction Logger(componentName) {\n\tthis.componentName = componentName || \"\";\n}\n\n/*\nLog a message\n*/\nLogger.prototype.log = function(/* args */) {\n\tif(console !== undefined && console.log !== undefined) {\n\t\treturn Function.apply.call(console.log, console, [this.componentName + \":\"].concat(Array.prototype.slice.call(arguments,0)));\n\t}\n};\n\n/*\nAlert a message\n*/\nLogger.prototype.alert = function(/* args */) {\n\t// Prepare the text of the alert\n\tvar text = Array.prototype.join.call(arguments,\" \");\n\t// Create alert tiddlers in the browser\n\tif($tw.browser) {\n\t\t// Check if there is an existing alert with the same text and the same component\n\t\tvar existingAlerts = $tw.wiki.getTiddlersWithTag(ALERT_TAG),\n\t\t\talertFields,\n\t\t\texistingCount,\n\t\t\tself = this;\n\t\t$tw.utils.each(existingAlerts,function(title) {\n\t\t\tvar tiddler = $tw.wiki.getTiddler(title);\n\t\t\tif(tiddler.fields.text === text && tiddler.fields.component === self.componentName && tiddler.fields.modified && (!alertFields || tiddler.fields.modified < alertFields.modified)) {\n\t\t\t\t\talertFields = $tw.utils.extend({},tiddler.fields);\n\t\t\t}\n\t\t});\n\t\tif(alertFields) {\n\t\t\texistingCount = alertFields.count || 1;\n\t\t} else {\n\t\t\talertFields = {\n\t\t\t\ttitle: $tw.wiki.generateNewTitle(\"$:/temp/alerts/alert\",{prefix: \"\"}),\n\t\t\t\ttext: text,\n\t\t\t\ttags: [ALERT_TAG],\n\t\t\t\tcomponent: this.componentName\n\t\t\t};\n\t\t\texistingCount = 0;\n\t\t}\n\t\talertFields.modified = new Date();\n\t\tif(++existingCount > 1) {\n\t\t\talertFields.count = existingCount;\n\t\t} else {\n\t\t\talertFields.count = undefined;\n\t\t}\n\t\t$tw.wiki.addTiddler(new $tw.Tiddler(alertFields));\n\t\t// Log the alert as well\n\t\tthis.log.apply(this,Array.prototype.slice.call(arguments,0));\n\t} else {\n\t\t// Print an orange message to the console if not in the browser\n\t\tconsole.error(\"\\x1b[1;33m\" + text + \"\\x1b[0m\");\n\t}\n};\n\nexports.Logger = Logger;\n\n})();\n",
            "title": "$:/core/modules/utils/logger.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/parsetree.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/parsetree.js\ntype: application/javascript\nmodule-type: utils\n\nParse tree utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nexports.addAttributeToParseTreeNode = function(node,name,value) {\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[name] = {type: \"string\", value: value};\n};\n\nexports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {\n\tif(node.attributes && node.attributes[name] && node.attributes[name].value !== undefined) {\n\t\treturn node.attributes[name].value;\n\t}\n\treturn defaultValue;\n};\n\nexports.addClassToParseTreeNode = function(node,classString) {\n\tvar classes = [];\n\tnode.attributes = node.attributes || {};\n\tnode.attributes[\"class\"] = node.attributes[\"class\"] || {type: \"string\", value: \"\"};\n\tif(node.attributes[\"class\"].type === \"string\") {\n\t\tif(node.attributes[\"class\"].value !== \"\") {\n\t\t\tclasses = node.attributes[\"class\"].value.split(\" \");\n\t\t}\n\t\tif(classString !== \"\") {\n\t\t\t$tw.utils.pushTop(classes,classString.split(\" \"));\n\t\t}\n\t\tnode.attributes[\"class\"].value = classes.join(\" \");\n\t}\n};\n\nexports.addStyleToParseTreeNode = function(node,name,value) {\n\t\tnode.attributes = node.attributes || {};\n\t\tnode.attributes.style = node.attributes.style || {type: \"string\", value: \"\"};\n\t\tif(node.attributes.style.type === \"string\") {\n\t\t\tnode.attributes.style.value += name + \":\" + value + \";\";\n\t\t}\n};\n\nexports.findParseTreeNode = function(nodeArray,search) {\n\tfor(var t=0; t<nodeArray.length; t++) {\n\t\tif(nodeArray[t].type === search.type && nodeArray[t].tag === search.tag) {\n\t\t\treturn nodeArray[t];\n\t\t}\n\t}\n\treturn undefined;\n};\n\n/*\nHelper to get the text of a parse tree node or array of nodes\n*/\nexports.getParseTreeText = function getParseTreeText(tree) {\n\tvar output = [];\n\tif($tw.utils.isArray(tree)) {\n\t\t$tw.utils.each(tree,function(node) {\n\t\t\toutput.push(getParseTreeText(node));\n\t\t});\n\t} else {\n\t\tif(tree.type === \"text\") {\n\t\t\toutput.push(tree.text);\n\t\t}\n\t\tif(tree.children) {\n\t\t\treturn getParseTreeText(tree.children);\n\t\t}\n\t}\n\treturn output.join(\"\");\n};\n\n})();\n",
            "title": "$:/core/modules/utils/parsetree.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/performance.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/performance.js\ntype: application/javascript\nmodule-type: global\n\nPerformance measurement.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nfunction Performance(enabled) {\n\tthis.enabled = !!enabled;\n\tthis.measures = {}; // Hashmap of current values of measurements\n\tthis.logger = new $tw.utils.Logger(\"performance\");\n}\n\n/*\nWrap performance reporting around a top level function\n*/\nPerformance.prototype.report = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tself.measures = {};\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments);\n\t\t\tself.logger.log(name + \": \" + $tw.utils.timer(startTime).toFixed(2) + \"ms\");\n\t\t\tfor(var m in self.measures) {\n\t\t\t\tself.logger.log(\"+\" + m + \": \" + self.measures[m].toFixed(2) + \"ms\");\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\n/*\nWrap performance measurements around a subfunction\n*/\nPerformance.prototype.measure = function(name,fn) {\n\tvar self = this;\n\tif(this.enabled) {\n\t\treturn function() {\n\t\t\tvar startTime = $tw.utils.timer(),\n\t\t\t\tresult = fn.apply(this,arguments),\n\t\t\t\tvalue = self.measures[name] || 0;\n\t\t\tself.measures[name] = value + $tw.utils.timer(startTime);\n\t\t\treturn result;\n\t\t};\n\t} else {\n\t\treturn fn;\n\t}\n};\n\nexports.Performance = Performance;\n\n})();\n",
            "title": "$:/core/modules/utils/performance.js",
            "type": "application/javascript",
            "module-type": "global"
        },
        "$:/core/modules/utils/pluginmaker.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/pluginmaker.js\ntype: application/javascript\nmodule-type: utils\n\nA quick and dirty way to pack up plugins within the browser.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRepack a plugin, and then delete any non-shadow payload tiddlers\n*/\nexports.repackPlugin = function(title,additionalTiddlers,excludeTiddlers) {\n\tadditionalTiddlers = additionalTiddlers || [];\n\texcludeTiddlers = excludeTiddlers || [];\n\t// Get the plugin tiddler\n\tvar pluginTiddler = $tw.wiki.getTiddler(title);\n\tif(!pluginTiddler) {\n\t\tthrow \"No such tiddler as \" + title;\n\t}\n\t// Extract the JSON\n\tvar jsonPluginTiddler;\n\ttry {\n\t\tjsonPluginTiddler = JSON.parse(pluginTiddler.fields.text);\n\t} catch(e) {\n\t\tthrow \"Cannot parse plugin tiddler \" + title + \"\\n\" + $tw.language.getString(\"Error/Caption\") + \": \" + e;\n\t}\n\t// Get the list of tiddlers\n\tvar tiddlers = Object.keys(jsonPluginTiddler.tiddlers);\n\t// Add the additional tiddlers\n\t$tw.utils.pushTop(tiddlers,additionalTiddlers);\n\t// Remove any excluded tiddlers\n\tfor(var t=tiddlers.length-1; t>=0; t--) {\n\t\tif(excludeTiddlers.indexOf(tiddlers[t]) !== -1) {\n\t\t\ttiddlers.splice(t,1);\n\t\t}\n\t}\n\t// Pack up the tiddlers into a block of JSON\n\tvar plugins = {};\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = $tw.wiki.getTiddler(title),\n\t\t\tfields = {};\n\t\t$tw.utils.each(tiddler.fields,function (value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\tplugins[title] = fields;\n\t});\n\t// Retrieve and bump the version number\n\tvar pluginVersion = $tw.utils.parseVersion(pluginTiddler.getFieldString(\"version\") || \"0.0.0\") || {\n\t\t\tmajor: \"0\",\n\t\t\tminor: \"0\",\n\t\t\tpatch: \"0\"\n\t\t};\n\tpluginVersion.patch++;\n\tvar version = pluginVersion.major + \".\" + pluginVersion.minor + \".\" + pluginVersion.patch;\n\tif(pluginVersion.prerelease) {\n\t\tversion += \"-\" + pluginVersion.prerelease;\n\t}\n\tif(pluginVersion.build) {\n\t\tversion += \"+\" + pluginVersion.build;\n\t}\n\t// Save the tiddler\n\t$tw.wiki.addTiddler(new $tw.Tiddler(pluginTiddler,{text: JSON.stringify({tiddlers: plugins},null,4), version: version}));\n\t// Delete any non-shadow constituent tiddlers\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tif($tw.wiki.tiddlerExists(title)) {\n\t\t\t$tw.wiki.deleteTiddler(title);\n\t\t}\n\t});\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t// Return a heartwarming confirmation\n\treturn \"Plugin \" + title + \" successfully saved\";\n};\n\n})();\n",
            "title": "$:/core/modules/utils/pluginmaker.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/utils/utils.js": {
            "text": "/*\\\ntitle: $:/core/modules/utils/utils.js\ntype: application/javascript\nmodule-type: utils\n\nVarious static utility functions.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nDisplay a warning, in colour if we're on a terminal\n*/\nexports.warning = function(text) {\n\tconsole.log($tw.node ? \"\\x1b[1;33m\" + text + \"\\x1b[0m\" : text);\n};\n\n/*\nRepeats a string\n*/\nexports.repeat = function(str,count) {\n\tvar result = \"\";\n\tfor(var t=0;t<count;t++) {\n\t\tresult += str;\n\t}\n\treturn result;\n};\n\n/*\nTrim whitespace from the start and end of a string\nThanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript\n*/\nexports.trim = function(str) {\n\tif(typeof str === \"string\") {\n\t\treturn str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n\t} else {\n\t\treturn str;\n\t}\n};\n\n/*\nFind the line break preceding a given position in a string\nReturns position immediately after that line break, or the start of the string\n*/\nexports.findPrecedingLineBreak = function(text,pos) {\n\tvar result = text.lastIndexOf(\"\\n\",pos - 1);\n\tif(result === -1) {\n\t\tresult = 0;\n\t} else {\n\t\tresult++;\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nFind the line break following a given position in a string\n*/\nexports.findFollowingLineBreak = function(text,pos) {\n\t// Cut to just past the following line break, or to the end of the text\n\tvar result = text.indexOf(\"\\n\",pos);\n\tif(result === -1) {\n\t\tresult = text.length;\n\t} else {\n\t\tif(text.charAt(result) === \"\\r\") {\n\t\t\tresult++;\n\t\t}\n\t}\n\treturn result;\n};\n\n/*\nReturn the number of keys in an object\n*/\nexports.count = function(object) {\n\treturn Object.keys(object || {}).length;\n};\n\n/*\nCheck if an array is equal by value and by reference.\n*/\nexports.isArrayEqual = function(array1,array2) {\n\tif(array1 === array2) {\n\t\treturn true;\n\t}\n\tarray1 = array1 || [];\n\tarray2 = array2 || [];\n\tif(array1.length !== array2.length) {\n\t\treturn false;\n\t}\n\treturn array1.every(function(value,index) {\n\t\treturn value === array2[index];\n\t});\n};\n\n/*\nPush entries onto an array, removing them first if they already exist in the array\n\tarray: array to modify (assumed to be free of duplicates)\n\tvalue: a single value to push or an array of values to push\n*/\nexports.pushTop = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\t// Remove any array entries that are duplicated in the new values\n\t\tif(value.length !== 0) {\n\t\t\tif(array.length !== 0) {\n\t\t\t\tif(value.length < array.length) {\n\t\t\t\t\tfor(t=0; t<value.length; t++) {\n\t\t\t\t\t\tp = array.indexOf(value[t]);\n\t\t\t\t\t\tif(p !== -1) {\n\t\t\t\t\t\t\tarray.splice(p,1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tfor(t=array.length-1; t>=0; t--) {\n\t\t\t\t\t\tp = value.indexOf(array[t]);\n\t\t\t\t\t\tif(p !== -1) {\n\t\t\t\t\t\t\tarray.splice(t,1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Push the values on top of the main array\n\t\t\tarray.push.apply(array,value);\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t\tarray.push(value);\n\t}\n\treturn array;\n};\n\n/*\nRemove entries from an array\n\tarray: array to modify\n\tvalue: a single value to remove, or an array of values to remove\n*/\nexports.removeArrayEntries = function(array,value) {\n\tvar t,p;\n\tif($tw.utils.isArray(value)) {\n\t\tfor(t=0; t<value.length; t++) {\n\t\t\tp = array.indexOf(value[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tarray.splice(p,1);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tp = array.indexOf(value);\n\t\tif(p !== -1) {\n\t\t\tarray.splice(p,1);\n\t\t}\n\t}\n};\n\n/*\nCheck whether any members of a hashmap are present in another hashmap\n*/\nexports.checkDependencies = function(dependencies,changes) {\n\tvar hit = false;\n\t$tw.utils.each(changes,function(change,title) {\n\t\tif($tw.utils.hop(dependencies,title)) {\n\t\t\thit = true;\n\t\t}\n\t});\n\treturn hit;\n};\n\nexports.extend = function(object /* [, src] */) {\n\t$tw.utils.each(Array.prototype.slice.call(arguments, 1), function(source) {\n\t\tif(source) {\n\t\t\tfor(var property in source) {\n\t\t\t\tobject[property] = source[property];\n\t\t\t}\n\t\t}\n\t});\n\treturn object;\n};\n\nexports.deepCopy = function(object) {\n\tvar result,t;\n\tif($tw.utils.isArray(object)) {\n\t\t// Copy arrays\n\t\tresult = object.slice(0);\n\t} else if(typeof object === \"object\") {\n\t\tresult = {};\n\t\tfor(t in object) {\n\t\t\tif(object[t] !== undefined) {\n\t\t\t\tresult[t] = $tw.utils.deepCopy(object[t]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tresult = object;\n\t}\n\treturn result;\n};\n\nexports.extendDeepCopy = function(object,extendedProperties) {\n\tvar result = $tw.utils.deepCopy(object),t;\n\tfor(t in extendedProperties) {\n\t\tif(extendedProperties[t] !== undefined) {\n\t\t\tresult[t] = $tw.utils.deepCopy(extendedProperties[t]);\n\t\t}\n\t}\n\treturn result;\n};\n\nexports.deepFreeze = function deepFreeze(object) {\n\tvar property, key;\n\tObject.freeze(object);\n\tfor(key in object) {\n\t\tproperty = object[key];\n\t\tif($tw.utils.hop(object,key) && (typeof property === \"object\") && !Object.isFrozen(property)) {\n\t\t\tdeepFreeze(property);\n\t\t}\n\t}\n};\n\nexports.slowInSlowOut = function(t) {\n\treturn (1 - ((Math.cos(t * Math.PI) + 1) / 2));\n};\n\nexports.formatDateString = function(date,template) {\n\tvar result = \"\",\n\t\tt = template,\n\t\tmatches = [\n\t\t\t[/^0hh12/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getHours12(date));\n\t\t\t}],\n\t\t\t[/^wYYYY/, function() {\n\t\t\t\treturn $tw.utils.getYearForWeekNo(date);\n\t\t\t}],\n\t\t\t[/^hh12/, function() {\n\t\t\t\treturn $tw.utils.getHours12(date);\n\t\t\t}],\n\t\t\t[/^DDth/, function() {\n\t\t\t\treturn date.getDate() + $tw.utils.getDaySuffix(date);\n\t\t\t}],\n\t\t\t[/^YYYY/, function() {\n\t\t\t\treturn date.getFullYear();\n\t\t\t}],\n\t\t\t[/^0hh/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getHours());\n\t\t\t}],\n\t\t\t[/^0mm/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMinutes());\n\t\t\t}],\n\t\t\t[/^0ss/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getSeconds());\n\t\t\t}],\n\t\t\t[/^0DD/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getDate());\n\t\t\t}],\n\t\t\t[/^0MM/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getMonth()+1);\n\t\t\t}],\n\t\t\t[/^0WW/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getWeek(date));\n\t\t\t}],\n\t\t\t[/^ddd/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^mmm/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Short/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^DDD/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Day/\" + date.getDay());\n\t\t\t}],\n\t\t\t[/^MMM/, function() {\n\t\t\t\treturn $tw.language.getString(\"Date/Long/Month/\" + (date.getMonth() + 1));\n\t\t\t}],\n\t\t\t[/^TZD/, function() {\n\t\t\t\tvar tz = date.getTimezoneOffset(),\n\t\t\t\tatz = Math.abs(tz);\n\t\t\t\treturn (tz < 0 ? '+' : '-') + $tw.utils.pad(Math.floor(atz / 60)) + ':' + $tw.utils.pad(atz % 60);\n\t\t\t}],\n\t\t\t[/^wYY/, function() {\n\t\t\t\treturn $tw.utils.pad($tw.utils.getYearForWeekNo(date) - 2000);\n\t\t\t}],\n\t\t\t[/^[ap]m/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toLowerCase();\n\t\t\t}],\n\t\t\t[/^hh/, function() {\n\t\t\t\treturn date.getHours();\n\t\t\t}],\n\t\t\t[/^mm/, function() {\n\t\t\t\treturn date.getMinutes();\n\t\t\t}],\n\t\t\t[/^ss/, function() {\n\t\t\t\treturn date.getSeconds();\n\t\t\t}],\n\t\t\t[/^[AP]M/, function() {\n\t\t\t\treturn $tw.utils.getAmPm(date).toUpperCase();\n\t\t\t}],\n\t\t\t[/^DD/, function() {\n\t\t\t\treturn date.getDate();\n\t\t\t}],\n\t\t\t[/^MM/, function() {\n\t\t\t\treturn date.getMonth() + 1;\n\t\t\t}],\n\t\t\t[/^WW/, function() {\n\t\t\t\treturn $tw.utils.getWeek(date);\n\t\t\t}],\n\t\t\t[/^YY/, function() {\n\t\t\t\treturn $tw.utils.pad(date.getFullYear() - 2000);\n\t\t\t}]\n\t\t];\n\twhile(t.length){\n\t\tvar matchString = \"\";\n\t\t$tw.utils.each(matches, function(m) {\n\t\t\tvar match = m[0].exec(t);\n\t\t\tif(match) {\n\t\t\t\tmatchString = m[1].call();\n\t\t\t\tt = t.substr(match[0].length);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif(matchString) {\n\t\t\tresult += matchString;\n\t\t} else {\n\t\t\tresult += t.charAt(0);\n\t\t\tt = t.substr(1);\n\t\t}\n\t}\n\tresult = result.replace(/\\\\(.)/g,\"$1\");\n\treturn result;\n};\n\nexports.getAmPm = function(date) {\n\treturn $tw.language.getString(\"Date/Period/\" + (date.getHours() >= 12 ? \"pm\" : \"am\"));\n};\n\nexports.getDaySuffix = function(date) {\n\treturn $tw.language.getString(\"Date/DaySuffix/\" + date.getDate());\n};\n\nexports.getWeek = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week to calculate weekNo\n\tvar n = Math.floor((dt.getTime()-new Date(dt.getFullYear(),0,1) + 3600000) / 86400000);\n\treturn Math.floor(n / 7) + 1;\n};\n\nexports.getYearForWeekNo = function(date) {\n\tvar dt = new Date(date.getTime());\n\tvar d = dt.getDay();\n\tif(d === 0) {\n\t\td = 7; // JavaScript Sun=0, ISO Sun=7\n\t}\n\tdt.setTime(dt.getTime() + (4 - d) * 86400000);// shift day to Thurs of same week\n\treturn dt.getFullYear();\n};\n\nexports.getHours12 = function(date) {\n\tvar h = date.getHours();\n\treturn h > 12 ? h-12 : ( h > 0 ? h : 12 );\n};\n\n/*\nConvert a date delta in milliseconds into a string representation of \"23 seconds ago\", \"27 minutes ago\" etc.\n\tdelta: delta in milliseconds\nReturns an object with these members:\n\tdescription: string describing the delta period\n\tupdatePeriod: time in millisecond until the string will be inaccurate\n*/\nexports.getRelativeDate = function(delta) {\n\tvar futurep = false;\n\tif(delta < 0) {\n\t\tdelta = -1 * delta;\n\t\tfuturep = true;\n\t}\n\tvar units = [\n\t\t{name: \"Years\",   duration:      365 * 24 * 60 * 60 * 1000},\n\t\t{name: \"Months\",  duration: (365/12) * 24 * 60 * 60 * 1000},\n\t\t{name: \"Days\",    duration:            24 * 60 * 60 * 1000},\n\t\t{name: \"Hours\",   duration:                 60 * 60 * 1000},\n\t\t{name: \"Minutes\", duration:                      60 * 1000},\n\t\t{name: \"Seconds\", duration:                           1000}\n\t];\n\tfor(var t=0; t<units.length; t++) {\n\t\tvar result = Math.floor(delta / units[t].duration);\n\t\tif(result >= 2) {\n\t\t\treturn {\n\t\t\t\tdelta: delta,\n\t\t\t\tdescription: $tw.language.getString(\n\t\t\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/\" + units[t].name,\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{period: result.toString()}\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t\tupdatePeriod: units[t].duration\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tdelta: delta,\n\t\tdescription: $tw.language.getString(\n\t\t\t\"RelativeDate/\" + (futurep ? \"Future\" : \"Past\") + \"/Second\",\n\t\t\t{variables:\n\t\t\t\t{period: \"1\"}\n\t\t\t}\n\t\t),\n\t\tupdatePeriod: 1000\n\t};\n};\n\n// Convert & to \"&amp;\", < to \"&lt;\", > to \"&gt;\", \" to \"&quot;\"\nexports.htmlEncode = function(s) {\n\tif(s) {\n\t\treturn s.toString().replace(/&/mg,\"&amp;\").replace(/</mg,\"&lt;\").replace(/>/mg,\"&gt;\").replace(/\\\"/mg,\"&quot;\");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n// Converts all HTML entities to their character equivalents\nexports.entityDecode = function(s) {\n\tvar converter = String.fromCodePoint || String.fromCharCode,\n\t\te = s.substr(1,s.length-2); // Strip the & and the ;\n\tif(e.charAt(0) === \"#\") {\n\t\tif(e.charAt(1) === \"x\" || e.charAt(1) === \"X\") {\n\t\t\treturn converter(parseInt(e.substr(2),16));\t\n\t\t} else {\n\t\t\treturn converter(parseInt(e.substr(1),10));\n\t\t}\n\t} else {\n\t\tvar c = $tw.config.htmlEntities[e];\n\t\tif(c) {\n\t\t\treturn converter(c);\n\t\t} else {\n\t\t\treturn s; // Couldn't convert it as an entity, just return it raw\n\t\t}\n\t}\n};\n\nexports.unescapeLineBreaks = function(s) {\n\treturn s.replace(/\\\\n/mg,\"\\n\").replace(/\\\\b/mg,\" \").replace(/\\\\s/mg,\"\\\\\").replace(/\\r/mg,\"\");\n};\n\n/*\n * Returns an escape sequence for given character. Uses \\x for characters <=\n * 0xFF to save space, \\u for the rest.\n *\n * The code needs to be in sync with th code template in the compilation\n * function for \"action\" nodes.\n */\n// Copied from peg.js, thanks to David Majda\nexports.escape = function(ch) {\n\tvar charCode = ch.charCodeAt(0);\n\tif(charCode <= 0xFF) {\n\t\treturn '\\\\x' + $tw.utils.pad(charCode.toString(16).toUpperCase());\n\t} else {\n\t\treturn '\\\\u' + $tw.utils.pad(charCode.toString(16).toUpperCase(),4);\n\t}\n};\n\n// Turns a string into a legal JavaScript string\n// Copied from peg.js, thanks to David Majda\nexports.stringify = function(s) {\n\t/*\n\t* ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a string\n\t* literal except for the closing quote character, backslash, carriage return,\n\t* line separator, paragraph separator, and line feed. Any character may\n\t* appear in the form of an escape sequence.\n\t*\n\t* For portability, we also escape all non-ASCII characters.\n\t*/\n\treturn (s || \"\")\n\t\t.replace(/\\\\/g, '\\\\\\\\')            // backslash\n\t\t.replace(/\"/g, '\\\\\"')              // double quote character\n\t\t.replace(/'/g, \"\\\\'\")              // single quote character\n\t\t.replace(/\\r/g, '\\\\r')             // carriage return\n\t\t.replace(/\\n/g, '\\\\n')             // line feed\n\t\t.replace(/[\\x80-\\uFFFF]/g, exports.escape); // non-ASCII characters\n};\n\n/*\nEscape the RegExp special characters with a preceding backslash\n*/\nexports.escapeRegExp = function(s) {\n    return s.replace(/[\\-\\/\\\\\\^\\$\\*\\+\\?\\.\\(\\)\\|\\[\\]\\{\\}]/g, '\\\\$&');\n};\n\n// Checks whether a link target is external, i.e. not a tiddler title\nexports.isLinkExternal = function(to) {\n\tvar externalRegExp = /^(?:file|http|https|mailto|ftp|irc|news|data|skype):[^\\s<>{}\\[\\]`|\"\\\\^]+(?:\\/|\\b)/i;\n\treturn externalRegExp.test(to);\n};\n\nexports.nextTick = function(fn) {\n/*global window: false */\n\tif(typeof process === \"undefined\") {\n\t\t// Apparently it would be faster to use postMessage - http://dbaron.org/log/20100309-faster-timeouts\n\t\twindow.setTimeout(fn,4);\n\t} else {\n\t\tprocess.nextTick(fn);\n\t}\n};\n\n/*\nConvert a hyphenated CSS property name into a camel case one\n*/\nexports.unHyphenateCss = function(propName) {\n\treturn propName.replace(/-([a-z])/gi, function(match0,match1) {\n\t\treturn match1.toUpperCase();\n\t});\n};\n\n/*\nConvert a camelcase CSS property name into a dashed one (\"backgroundColor\" --> \"background-color\")\n*/\nexports.hyphenateCss = function(propName) {\n\treturn propName.replace(/([A-Z])/g, function(match0,match1) {\n\t\treturn \"-\" + match1.toLowerCase();\n\t});\n};\n\n/*\nParse a text reference of one of these forms:\n* title\n* !!field\n* title!!field\n* title##index\n* etc\nReturns an object with the following fields, all optional:\n* title: tiddler title\n* field: tiddler field name\n* index: JSON property index\n*/\nexports.parseTextReference = function(textRef) {\n\t// Separate out the title, field name and/or JSON indices\n\tvar reTextRef = /(?:(.*?)!!(.+))|(?:(.*?)##(.+))|(.*)/mg,\n\t\tmatch = reTextRef.exec(textRef),\n\t\tresult = {};\n\tif(match && reTextRef.lastIndex === textRef.length) {\n\t\t// Return the parts\n\t\tif(match[1]) {\n\t\t\tresult.title = match[1];\n\t\t}\n\t\tif(match[2]) {\n\t\t\tresult.field = match[2];\n\t\t}\n\t\tif(match[3]) {\n\t\t\tresult.title = match[3];\n\t\t}\n\t\tif(match[4]) {\n\t\t\tresult.index = match[4];\n\t\t}\n\t\tif(match[5]) {\n\t\t\tresult.title = match[5];\n\t\t}\n\t} else {\n\t\t// If we couldn't parse it\n\t\tresult.title = textRef\n\t}\n\treturn result;\n};\n\n/*\nChecks whether a string is a valid fieldname\n*/\nexports.isValidFieldName = function(name) {\n\tif(!name || typeof name !== \"string\") {\n\t\treturn false;\n\t}\n\tname = name.toLowerCase().trim();\n\tvar fieldValidatorRegEx = /^[a-z0-9\\-\\._]+$/mg;\n\treturn fieldValidatorRegEx.test(name);\n};\n\n/*\nExtract the version number from the meta tag or from the boot file\n*/\n\n// Browser version\nexports.extractVersionInfo = function() {\n\tif($tw.packageInfo) {\n\t\treturn $tw.packageInfo.version;\n\t} else {\n\t\tvar metatags = document.getElementsByTagName(\"meta\");\n\t\tfor(var t=0; t<metatags.length; t++) {\n\t\t\tvar m = metatags[t];\n\t\t\tif(m.name === \"tiddlywiki-version\") {\n\t\t\t\treturn m.content;\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the animation duration in ms\n*/\nexports.getAnimationDuration = function() {\n\treturn parseInt($tw.wiki.getTiddlerText(\"$:/config/AnimationDuration\",\"400\"),10);\n};\n\n/*\nHash a string to a number\nDerived from http://stackoverflow.com/a/15710692\n*/\nexports.hashString = function(str) {\n\treturn str.split(\"\").reduce(function(a,b) {\n\t\ta = ((a << 5) - a) + b.charCodeAt(0);\n\t\treturn a & a;\n\t},0);\n};\n\n/*\nDecode a base64 string\n*/\nexports.base64Decode = function(string64) {\n\tif($tw.browser) {\n\t\t// TODO\n\t\tthrow \"$tw.utils.base64Decode() doesn't work in the browser\";\n\t} else {\n\t\treturn (new Buffer(string64,\"base64\")).toString();\n\t}\n};\n\n/*\nConvert a hashmap into a tiddler dictionary format sequence of name:value pairs\n*/\nexports.makeTiddlerDictionary = function(data) {\n\tvar output = [];\n\tfor(var name in data) {\n\t\toutput.push(name + \": \" + data[name]);\n\t}\n\treturn output.join(\"\\n\");\n};\n\n/*\nHigh resolution microsecond timer for profiling\n*/\nexports.timer = function(base) {\n\tvar m;\n\tif($tw.node) {\n\t\tvar r = process.hrtime();\t\t\n\t\tm =  r[0] * 1e3 + (r[1] / 1e6);\n\t} else if(window.performance) {\n\t\tm = performance.now();\n\t} else {\n\t\tm = Date.now();\n\t}\n\tif(typeof base !== \"undefined\") {\n\t\tm = m - base;\n\t}\n\treturn m;\n};\n\n/*\nConvert text and content type to a data URI\n*/\nexports.makeDataUri = function(text,type) {\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar typeInfo = $tw.config.contentTypeInfo[type] || $tw.config.contentTypeInfo[\"text/plain\"],\n\t\tisBase64 = typeInfo.encoding === \"base64\",\n\t\tparts = [];\n\tparts.push(\"data:\");\n\tparts.push(type);\n\tparts.push(isBase64 ? \";base64\" : \"\");\n\tparts.push(\",\");\n\tparts.push(isBase64 ? text : encodeURIComponent(text));\n\treturn parts.join(\"\");\n};\n\n/*\nUseful for finding out the fully escaped CSS selector equivalent to a given tag. For example:\n\n$tw.utils.tagToCssSelector(\"$:/tags/Stylesheet\") --> tc-tagged-\\%24\\%3A\\%2Ftags\\%2FStylesheet\n*/\nexports.tagToCssSelector = function(tagName) {\n\treturn \"tc-tagged-\" + encodeURIComponent(tagName).replace(/[!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^`{\\|}~,]/mg,function(c) {\n\t\treturn \"\\\\\" + c;\n\t});\n};\n\n\n/*\nIE does not have sign function\n*/\nexports.sign = Math.sign || function(x) {\n\tx = +x; // convert to a number\n\tif (x === 0 || isNaN(x)) {\n\t\treturn x;\n\t}\n\treturn x > 0 ? 1 : -1;\n};\n\n/*\nIE does not have an endsWith function\n*/\nexports.strEndsWith = function(str,ending,position) {\n\tif(str.endsWith) {\n\t\treturn str.endsWith(ending,position);\n\t} else {\n\t\tif (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > str.length) {\n\t\t\tposition = str.length;\n\t\t}\n\t\tposition -= str.length;\n\t\tvar lastIndex = str.indexOf(ending, position);\n\t\treturn lastIndex !== -1 && lastIndex === position;\n\t}\n};\n\n})();\n",
            "title": "$:/core/modules/utils/utils.js",
            "type": "application/javascript",
            "module-type": "utils"
        },
        "$:/core/modules/widgets/action-deletefield.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-deletefield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete fields of a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\ttiddler = this.wiki.getTiddler(self.actionTiddler),\n\t\tremoveFields = {};\n\tif(this.actionField) {\n\t\tremoveFields[this.actionField] = undefined;\n\t}\n\tif(tiddler) {\n\t\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\t\tif(name.charAt(0) !== \"$\" && name !== \"title\") {\n\t\t\t\tremoveFields[name] = undefined;\n\t\t\t}\n\t\t});\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,removeFields,this.wiki.getCreationFields()));\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletefield\"] = DeleteFieldWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/action-deletefield.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-deletetiddler.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-deletetiddler.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to delete a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DeleteTiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDeleteTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDeleteTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nDeleteTiddlerWidget.prototype.execute = function() {\n\tthis.actionFilter = this.getAttribute(\"$filter\");\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nDeleteTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$filter\"] || changedAttributes[\"$tiddler\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nDeleteTiddlerWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar tiddlers = [];\n\tif(this.actionFilter) {\n\t\ttiddlers = this.wiki.filterTiddlers(this.actionFilter,this);\n\t}\n\tif(this.actionTiddler) {\n\t\ttiddlers.push(this.actionTiddler);\n\t}\n\tfor(var t=0; t<tiddlers.length; t++) {\n\t\tthis.wiki.deleteTiddler(tiddlers[t]);\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-deletetiddler\"] = DeleteTiddlerWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/action-deletetiddler.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-listops.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-listops.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to apply list operations to any tiddler field (defaults to the 'list' field of the current tiddler)\n\n\\*/\n(function() {\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar ActionListopsWidget = function(parseTreeNode, options) {\n\tthis.initialise(parseTreeNode, options);\n};\n/**\n * Inherit from the base widget class\n */\nActionListopsWidget.prototype = new Widget();\n/**\n * Render this widget into the DOM\n */\nActionListopsWidget.prototype.render = function(parent, nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n/**\n * Compute the internal state of the widget\n */\nActionListopsWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.target = this.getAttribute(\"$tiddler\", this.getVariable(\n\t\t\"currentTiddler\"));\n\tthis.filter = this.getAttribute(\"$filter\");\n\tthis.subfilter = this.getAttribute(\"$subfilter\");\n\tthis.listField = this.getAttribute(\"$field\", \"list\");\n\tthis.listIndex = this.getAttribute(\"$index\");\n\tthis.filtertags = this.getAttribute(\"$tags\");\n};\n/**\n * \tRefresh the widget by ensuring our attributes are up to date\n */\nActionListopsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.$tiddler || changedAttributes.$filter ||\n\t\tchangedAttributes.$subfilter || changedAttributes.$field ||\n\t\tchangedAttributes.$index || changedAttributes.$tags) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n/**\n * \tInvoke the action associated with this widget\n */\nActionListopsWidget.prototype.invokeAction = function(triggeringWidget,\n\tevent) {\n\t//Apply the specified filters to the lists\n\tvar field = this.listField,\n\t\tindex,\n\t\ttype = \"!!\",\n\t\tlist = this.listField;\n\tif(this.listIndex) {\n\t\tfield = undefined;\n\t\tindex = this.listIndex;\n\t\ttype = \"##\";\n\t\tlist = this.listIndex;\n\t}\n\tif(this.filter) {\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(this.filter, this)));\n\t}\n\tif(this.subfilter) {\n\t\tvar subfilter = \"[list[\" + this.target + type + list + \"]] \" + this.subfilter;\n\t\tthis.wiki.setText(this.target, field, index, $tw.utils.stringifyList(\n\t\t\tthis.wiki\n\t\t\t.filterTiddlers(subfilter, this)));\n\t}\n\tif(this.filtertags) {\n\t\tvar tagfilter = \"[list[\" + this.target + \"!!tags]] \" + this.filtertags;\n\t\tthis.wiki.setText(this.target, \"tags\", undefined, $tw.utils.stringifyList(\n\t\t\tthis.wiki.filterTiddlers(tagfilter, this)));\n\t}\n\treturn true; // Action was invoked\n};\n\nexports[\"action-listops\"] = ActionListopsWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/action-listops.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-navigate.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-navigate.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to navigate to a tiddler\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigateWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigateWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigateWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigateWidget.prototype.execute = function() {\n\tthis.actionTo = this.getAttribute(\"$to\");\n\tthis.actionScroll = this.getAttribute(\"$scroll\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nNavigateWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$to\"] || changedAttributes[\"$scroll\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nNavigateWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar bounds = triggeringWidget && triggeringWidget.getBoundingClientRect && triggeringWidget.getBoundingClientRect(),\n\t\tsuppressNavigation = event.metaKey || event.ctrlKey || (event.button === 1);\n\tif(this.actionScroll === \"yes\") {\n\t\tsuppressNavigation = false;\n\t} else if(this.actionScroll === \"no\") {\n\t\tsuppressNavigation = true;\n\t}\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.actionTo === undefined ? this.getVariable(\"currentTiddler\") : this.actionTo,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: triggeringWidget,\n\t\tnavigateFromClientRect: bounds && { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: suppressNavigation\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-navigate\"] = NavigateWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/action-navigate.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-sendmessage.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-sendmessage.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to send a message\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SendMessageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSendMessageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSendMessageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSendMessageWidget.prototype.execute = function() {\n\tthis.actionMessage = this.getAttribute(\"$message\");\n\tthis.actionParam = this.getAttribute(\"$param\");\n\tthis.actionName = this.getAttribute(\"$name\");\n\tthis.actionValue = this.getAttribute(\"$value\",\"\");\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSendMessageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSendMessageWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\t// Get the string parameter\n\tvar param = this.actionParam;\n\t// Assemble the attributes as a hashmap\n\tvar paramObject = Object.create(null);\n\tvar count = 0;\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparamObject[name] = attribute;\n\t\t\tcount++;\n\t\t}\n\t});\n\t// Add name/value pair if present\n\tif(this.actionName) {\n\t\tparamObject[this.actionName] = this.actionValue;\n\t}\n\t// Dispatch the message\n\tthis.dispatchEvent({\n\t\ttype: this.actionMessage,\n\t\tparam: param,\n\t\tparamObject: paramObject,\n\t\ttiddlerTitle: this.getVariable(\"currentTiddler\"),\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\")\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-sendmessage\"] = SendMessageWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/action-sendmessage.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/action-setfield.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/action-setfield.js\ntype: application/javascript\nmodule-type: widget\n\nAction widget to set a single field or index on a tiddler.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetFieldWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetFieldWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetFieldWidget.prototype.render = function(parent,nextSibling) {\n\tthis.computeAttributes();\n\tthis.execute();\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetFieldWidget.prototype.execute = function() {\n\tthis.actionTiddler = this.getAttribute(\"$tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.actionField = this.getAttribute(\"$field\");\n\tthis.actionIndex = this.getAttribute(\"$index\");\n\tthis.actionValue = this.getAttribute(\"$value\");\n\tthis.actionTimestamp = this.getAttribute(\"$timestamp\",\"yes\") === \"yes\";\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nSetFieldWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"$tiddler\"] || changedAttributes[\"$field\"] || changedAttributes[\"$index\"] || changedAttributes[\"$value\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nInvoke the action associated with this widget\n*/\nSetFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {\n\tvar self = this,\n\t\toptions = {};\n\toptions.suppressTimestamp = !this.actionTimestamp;\n\tif((typeof this.actionField == \"string\") || (typeof this.actionIndex == \"string\")  || (typeof this.actionValue == \"string\")) {\n\t\tthis.wiki.setText(this.actionTiddler,this.actionField,this.actionIndex,this.actionValue,options);\n\t}\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tself.wiki.setText(self.actionTiddler,name,undefined,attribute,options);\n\t\t}\n\t});\n\treturn true; // Action was invoked\n};\n\nexports[\"action-setfield\"] = SetFieldWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/action-setfield.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/browse.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/browse.js\ntype: application/javascript\nmodule-type: widget\n\nBrowse widget for browsing for files to import\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar BrowseWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nBrowseWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nBrowseWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"file\");\n\tif(this.browseMultiple) {\n\t\tdomNode.setAttribute(\"multiple\",\"multiple\");\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\t// Nw.js supports \"nwsaveas\" to force a \"save as\" dialogue that allows a new or existing file to be selected\n\tif(this.nwsaveas) {\n\t\tdomNode.setAttribute(\"nwsaveas\",this.nwsaveas);\n\t}\n\t// Nw.js supports \"webkitdirectory\" to allow a directory to be selected\n\tif(this.webkitdirectory) {\n\t\tdomNode.setAttribute(\"webkitdirectory\",this.webkitdirectory);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"change\",function (event) {\n\t\tif(self.message) {\n\t\t\tself.dispatchEvent({type: self.message, param: self.param, files: event.target.files});\n\t\t} else {\n\t\t\tself.wiki.readFiles(event.target.files,function(tiddlerFieldsArray) {\n\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t});\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nBrowseWidget.prototype.execute = function() {\n\tthis.browseMultiple = this.getAttribute(\"multiple\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.nwsaveas = this.getAttribute(\"nwsaveas\");\n\tthis.webkitdirectory = this.getAttribute(\"webkitdirectory\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nBrowseWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.browse = BrowseWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/browse.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/button.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/button.js\ntype: application/javascript\nmodule-type: widget\n\nButton widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ButtonWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nButtonWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nButtonWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar tag = \"button\";\n\tif(this.buttonTag && $tw.config.htmlUnsafeElements.indexOf(this.buttonTag) === -1) {\n\t\ttag = this.buttonTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = this[\"class\"].split(\" \") || [],\n\t\tisPoppedUp = this.popup && this.isPoppedUp();\n\tif(this.selectedClass) {\n\t\tif(this.set && this.setTo && this.isSelected()) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t\tif(isPoppedUp) {\n\t\t\t$tw.utils.pushTop(classes,this.selectedClass.split(\" \"));\n\t\t}\n\t}\n\tif(isPoppedUp) {\n\t\t$tw.utils.pushTop(classes,\"tc-popup-handle\");\n\t}\n\tdomNode.className = classes.join(\" \");\n\t// Assign other attributes\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tif(this.tooltip) {\n\t\tdomNode.setAttribute(\"title\",this.tooltip);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\tdomNode.addEventListener(\"click\",function (event) {\n\t\tvar handled = false;\n\t\tif(self.invokeActions(this,event)) {\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.to) {\n\t\t\tself.navigateTo(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.message) {\n\t\t\tself.dispatchMessage(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.popup) {\n\t\t\tself.triggerPopup(event);\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.set) {\n\t\t\tself.setTiddler();\n\t\t\thandled = true;\n\t\t}\n\t\tif(self.actions) {\n\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t}\n\t\tif(handled) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\treturn handled;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nWe don't allow actions to propagate because we trigger actions ourselves\n*/\nButtonWidget.prototype.allowActionPropagation = function() {\n\treturn false;\n};\n\nButtonWidget.prototype.getBoundingClientRect = function() {\n\treturn this.domNodes[0].getBoundingClientRect();\n};\n\nButtonWidget.prototype.isSelected = function() {\n    return this.wiki.getTextReference(this.set,this.defaultSetValue,this.getVariable(\"currentTiddler\")) === this.setTo;\n};\n\nButtonWidget.prototype.isPoppedUp = function() {\n\tvar tiddler = this.wiki.getTiddler(this.popup);\n\tvar result = tiddler && tiddler.fields.text ? $tw.popup.readPopupState(tiddler.fields.text) : false;\n\treturn result;\n};\n\nButtonWidget.prototype.navigateTo = function(event) {\n\tvar bounds = this.getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1)\n\t});\n};\n\nButtonWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\nButtonWidget.prototype.triggerPopup = function(event) {\n\t$tw.popup.triggerPopup({\n\t\tdomNode: this.domNodes[0],\n\t\ttitle: this.popup,\n\t\twiki: this.wiki\n\t});\n};\n\nButtonWidget.prototype.setTiddler = function() {\n\tthis.wiki.setTextReference(this.set,this.setTo,this.getVariable(\"currentTiddler\"));\n};\n\n/*\nCompute the internal state of the widget\n*/\nButtonWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.to = this.getAttribute(\"to\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.set = this.getAttribute(\"set\");\n\tthis.setTo = this.getAttribute(\"setTo\");\n\tthis.popup = this.getAttribute(\"popup\");\n\tthis.hover = this.getAttribute(\"hover\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis.style = this.getAttribute(\"style\");\n\tthis.selectedClass = this.getAttribute(\"selectedClass\");\n\tthis.defaultSetValue = this.getAttribute(\"default\",\"\");\n\tthis.buttonTag = this.getAttribute(\"tag\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nButtonWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes[\"class\"] || changedAttributes.selectedClass || changedAttributes.style || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup])) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.button = ButtonWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/button.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/checkbox.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/checkbox.js\ntype: application/javascript\nmodule-type: widget\n\nCheckbox widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CheckboxWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCheckboxWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCheckboxWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",this.checkboxClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"checkbox\");\n\tif(this.getValue()) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nCheckboxWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.checkboxTitle);\n\tif(tiddler) {\n\t\tif(this.checkboxTag) {\n\t\t\tif(this.checkboxInvertTag) {\n\t\t\t\treturn !tiddler.hasTag(this.checkboxTag);\n\t\t\t} else {\n\t\t\t\treturn tiddler.hasTag(this.checkboxTag);\n\t\t\t}\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tvar value = tiddler.fields[this.checkboxField] || this.checkboxDefault || \"\";\n\t\t\tif(value === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(value === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif(this.checkboxTag) {\n\t\t\treturn false;\n\t\t}\n\t\tif(this.checkboxField) {\n\t\t\tif(this.checkboxDefault === this.checkboxChecked) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(this.checkboxDefault === this.checkboxUnchecked) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\nCheckboxWidget.prototype.handleChangeEvent = function(event) {\n\tvar checked = this.inputDomNode.checked,\n\t\ttiddler = this.wiki.getTiddler(this.checkboxTitle),\n\t\tfallbackFields = {text: \"\"},\n\t\tnewFields = {title: this.checkboxTitle},\n\t\thasChanged = false,\n\t\ttagCheck = false,\n\t\thasTag = tiddler && tiddler.hasTag(this.checkboxTag);\n\tif(this.checkboxTag && this.checkboxInvertTag === \"yes\") {\n\t\ttagCheck = hasTag === checked;\n\t} else {\n\t\ttagCheck = hasTag !== checked;\n\t}\n\t// Set the tag if specified\n\tif(this.checkboxTag && (!tiddler || tagCheck)) {\n\t\tnewFields.tags = tiddler ? (tiddler.fields.tags || []).slice(0) : [];\n\t\tvar pos = newFields.tags.indexOf(this.checkboxTag);\n\t\tif(pos !== -1) {\n\t\t\tnewFields.tags.splice(pos,1);\n\t\t}\n\t\tif(this.checkboxInvertTag === \"yes\" && !checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t} else if(this.checkboxInvertTag !== \"yes\" && checked) {\n\t\t\tnewFields.tags.push(this.checkboxTag);\n\t\t}\n\t\thasChanged = true;\n\t}\n\t// Set the field if specified\n\tif(this.checkboxField) {\n\t\tvar value = checked ? this.checkboxChecked : this.checkboxUnchecked;\n\t\tif(!tiddler || tiddler.fields[this.checkboxField] !== value) {\n\t\t\tnewFields[this.checkboxField] = value;\n\t\t\thasChanged = true;\n\t\t}\n\t}\n\tif(hasChanged) {\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),fallbackFields,tiddler,newFields,this.wiki.getModificationFields()));\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCheckboxWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.checkboxTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.checkboxTag = this.getAttribute(\"tag\");\n\tthis.checkboxField = this.getAttribute(\"field\");\n\tthis.checkboxChecked = this.getAttribute(\"checked\");\n\tthis.checkboxUnchecked = this.getAttribute(\"unchecked\");\n\tthis.checkboxDefault = this.getAttribute(\"default\");\n\tthis.checkboxClass = this.getAttribute(\"class\",\"\");\n\tthis.checkboxInvertTag = this.getAttribute(\"invertTag\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCheckboxWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.checked || changedAttributes.unchecked || changedAttributes[\"default\"] || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.checkboxTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue();\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.checkbox = CheckboxWidget;\n\n})();",
            "title": "$:/core/modules/widgets/checkbox.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/codeblock.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/codeblock.js\ntype: application/javascript\nmodule-type: widget\n\nCode block node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CodeBlockWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCodeBlockWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCodeBlockWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar codeNode = this.document.createElement(\"code\"),\n\t\tdomNode = this.document.createElement(\"pre\");\n\tcodeNode.appendChild(this.document.createTextNode(this.getAttribute(\"code\")));\n\tdomNode.appendChild(codeNode);\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n\tif(this.postRender) {\n\t\tthis.postRender();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nCodeBlockWidget.prototype.execute = function() {\n\tthis.language = this.getAttribute(\"language\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCodeBlockWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.codeblock = CodeBlockWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/codeblock.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/count.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/count.js\ntype: application/javascript\nmodule-type: widget\n\nCount widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar CountWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nCountWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nCountWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.currentCount);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nCountWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Execute the filter\n\tif(this.filter) {\n\t\tthis.currentCount = this.wiki.filterTiddlers(this.filter,this).length;\n\t} else {\n\t\tthis.currentCount = undefined;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nCountWidget.prototype.refresh = function(changedTiddlers) {\n\t// Re-execute the filter to get the count\n\tthis.computeAttributes();\n\tvar oldCount = this.currentCount;\n\tthis.execute();\n\tif(this.currentCount !== oldCount) {\n\t\t// Regenerate and rerender the widget and replace the existing DOM node\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n\n};\n\nexports.count = CountWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/count.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/dropzone.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/dropzone.js\ntype: application/javascript\nmodule-type: widget\n\nDropzone widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar DropZoneWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nDropZoneWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nDropZoneWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\tdomNode.className = \"tc-dropzone\";\n\t// Add event handlers\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"dragenter\", handlerObject: this, handlerMethod: \"handleDragEnterEvent\"},\n\t\t{name: \"dragover\", handlerObject: this, handlerMethod: \"handleDragOverEvent\"},\n\t\t{name: \"dragleave\", handlerObject: this, handlerMethod: \"handleDragLeaveEvent\"},\n\t\t{name: \"drop\", handlerObject: this, handlerMethod: \"handleDropEvent\"},\n\t\t{name: \"paste\", handlerObject: this, handlerMethod: \"handlePasteEvent\"}\n\t]);\n\tdomNode.addEventListener(\"click\",function (event) {\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nDropZoneWidget.prototype.enterDrag = function() {\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\t// We count enter/leave events\n\tthis.dragEnterCount = (this.dragEnterCount || 0) + 1;\n\t// If we're entering for the first time we need to apply highlighting\n\tif(this.dragEnterCount === 1) {\n\t\t$tw.utils.addClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDropZoneWidget.prototype.leaveDrag = function() {\n\t// Reduce the enter count\n\tthis.dragEnterCount = (this.dragEnterCount || 0) - 1;\n\t// Remove highlighting if we're leaving externally\n\tif(this.dragEnterCount <= 0) {\n\t\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t}\n};\n\nDropZoneWidget.prototype.handleDragEnterEvent  = function(event) {\n\tthis.enterDrag();\n\t// Tell the browser that we're ready to handle the drop\n\tevent.preventDefault();\n\t// Tell the browser not to ripple the drag up to any parent drop handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.handleDragOverEvent  = function(event) {\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\t// Tell the browser that we're still interested in the drop\n\tevent.preventDefault();\n\tevent.dataTransfer.dropEffect = \"copy\"; // Explicitly show this is a copy\n};\n\nDropZoneWidget.prototype.handleDragLeaveEvent  = function(event) {\n\tthis.leaveDrag();\n};\n\nDropZoneWidget.prototype.handleDropEvent  = function(event) {\n\tthis.leaveDrag();\n\t// Check for being over a TEXTAREA or INPUT\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) !== -1) {\n\t\treturn false;\n\t}\n\t// Check for this window being the source of the drag\n\tif($tw.dragInProgress) {\n\t\treturn false;\n\t}\n\tvar self = this,\n\t\tdataTransfer = event.dataTransfer;\n\t// Reset the enter count\n\tthis.dragEnterCount = 0;\n\t// Remove highlighting\n\t$tw.utils.removeClass(this.domNodes[0],\"tc-dragover\");\n\t// Import any files in the drop\n\tvar numFiles = this.wiki.readFiles(dataTransfer.files,function(tiddlerFieldsArray) {\n\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t});\n\t// Try to import the various data types we understand\n\tif(numFiles === 0) {\n\t\tthis.importData(dataTransfer);\n\t}\n\t// Tell the browser that we handled the drop\n\tevent.preventDefault();\n\t// Stop the drop ripple up to any parent handlers\n\tevent.stopPropagation();\n};\n\nDropZoneWidget.prototype.importData = function(dataTransfer) {\n\t// Try each provided data type in turn\n\tfor(var t=0; t<this.importDataTypes.length; t++) {\n\t\tif(!$tw.browser.isIE || this.importDataTypes[t].IECompatible) {\n\t\t\t// Get the data\n\t\t\tvar dataType = this.importDataTypes[t];\n\t\t\t\tvar data = dataTransfer.getData(dataType.type);\n\t\t\t// Import the tiddlers in the data\n\t\t\tif(data !== \"\" && data !== null) {\n\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\tconsole.log(\"Importing data type '\" + dataType.type + \"', data: '\" + data + \"'\")\n\t\t\t\t}\n\t\t\t\tvar tiddlerFields = dataType.convertToFields(data);\n\t\t\t\tif(!tiddlerFields.title) {\n\t\t\t\t\ttiddlerFields.title = this.wiki.generateNewTitle(\"Untitled\");\n\t\t\t\t}\n\t\t\t\tthis.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify([tiddlerFields])});\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n};\n\nDropZoneWidget.prototype.importDataTypes = [\n\t{type: \"text/vnd.tiddler\", IECompatible: false, convertToFields: function(data) {\n\t\treturn JSON.parse(data);\n\t}},\n\t{type: \"URL\", IECompatible: true, convertToFields: function(data) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn JSON.parse(match[1]);\n\t\t} else {\n\t\t\treturn { // As URL string\n\t\t\t\ttext: data\n\t\t\t};\n\t\t}\n\t}},\n\t{type: \"text/x-moz-url\", IECompatible: false, convertToFields: function(data) {\n\t\t// Check for tiddler data URI\n\t\tvar match = decodeURIComponent(data).match(/^data\\:text\\/vnd\\.tiddler,(.*)/i);\n\t\tif(match) {\n\t\t\treturn JSON.parse(match[1]);\n\t\t} else {\n\t\t\treturn { // As URL string\n\t\t\t\ttext: data\n\t\t\t};\n\t\t}\n\t}},\n\t{type: \"text/html\", IECompatible: false, convertToFields: function(data) {\n\t\treturn {\n\t\t\ttext: data\n\t\t};\n\t}},\n\t{type: \"text/plain\", IECompatible: false, convertToFields: function(data) {\n\t\treturn {\n\t\t\ttext: data\n\t\t};\n\t}},\n\t{type: \"Text\", IECompatible: true, convertToFields: function(data) {\n\t\treturn {\n\t\t\ttext: data\n\t\t};\n\t}},\n\t{type: \"text/uri-list\", IECompatible: false, convertToFields: function(data) {\n\t\treturn {\n\t\t\ttext: data\n\t\t};\n\t}}\n];\n\nDropZoneWidget.prototype.handlePasteEvent  = function(event) {\n\t// Let the browser handle it if we're in a textarea or input box\n\tif([\"TEXTAREA\",\"INPUT\"].indexOf(event.target.tagName) == -1) {\n\t\tvar self = this,\n\t\t\titems = event.clipboardData.items;\n\t\t// Enumerate the clipboard items\n\t\tfor(var t = 0; t<items.length; t++) {\n\t\t\tvar item = items[t];\n\t\t\tif(item.kind === \"file\") {\n\t\t\t\t// Import any files\n\t\t\t\tthis.wiki.readFile(item.getAsFile(),function(tiddlerFieldsArray) {\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify(tiddlerFieldsArray)});\n\t\t\t\t});\n\t\t\t} else if(item.kind === \"string\") {\n\t\t\t\t// Create tiddlers from string items\n\t\t\t\tvar type = item.type;\n\t\t\t\titem.getAsString(function(str) {\n\t\t\t\t\tvar tiddlerFields = {\n\t\t\t\t\t\ttitle: self.wiki.generateNewTitle(\"Untitled\"),\n\t\t\t\t\t\ttext: str,\n\t\t\t\t\t\ttype: type\n\t\t\t\t\t};\n\t\t\t\t\tif($tw.log.IMPORT) {\n\t\t\t\t\t\tconsole.log(\"Importing string '\" + str + \"', type: '\" + type + \"'\");\n\t\t\t\t\t}\n\t\t\t\t\tself.dispatchEvent({type: \"tm-import-tiddlers\", param: JSON.stringify([tiddlerFields])});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\t// Tell the browser that we've handled the paste\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nDropZoneWidget.prototype.execute = function() {\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nDropZoneWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.dropzone = DropZoneWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/dropzone.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit-binary.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit-binary.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-binary widget; placeholder for editing binary tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar BINARY_WARNING_MESSAGE = \"$:/core/ui/BinaryWarning\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBinaryWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBinaryWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBinaryWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBinaryWidget.prototype.execute = function() {\n\t// Construct the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"transclude\",\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: BINARY_WARNING_MESSAGE}\n\t\t}\n\t}]);\n};\n\n/*\nRefresh by refreshing our child widget\n*/\nEditBinaryWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"edit-binary\"] = EditBinaryWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/edit-binary.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit-bitmap.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit-bitmap.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-bitmap widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n// Default image sizes\nvar DEFAULT_IMAGE_WIDTH = 600,\n\tDEFAULT_IMAGE_HEIGHT = 370;\n\n// Configuration tiddlers\nvar LINE_WIDTH_TITLE = \"$:/config/BitmapEditor/LineWidth\",\n\tLINE_COLOUR_TITLE = \"$:/config/BitmapEditor/Colour\",\n\tLINE_OPACITY_TITLE = \"$:/config/BitmapEditor/Opacity\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditBitmapWidget = function(parseTreeNode,options) {\n\t// Initialise the editor operations if they've not been done already\n\tif(!this.editorOperations) {\n\t\tEditBitmapWidget.prototype.editorOperations = {};\n\t\t$tw.modules.applyMethods(\"bitmapeditoroperation\",this.editorOperations);\n\t}\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditBitmapWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditBitmapWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create the wrapper for the toolbar and render its content\n\tthis.toolbarNode = this.document.createElement(\"div\");\n\tthis.toolbarNode.className = \"tc-editor-toolbar\";\n\tparent.insertBefore(this.toolbarNode,nextSibling);\n\tthis.domNodes.push(this.toolbarNode);\n\t// Create the on-screen canvas\n\tthis.canvasDomNode = $tw.utils.domMaker(\"canvas\",{\n\t\tdocument: this.document,\n\t\t\"class\":\"tc-edit-bitmapeditor\",\n\t\teventListeners: [{\n\t\t\tname: \"touchstart\", handlerObject: this, handlerMethod: \"handleTouchStartEvent\"\n\t\t},{\n\t\t\tname: \"touchmove\", handlerObject: this, handlerMethod: \"handleTouchMoveEvent\"\n\t\t},{\n\t\t\tname: \"touchend\", handlerObject: this, handlerMethod: \"handleTouchEndEvent\"\n\t\t},{\n\t\t\tname: \"mousedown\", handlerObject: this, handlerMethod: \"handleMouseDownEvent\"\n\t\t},{\n\t\t\tname: \"mousemove\", handlerObject: this, handlerMethod: \"handleMouseMoveEvent\"\n\t\t},{\n\t\t\tname: \"mouseup\", handlerObject: this, handlerMethod: \"handleMouseUpEvent\"\n\t\t}]\n\t});\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Render toolbar child widgets\n\tthis.renderChildren(this.toolbarNode,null);\n\t// // Insert the elements into the DOM\n\tparent.insertBefore(this.canvasDomNode,nextSibling);\n\tthis.domNodes.push(this.canvasDomNode);\n\t// Load the image into the canvas\n\tif($tw.browser) {\n\t\tthis.loadCanvas();\n\t}\n\t// Add widget message listeners\n\tthis.addEventListeners([\n\t\t{type: \"tm-edit-bitmap-operation\", handler: \"handleEditBitmapOperationMessage\"}\n\t]);\n};\n\n/*\nHandle an edit bitmap operation message from the toolbar\n*/\nEditBitmapWidget.prototype.handleEditBitmapOperationMessage = function(event) {\n\t// Invoke the handler\n\tvar handler = this.editorOperations[event.param];\n\tif(handler) {\n\t\thandler.call(this,event);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditBitmapWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nJust refresh the toolbar\n*/\nEditBitmapWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nSet the bitmap size variables and refresh the toolbar\n*/\nEditBitmapWidget.prototype.refreshToolbar = function() {\n\t// Set the width and height variables\n\tthis.setVariable(\"tv-bitmap-editor-width\",this.canvasDomNode.width + \"px\");\n\tthis.setVariable(\"tv-bitmap-editor-height\",this.canvasDomNode.height + \"px\");\n\t// Refresh each of our child widgets\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.refreshSelf();\n\t});\n};\n\nEditBitmapWidget.prototype.loadCanvas = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle),\n\t\tcurrImage = new Image();\n\t// Set up event handlers for loading the image\n\tvar self = this;\n\tcurrImage.onload = function() {\n\t\t// Copy the image to the on-screen canvas\n\t\tself.initCanvas(self.canvasDomNode,currImage.width,currImage.height,currImage);\n\t\t// And also copy the current bitmap to the off-screen canvas\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,currImage.width,currImage.height,currImage);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\tcurrImage.onerror = function() {\n\t\t// Set the on-screen canvas size and clear it\n\t\tself.initCanvas(self.canvasDomNode,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the off-screen canvas size and clear it\n\t\tself.currCanvas = self.document.createElement(\"canvas\");\n\t\tself.initCanvas(self.currCanvas,DEFAULT_IMAGE_WIDTH,DEFAULT_IMAGE_HEIGHT);\n\t\t// Set the width and height input boxes\n\t\tself.refreshToolbar();\n\t};\n\t// Get the current bitmap into an image object\n\tcurrImage.src = \"data:\" + tiddler.fields.type + \";base64,\" + tiddler.fields.text;\n};\n\nEditBitmapWidget.prototype.initCanvas = function(canvas,width,height,image) {\n\tcanvas.width = width;\n\tcanvas.height = height;\n\tvar ctx = canvas.getContext(\"2d\");\n\tif(image) {\n\t\tctx.drawImage(image,0,0);\n\t} else {\n\t\tctx.fillStyle = \"#fff\";\n\t\tctx.fillRect(0,0,canvas.width,canvas.height);\n\t}\n};\n\n/*\n** Change the size of the canvas, preserving the current image\n*/\nEditBitmapWidget.prototype.changeCanvasSize = function(newWidth,newHeight) {\n\t// Create and size a new canvas\n\tvar newCanvas = this.document.createElement(\"canvas\");\n\tthis.initCanvas(newCanvas,newWidth,newHeight);\n\t// Copy the old image\n\tvar ctx = newCanvas.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Set the new canvas as the current one\n\tthis.currCanvas = newCanvas;\n\t// Set the size of the onscreen canvas\n\tthis.canvasDomNode.width = newWidth;\n\tthis.canvasDomNode.height = newHeight;\n\t// Paint the onscreen canvas with the offscreen canvas\n\tctx = this.canvasDomNode.getContext(\"2d\");\n\tctx.drawImage(this.currCanvas,0,0);\n};\n\nEditBitmapWidget.prototype.handleTouchStartEvent = function(event) {\n\tthis.brushDown = true;\n\tthis.strokeStart(event.touches[0].clientX,event.touches[0].clientY);\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.touches[0].clientX,event.touches[0].clientY);\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleTouchEndEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t}\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseDownEvent = function(event) {\n\tthis.strokeStart(event.clientX,event.clientY);\n\tthis.brushDown = true;\n\tevent.preventDefault();\n\tevent.stopPropagation();\n\treturn false;\n};\n\nEditBitmapWidget.prototype.handleMouseMoveEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.strokeMove(event.clientX,event.clientY);\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.handleMouseUpEvent = function(event) {\n\tif(this.brushDown) {\n\t\tthis.brushDown = false;\n\t\tthis.strokeEnd();\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nEditBitmapWidget.prototype.adjustCoordinates = function(x,y) {\n\tvar canvasRect = this.canvasDomNode.getBoundingClientRect(),\n\t\tscale = this.canvasDomNode.width/canvasRect.width;\n\treturn {x: (x - canvasRect.left) * scale, y: (y - canvasRect.top) * scale};\n};\n\nEditBitmapWidget.prototype.strokeStart = function(x,y) {\n\t// Start off a new stroke\n\tthis.stroke = [this.adjustCoordinates(x,y)];\n};\n\nEditBitmapWidget.prototype.strokeMove = function(x,y) {\n\tvar ctx = this.canvasDomNode.getContext(\"2d\"),\n\t\tt;\n\t// Add the new position to the end of the stroke\n\tthis.stroke.push(this.adjustCoordinates(x,y));\n\t// Redraw the previous image\n\tctx.drawImage(this.currCanvas,0,0);\n\t// Render the stroke\n\tctx.globalAlpha = parseFloat(this.wiki.getTiddlerText(LINE_OPACITY_TITLE,\"1.0\"));\n\tctx.strokeStyle = this.wiki.getTiddlerText(LINE_COLOUR_TITLE,\"#ff0\");\n\tctx.lineWidth = parseFloat(this.wiki.getTiddlerText(LINE_WIDTH_TITLE,\"3\"));\n\tctx.lineCap = \"round\";\n\tctx.lineJoin = \"round\";\n\tctx.beginPath();\n\tctx.moveTo(this.stroke[0].x,this.stroke[0].y);\n\tfor(t=1; t<this.stroke.length-1; t++) {\n\t\tvar s1 = this.stroke[t],\n\t\t\ts2 = this.stroke[t-1],\n\t\t\ttx = (s1.x + s2.x)/2,\n\t\t\tty = (s1.y + s2.y)/2;\n\t\tctx.quadraticCurveTo(s2.x,s2.y,tx,ty);\n\t}\n\tctx.stroke();\n};\n\nEditBitmapWidget.prototype.strokeEnd = function() {\n\t// Copy the bitmap to the off-screen canvas\n\tvar ctx = this.currCanvas.getContext(\"2d\");\n\tctx.drawImage(this.canvasDomNode,0,0);\n\t// Save the image into the tiddler\n\tthis.saveChanges();\n};\n\nEditBitmapWidget.prototype.saveChanges = function() {\n\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\tif(tiddler) {\n\t\t// data URIs look like \"data:<type>;base64,<text>\"\n\t\tvar dataURL = this.canvasDomNode.toDataURL(tiddler.fields.type),\n\t\t\tposColon = dataURL.indexOf(\":\"),\n\t\t\tposSemiColon = dataURL.indexOf(\";\"),\n\t\t\tposComma = dataURL.indexOf(\",\"),\n\t\t\ttype = dataURL.substring(posColon+1,posSemiColon),\n\t\t\ttext = dataURL.substring(posComma+1);\n\t\tvar update = {type: type, text: text};\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getModificationFields(),tiddler,update,this.wiki.getCreationFields()));\n\t}\n};\n\nexports[\"edit-bitmap\"] = EditBitmapWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/edit-bitmap.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit-shortcut.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit-shortcut.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to display an editable keyboard shortcut\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditShortcutWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditShortcutWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditShortcutWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.inputNode = this.document.createElement(\"input\");\n\t// Assign classes\n\tif(this.shortcutClass) {\n\t\tthis.inputNode.className = this.shortcutClass;\t\t\n\t}\n\t// Assign other attributes\n\tif(this.shortcutStyle) {\n\t\tthis.inputNode.setAttribute(\"style\",this.shortcutStyle);\n\t}\n\tif(this.shortcutTooltip) {\n\t\tthis.inputNode.setAttribute(\"title\",this.shortcutTooltip);\n\t}\n\tif(this.shortcutPlaceholder) {\n\t\tthis.inputNode.setAttribute(\"placeholder\",this.shortcutPlaceholder);\n\t}\n\tif(this.shortcutAriaLabel) {\n\t\tthis.inputNode.setAttribute(\"aria-label\",this.shortcutAriaLabel);\n\t}\n\t// Assign the current shortcut\n\tthis.updateInputNode();\n\t// Add event handlers\n\t$tw.utils.addEventListeners(this.inputNode,[\n\t\t{name: \"keydown\", handlerObject: this, handlerMethod: \"handleKeydownEvent\"}\n\t]);\n\t// Link into the DOM\n\tparent.insertBefore(this.inputNode,nextSibling);\n\tthis.domNodes.push(this.inputNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEditShortcutWidget.prototype.execute = function() {\n\tthis.shortcutTiddler = this.getAttribute(\"tiddler\");\n\tthis.shortcutField = this.getAttribute(\"field\");\n\tthis.shortcutIndex = this.getAttribute(\"index\");\n\tthis.shortcutPlaceholder = this.getAttribute(\"placeholder\");\n\tthis.shortcutDefault = this.getAttribute(\"default\",\"\");\n\tthis.shortcutClass = this.getAttribute(\"class\");\n\tthis.shortcutStyle = this.getAttribute(\"style\");\n\tthis.shortcutTooltip = this.getAttribute(\"tooltip\");\n\tthis.shortcutAriaLabel = this.getAttribute(\"aria-label\");\n};\n\n/*\nUpdate the value of the input node\n*/\nEditShortcutWidget.prototype.updateInputNode = function() {\n\tif(this.shortcutField) {\n\t\tvar tiddler = this.wiki.getTiddler(this.shortcutTiddler);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,this.shortcutField)) {\n\t\t\tthis.inputNode.value = tiddler.getFieldString(this.shortcutField);\n\t\t} else {\n\t\t\tthis.inputNode.value = this.shortcutDefault;\n\t\t}\n\t} else if(this.shortcutIndex) {\n\t\tthis.inputNode.value = this.wiki.extractTiddlerDataItem(this.shortcutTiddler,this.shortcutIndex,this.shortcutDefault);\n\t} else {\n\t\tthis.inputNode.value = this.wiki.getTiddlerText(this.shortcutTiddler,this.shortcutDefault);\n\t}\n};\n\n/*\nHandle a dom \"keydown\" event\n*/\nEditShortcutWidget.prototype.handleKeydownEvent = function(event) {\n\t// Ignore shift, ctrl, meta, alt\n\tif(event.keyCode && $tw.keyboardManager.getModifierKeys().indexOf(event.keyCode) === -1) {\n\t\t// Get the shortcut text representation\n\t\tvar value = $tw.keyboardManager.getPrintableShortcuts([{\n\t\t\tctrlKey: event.ctrlKey,\n\t\t\tshiftKey: event.shiftKey,\n\t\t\taltKey: event.altKey,\n\t\t\tmetaKey: event.metaKey,\n\t\t\tkeyCode: event.keyCode\n\t\t}]);\n\t\tif(value.length > 0) {\n\t\t\tthis.wiki.setText(this.shortcutTiddler,this.shortcutField,this.shortcutIndex,value[0]);\n\t\t}\n\t\t// Ignore the keydown if it was already handled\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\treturn true;\t\t\n\t} else {\n\t\treturn false;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget needed re-rendering\n*/\nEditShortcutWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes[\"default\"] || changedAttributes[\"class\"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes[\"aria-label\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else if(changedTiddlers[this.shortcutTiddler]) {\n\t\tthis.updateInputNode();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports[\"edit-shortcut\"] = EditShortcutWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/edit-shortcut.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit-text.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit-text.js\ntype: application/javascript\nmodule-type: widget\n\nEdit-text widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar editTextWidgetFactory = require(\"$:/core/modules/editor/factory.js\").editTextWidgetFactory,\n\tFramedEngine = require(\"$:/core/modules/editor/engines/framed.js\").FramedEngine,\n\tSimpleEngine = require(\"$:/core/modules/editor/engines/simple.js\").SimpleEngine;\n\nexports[\"edit-text\"] = editTextWidgetFactory(FramedEngine,SimpleEngine);\n\n})();\n",
            "title": "$:/core/modules/widgets/edit-text.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/edit.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/edit.js\ntype: application/javascript\nmodule-type: widget\n\nEdit widget is a meta-widget chooses the appropriate actual editting widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EditWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEditWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEditWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n// Mappings from content type to editor type are stored in tiddlers with this prefix\nvar EDITOR_MAPPING_PREFIX = \"$:/config/EditorTypeMappings/\";\n\n/*\nCompute the internal state of the widget\n*/\nEditWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.editTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.editField = this.getAttribute(\"field\",\"text\");\n\tthis.editIndex = this.getAttribute(\"index\");\n\tthis.editClass = this.getAttribute(\"class\");\n\tthis.editPlaceholder = this.getAttribute(\"placeholder\");\n\t// Choose the appropriate edit widget\n\tthis.editorType = this.getEditorType();\n\t// Make the child widgets\n\tthis.makeChildWidgets([{\n\t\ttype: \"edit-\" + this.editorType,\n\t\tattributes: {\n\t\t\ttiddler: {type: \"string\", value: this.editTitle},\n\t\t\tfield: {type: \"string\", value: this.editField},\n\t\t\tindex: {type: \"string\", value: this.editIndex},\n\t\t\t\"class\": {type: \"string\", value: this.editClass},\n\t\t\t\"placeholder\": {type: \"string\", value: this.editPlaceholder}\n\t\t},\n\t\tchildren: this.parseTreeNode.children\n\t}]);\n};\n\nEditWidget.prototype.getEditorType = function() {\n\t// Get the content type of the thing we're editing\n\tvar type;\n\tif(this.editField === \"text\") {\n\t\tvar tiddler = this.wiki.getTiddler(this.editTitle);\n\t\tif(tiddler) {\n\t\t\ttype = tiddler.fields.type;\n\t\t}\n\t}\n\ttype = type || \"text/vnd.tiddlywiki\";\n\tvar editorType = this.wiki.getTiddlerText(EDITOR_MAPPING_PREFIX + type);\n\tif(!editorType) {\n\t\tvar typeInfo = $tw.config.contentTypeInfo[type];\n\t\tif(typeInfo && typeInfo.encoding === \"base64\") {\n\t\t\teditorType = \"binary\";\n\t\t} else {\n\t\t\teditorType = \"text\";\n\t\t}\n\t}\n\treturn editorType;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEditWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh if an attribute has changed, or the type associated with the target tiddler has changed\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || (changedTiddlers[this.editTitle] && this.getEditorType() !== this.editorType)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.edit = EditWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/edit.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/element.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/element.js\ntype: application/javascript\nmodule-type: widget\n\nElement widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ElementWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nElementWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nElementWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Neuter blacklisted elements\n\tvar tag = this.parseTreeNode.tag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"safe-\" + tag;\n\t}\n\tvar domNode = this.document.createElementNS(this.namespace,tag);\n\tthis.assignAttributes(domNode,{excludeEventAttributes: true});\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nElementWidget.prototype.execute = function() {\n\t// Select the namespace for the tag\n\tvar tagNamespaces = {\n\t\t\tsvg: \"http://www.w3.org/2000/svg\",\n\t\t\tmath: \"http://www.w3.org/1998/Math/MathML\",\n\t\t\tbody: \"http://www.w3.org/1999/xhtml\"\n\t\t};\n\tthis.namespace = tagNamespaces[this.parseTreeNode.tag];\n\tif(this.namespace) {\n\t\tthis.setVariable(\"namespace\",this.namespace);\n\t} else {\n\t\tthis.namespace = this.getVariable(\"namespace\",{defaultValue: \"http://www.w3.org/1999/xhtml\"});\n\t}\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nElementWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\thasChangedAttributes = $tw.utils.count(changedAttributes) > 0;\n\tif(hasChangedAttributes) {\n\t\t// Update our attributes\n\t\tthis.assignAttributes(this.domNodes[0],{excludeEventAttributes: true});\n\t}\n\treturn this.refreshChildren(changedTiddlers) || hasChangedAttributes;\n};\n\nexports.element = ElementWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/element.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/encrypt.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/encrypt.js\ntype: application/javascript\nmodule-type: widget\n\nEncrypt widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EncryptWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEncryptWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEncryptWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.encryptedText);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEncryptWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.filter = this.getAttribute(\"filter\",\"[!is[system]]\");\n\t// Encrypt the filtered tiddlers\n\tvar tiddlers = this.wiki.filterTiddlers(this.filter),\n\t\tjson = {},\n\t\tself = this;\n\t$tw.utils.each(tiddlers,function(title) {\n\t\tvar tiddler = self.wiki.getTiddler(title),\n\t\t\tjsonTiddler = {};\n\t\tfor(var f in tiddler.fields) {\n\t\t\tjsonTiddler[f] = tiddler.getFieldString(f);\n\t\t}\n\t\tjson[title] = jsonTiddler;\n\t});\n\tthis.encryptedText = $tw.utils.htmlEncode($tw.crypto.encrypt(JSON.stringify(json)));\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEncryptWidget.prototype.refresh = function(changedTiddlers) {\n\t// We don't need to worry about refreshing because the encrypt widget isn't for interactive use\n\treturn false;\n};\n\nexports.encrypt = EncryptWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/encrypt.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/entity.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/entity.js\ntype: application/javascript\nmodule-type: widget\n\nHTML entity widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar EntityWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nEntityWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nEntityWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar entityString = this.getAttribute(\"entity\",this.parseTreeNode.entity || \"\"),\n\t\ttextNode = this.document.createTextNode($tw.utils.entityDecode(entityString));\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nEntityWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nEntityWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.entity) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.entity = EntityWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/entity.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/fieldmangler.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/fieldmangler.js\ntype: application/javascript\nmodule-type: widget\n\nField mangler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldManglerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-remove-field\", handler: \"handleRemoveFieldEvent\"},\n\t\t{type: \"tm-add-field\", handler: \"handleAddFieldEvent\"},\n\t\t{type: \"tm-remove-tag\", handler: \"handleRemoveTagEvent\"},\n\t\t{type: \"tm-add-tag\", handler: \"handleAddTagEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldManglerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldManglerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldManglerWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.mangleTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldManglerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nFieldManglerWidget.prototype.handleRemoveFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\tdeletion = {};\n\tdeletion[event.param] = undefined;\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,deletion));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddFieldEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle),\n\t\taddition = this.wiki.getModificationFields(),\n\t\thadInvalidFieldName = false,\n\t\taddField = function(name,value) {\n\t\t\tvar trimmedName = name.toLowerCase().trim();\n\t\t\tif(!$tw.utils.isValidFieldName(trimmedName)) {\n\t\t\t\tif(!hadInvalidFieldName) {\n\t\t\t\t\talert($tw.language.getString(\n\t\t\t\t\t\t\"InvalidFieldName\",\n\t\t\t\t\t\t{variables:\n\t\t\t\t\t\t\t{fieldName: trimmedName}\n\t\t\t\t\t\t}\n\t\t\t\t\t));\n\t\t\t\t\thadInvalidFieldName = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif(!value && tiddler) {\n\t\t\t\t\tvalue = tiddler.fields[trimmedName];\n\t\t\t\t}\n\t\t\t\taddition[trimmedName] = value || \"\";\n\t\t\t}\n\t\t\treturn;\n\t\t};\n\taddition.title = this.mangleTitle;\n\tif(typeof event.param === \"string\") {\n\t\taddField(event.param,\"\");\n\t}\n\tif(typeof event.paramObject === \"object\") {\n\t\tfor(var name in event.paramObject) {\n\t\t\taddField(name,event.paramObject[name]);\n\t\t}\n\t}\n\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,addition));\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleRemoveTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle);\n\tif(tiddler && tiddler.fields.tags) {\n\t\tvar p = tiddler.fields.tags.indexOf(event.param);\n\t\tif(p !== -1) {\n\t\t\tvar modification = this.wiki.getModificationFields();\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\tmodification.tags.splice(p,1);\n\t\t\tif(modification.tags.length === 0) {\n\t\t\t\tmodification.tags = undefined;\n\t\t\t}\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\n\t\t}\n\t}\n\treturn true;\n};\n\nFieldManglerWidget.prototype.handleAddTagEvent = function(event) {\n\tvar tiddler = this.wiki.getTiddler(this.mangleTitle);\n\tif(tiddler && typeof event.param === \"string\") {\n\t\tvar tag = event.param.trim();\n\t\tif(tag !== \"\") {\n\t\t\tvar modification = this.wiki.getModificationFields();\n\t\t\tmodification.tags = (tiddler.fields.tags || []).slice(0);\n\t\t\t$tw.utils.pushTop(modification.tags,tag);\n\t\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,modification));\t\t\t\n\t\t}\n\t} else if(typeof event.param === \"string\" && event.param.trim() !== \"\" && this.mangleTitle.trim() !== \"\") {\n\t\tvar tag = [];\n\t\ttag.push(event.param.trim());\n\t\tthis.wiki.addTiddler({title: this.mangleTitle, tags: tag});\t\t\n\t}\n\treturn true;\n};\n\nexports.fieldmangler = FieldManglerWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/fieldmangler.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/fields.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/fields.js\ntype: application/javascript\nmodule-type: widget\n\nFields widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar FieldsWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nFieldsWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nFieldsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar textNode = this.document.createTextNode(this.text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nFieldsWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.template = this.getAttribute(\"template\");\n\tthis.exclude = this.getAttribute(\"exclude\");\n\tthis.stripTitlePrefix = this.getAttribute(\"stripTitlePrefix\",\"no\") === \"yes\";\n\t// Get the value to display\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\t// Get the exclusion list\n\tvar exclude;\n\tif(this.exclude) {\n\t\texclude = this.exclude.split(\" \");\n\t} else {\n\t\texclude = [\"text\"]; \n\t}\n\t// Compose the template\n\tvar text = [];\n\tif(this.template && tiddler) {\n\t\tvar fields = [];\n\t\tfor(var fieldName in tiddler.fields) {\n\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\t\tfields.push(fieldName);\n\t\t\t}\n\t\t}\n\t\tfields.sort();\n\t\tfor(var f=0; f<fields.length; f++) {\n\t\t\tfieldName = fields[f];\n\t\t\tif(exclude.indexOf(fieldName) === -1) {\n\t\t\t\tvar row = this.template,\n\t\t\t\t\tvalue = tiddler.getFieldString(fieldName);\n\t\t\t\tif(this.stripTitlePrefix && fieldName === \"title\") {\n\t\t\t\t\tvar reStrip = /^\\{[^\\}]+\\}(.+)/mg,\n\t\t\t\t\t\treMatch = reStrip.exec(value);\n\t\t\t\t\tif(reMatch) {\n\t\t\t\t\t\tvalue = reMatch[1];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\trow = row.replace(\"$name$\",fieldName);\n\t\t\t\trow = row.replace(\"$value$\",value);\n\t\t\t\trow = row.replace(\"$encoded_value$\",$tw.utils.htmlEncode(value));\n\t\t\t\ttext.push(row);\n\t\t\t}\n\t\t}\n\t}\n\tthis.text = text.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nFieldsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.template || changedAttributes.exclude || changedAttributes.stripTitlePrefix || changedTiddlers[this.tiddlerTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.fields = FieldsWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/fields.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/image.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/image.js\ntype: application/javascript\nmodule-type: widget\n\nThe image widget displays an image referenced with an external URI or with a local tiddler title.\n\n```\n<$image src=\"TiddlerTitle\" width=\"320\" height=\"400\" class=\"classnames\">\n```\n\nThe image source can be the title of an existing tiddler or the URL of an external image.\n\nExternal images always generate an HTML `<img>` tag.\n\nTiddlers that have a _canonical_uri field generate an HTML `<img>` tag with the src attribute containing the URI.\n\nTiddlers that contain image data generate an HTML `<img>` tag with the src attribute containing a base64 representation of the image.\n\nTiddlers that contain wikitext could be rendered to a DIV of the usual size of a tiddler, and then transformed to the size requested.\n\nThe width and height attributes are interpreted as a number of pixels, and do not need to include the \"px\" suffix.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImageWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImageWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImageWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\t// Determine what type of image it is\n\tvar tag = \"img\", src = \"\",\n\t\ttiddler = this.wiki.getTiddler(this.imageSource);\n\tif(!tiddler) {\n\t\t// The source isn't the title of a tiddler, so we'll assume it's a URL\n\t\tsrc = this.getVariable(\"tv-get-export-image-link\",{params: [{name: \"src\",value: this.imageSource}],defaultValue: this.imageSource});\n\t} else {\n\t\t// Check if it is an image tiddler\n\t\tif(this.wiki.isImageTiddler(this.imageSource)) {\n\t\t\tvar type = tiddler.fields.type,\n\t\t\t\ttext = tiddler.fields.text,\n\t\t\t\t_canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t// If the tiddler has body text then it doesn't need to be lazily loaded\n\t\t\tif(text) {\n\t\t\t\t// Render the appropriate element for the image type\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = \"data:application/pdf;base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = \"data:image/svg+xml,\" + encodeURIComponent(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = \"data:\" + type + \";base64,\" + text;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if(_canonical_uri) {\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase \"application/pdf\":\n\t\t\t\t\t\ttag = \"embed\";\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"image/svg+xml\":\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsrc = _canonical_uri;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\t\n\t\t\t} else {\n\t\t\t\t// Just trigger loading of the tiddler\n\t\t\t\tthis.wiki.getTiddlerText(this.imageSource);\n\t\t\t}\n\t\t}\n\t}\n\t// Create the element and assign the attributes\n\tvar domNode = this.document.createElement(tag);\n\tdomNode.setAttribute(\"src\",src);\n\tif(this.imageClass) {\n\t\tdomNode.setAttribute(\"class\",this.imageClass);\t\t\n\t}\n\tif(this.imageWidth) {\n\t\tdomNode.setAttribute(\"width\",this.imageWidth);\n\t}\n\tif(this.imageHeight) {\n\t\tdomNode.setAttribute(\"height\",this.imageHeight);\n\t}\n\tif(this.imageTooltip) {\n\t\tdomNode.setAttribute(\"title\",this.imageTooltip);\t\t\n\t}\n\tif(this.imageAlt) {\n\t\tdomNode.setAttribute(\"alt\",this.imageAlt);\t\t\n\t}\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.domNodes.push(domNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImageWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.imageSource = this.getAttribute(\"source\");\n\tthis.imageWidth = this.getAttribute(\"width\");\n\tthis.imageHeight = this.getAttribute(\"height\");\n\tthis.imageClass = this.getAttribute(\"class\");\n\tthis.imageTooltip = this.getAttribute(\"tooltip\");\n\tthis.imageAlt = this.getAttribute(\"alt\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImageWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.source || changedAttributes.width || changedAttributes.height || changedAttributes[\"class\"] || changedAttributes.tooltip || changedTiddlers[this.imageSource]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\t\n\t}\n};\n\nexports.image = ImageWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/image.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/importvariables.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/importvariables.js\ntype: application/javascript\nmodule-type: widget\n\nImport variable definitions from other tiddlers\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ImportVariablesWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nImportVariablesWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nImportVariablesWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nImportVariablesWidget.prototype.execute = function(tiddlerList) {\n\tvar self = this;\n\t// Get our parameters\n\tthis.filter = this.getAttribute(\"filter\");\n\t// Compute the filter\n\tthis.tiddlerList = tiddlerList || this.wiki.filterTiddlers(this.filter,this);\n\t// Accumulate the <$set> widgets from each tiddler\n\tvar widgetStackStart,widgetStackEnd;\n\tfunction addWidgetNode(widgetNode) {\n\t\tif(widgetNode) {\n\t\t\tif(!widgetStackStart && !widgetStackEnd) {\n\t\t\t\twidgetStackStart = widgetNode;\n\t\t\t\twidgetStackEnd = widgetNode;\n\t\t\t} else {\n\t\t\t\twidgetStackEnd.children = [widgetNode];\n\t\t\t\twidgetStackEnd = widgetNode;\n\t\t\t}\n\t\t}\n\t}\n\t$tw.utils.each(this.tiddlerList,function(title) {\n\t\tvar parser = self.wiki.parseTiddler(title);\n\t\tif(parser) {\n\t\t\tvar parseTreeNode = parser.tree[0];\n\t\t\twhile(parseTreeNode && parseTreeNode.type === \"set\") {\n\t\t\t\taddWidgetNode({\n\t\t\t\t\ttype: \"set\",\n\t\t\t\t\tattributes: parseTreeNode.attributes,\n\t\t\t\t\tparams: parseTreeNode.params\n\t\t\t\t});\n\t\t\t\tparseTreeNode = parseTreeNode.children[0];\n\t\t\t}\n\t\t} \n\t});\n\t// Add our own children to the end of the pile\n\tvar parseTreeNodes;\n\tif(widgetStackStart && widgetStackEnd) {\n\t\tparseTreeNodes = [widgetStackStart];\n\t\twidgetStackEnd.children = this.parseTreeNode.children;\n\t} else {\n\t\tparseTreeNodes = this.parseTreeNode.children;\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nImportVariablesWidget.prototype.refresh = function(changedTiddlers) {\n\t// Recompute our attributes and the filter list\n\tvar changedAttributes = this.computeAttributes(),\n\t\ttiddlerList = this.wiki.filterTiddlers(this.getAttribute(\"filter\"),this);\n\t// Refresh if the filter has changed, or the list of tiddlers has changed, or any of the tiddlers in the list has changed\n\tfunction haveListedTiddlersChanged() {\n\t\tvar changed = false;\n\t\ttiddlerList.forEach(function(title) {\n\t\t\tif(changedTiddlers[title]) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t});\n\t\treturn changed;\n\t}\n\tif(changedAttributes.filter || !$tw.utils.isArrayEqual(this.tiddlerList,tiddlerList) || haveListedTiddlersChanged()) {\n\t\t// Compute the filter\n\t\tthis.removeChildDomNodes();\n\t\tthis.execute(tiddlerList);\n\t\tthis.renderChildren(this.parentDomNode,this.findNextSiblingDomNode());\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.importvariables = ImportVariablesWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/importvariables.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/keyboard.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/keyboard.js\ntype: application/javascript\nmodule-type: widget\n\nKeyboard shortcut widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar KeyboardWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nKeyboardWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nKeyboardWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create element\n\tvar domNode = this.document.createElement(\"div\");\n\t// Assign classes\n\tvar classes = (this[\"class\"] || \"\").split(\" \");\n\tclasses.push(\"tc-keyboard\");\n\tdomNode.className = classes.join(\" \");\n\t// Add a keyboard event handler\n\tdomNode.addEventListener(\"keydown\",function (event) {\n\t\tif($tw.keyboardManager.checkKeyDescriptors(event,self.keyInfoArray)) {\n\t\t\tself.invokeActions(self,event);\n\t\t\tif(self.actions) {\n\t\t\t\tself.invokeActionString(self.actions,self,event);\n\t\t\t}\n\t\t\tself.dispatchMessage(event);\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},false);\n\t// Insert element\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nKeyboardWidget.prototype.dispatchMessage = function(event) {\n\tthis.dispatchEvent({type: this.message, param: this.param, tiddlerTitle: this.getVariable(\"currentTiddler\")});\n};\n\n/*\nCompute the internal state of the widget\n*/\nKeyboardWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.actions = this.getAttribute(\"actions\");\n\tthis.message = this.getAttribute(\"message\");\n\tthis.param = this.getAttribute(\"param\");\n\tthis.key = this.getAttribute(\"key\");\n\tthis.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nKeyboardWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.message || changedAttributes.param || changedAttributes.key || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.keyboard = KeyboardWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/keyboard.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/link.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/link.js\ntype: application/javascript\nmodule-type: widget\n\nLink widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\nvar MISSING_LINK_CONFIG_TITLE = \"$:/config/MissingLinks\";\n\nvar LinkWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the value of the tv-wikilinks configuration macro\n\tvar wikiLinksMacro = this.getVariable(\"tv-wikilinks\"),\n\t\tuseWikiLinks = wikiLinksMacro ? (wikiLinksMacro.trim() !== \"no\") : true,\n\t\tmissingLinksEnabled = !(this.hideMissingLinks && this.isMissing && !this.isShadow);\n\t// Render the link if required\n\tif(useWikiLinks && missingLinksEnabled) {\n\t\tthis.renderLink(parent,nextSibling);\n\t} else {\n\t\t// Just insert the link text\n\t\tvar domNode = this.document.createElement(\"span\");\n\t\tparent.insertBefore(domNode,nextSibling);\n\t\tthis.renderChildren(domNode,null);\n\t\tthis.domNodes.push(domNode);\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nLinkWidget.prototype.renderLink = function(parent,nextSibling) {\n\tvar self = this;\n\t// Sanitise the specified tag\n\tvar tag = this.linkTag;\n\tif($tw.config.htmlUnsafeElements.indexOf(tag) !== -1) {\n\t\ttag = \"a\";\n\t}\n\t// Create our element\n\tvar domNode = this.document.createElement(tag);\n\t// Assign classes\n\tvar classes = [];\n\tif(this.linkClasses) {\n\t\tclasses.push(this.linkClasses);\n\t}\n\tclasses.push(\"tc-tiddlylink\");\n\tif(this.isShadow) {\n\t\tclasses.push(\"tc-tiddlylink-shadow\");\n\t}\n\tif(this.isMissing && !this.isShadow) {\n\t\tclasses.push(\"tc-tiddlylink-missing\");\n\t} else {\n\t\tif(!this.isMissing) {\n\t\t\tclasses.push(\"tc-tiddlylink-resolves\");\n\t\t}\n\t}\n\tdomNode.setAttribute(\"class\",classes.join(\" \"));\n\t// Set an href\n\tvar wikiLinkTemplateMacro = this.getVariable(\"tv-wikilink-template\"),\n\t\twikiLinkTemplate = wikiLinkTemplateMacro ? wikiLinkTemplateMacro.trim() : \"#$uri_encoded$\",\n\t\twikiLinkText = wikiLinkTemplate.replace(\"$uri_encoded$\",encodeURIComponent(this.to));\n\twikiLinkText = wikiLinkText.replace(\"$uri_doubleencoded$\",encodeURIComponent(encodeURIComponent(this.to)));\n\twikiLinkText = this.getVariable(\"tv-get-export-link\",{params: [{name: \"to\",value: this.to}],defaultValue: wikiLinkText});\n\tif(tag === \"a\") {\n\t\tdomNode.setAttribute(\"href\",wikiLinkText);\n\t}\n\tif(this.tabIndex) {\n\t\tdomNode.setAttribute(\"tabindex\",this.tabIndex);\n\t}\n\t// Set the tooltip\n\t// HACK: Performance issues with re-parsing the tooltip prevent us defaulting the tooltip to \"<$transclude field='tooltip'><$transclude field='title'/></$transclude>\"\n\tvar tooltipWikiText = this.tooltip || this.getVariable(\"tv-wikilink-tooltip\");\n\tif(tooltipWikiText) {\n\t\tvar tooltipText = this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",tooltipWikiText,{\n\t\t\t\tparseAsInline: true,\n\t\t\t\tvariables: {\n\t\t\t\t\tcurrentTiddler: this.to\n\t\t\t\t},\n\t\t\t\tparentWidget: this\n\t\t\t});\n\t\tdomNode.setAttribute(\"title\",tooltipText);\n\t}\n\tif(this[\"aria-label\"]) {\n\t\tdomNode.setAttribute(\"aria-label\",this[\"aria-label\"]);\n\t}\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"click\", handlerObject: this, handlerMethod: \"handleClickEvent\"},\n\t]);\n\tif(this.draggable === \"yes\") {\n\t\t$tw.utils.addEventListeners(domNode,[\n\t\t\t{name: \"dragstart\", handlerObject: this, handlerMethod: \"handleDragStartEvent\"},\n\t\t\t{name: \"dragend\", handlerObject: this, handlerMethod: \"handleDragEndEvent\"}\n\t\t]);\n\t}\n\t// Insert the link into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nLinkWidget.prototype.handleClickEvent = function(event) {\n\t// Send the click on its way as a navigate event\n\tvar bounds = this.domNodes[0].getBoundingClientRect();\n\tthis.dispatchEvent({\n\t\ttype: \"tm-navigate\",\n\t\tnavigateTo: this.to,\n\t\tnavigateFromTitle: this.getVariable(\"storyTiddler\"),\n\t\tnavigateFromNode: this,\n\t\tnavigateFromClientRect: { top: bounds.top, left: bounds.left, width: bounds.width, right: bounds.right, bottom: bounds.bottom, height: bounds.height\n\t\t},\n\t\tnavigateSuppressNavigation: event.metaKey || event.ctrlKey || (event.button === 1)\n\t});\n\tif(this.domNodes[0].hasAttribute(\"href\")) {\n\t\tevent.preventDefault();\n\t}\n\tevent.stopPropagation();\n\treturn false;\n};\n\nLinkWidget.prototype.handleDragStartEvent = function(event) {\n\tif(event.target === this.domNodes[0]) {\n\t\tif(this.to) {\n\t\t\t$tw.dragInProgress = true;\n\t\t\t// Set the dragging class on the element being dragged\n\t\t\t$tw.utils.addClass(event.target,\"tc-tiddlylink-dragging\");\n\t\t\t// Create the drag image elements\n\t\t\tthis.dragImage = this.document.createElement(\"div\");\n\t\t\tthis.dragImage.className = \"tc-tiddler-dragger\";\n\t\t\tvar inner = this.document.createElement(\"div\");\n\t\t\tinner.className = \"tc-tiddler-dragger-inner\";\n\t\t\tinner.appendChild(this.document.createTextNode(this.to));\n\t\t\tthis.dragImage.appendChild(inner);\n\t\t\tthis.document.body.appendChild(this.dragImage);\n\t\t\t// Astoundingly, we need to cover the dragger up: http://www.kryogenix.org/code/browser/custom-drag-image.html\n\t\t\tvar cover = this.document.createElement(\"div\");\n\t\t\tcover.className = \"tc-tiddler-dragger-cover\";\n\t\t\tcover.style.left = (inner.offsetLeft - 16) + \"px\";\n\t\t\tcover.style.top = (inner.offsetTop - 16) + \"px\";\n\t\t\tcover.style.width = (inner.offsetWidth + 32) + \"px\";\n\t\t\tcover.style.height = (inner.offsetHeight + 32) + \"px\";\n\t\t\tthis.dragImage.appendChild(cover);\n\t\t\t// Set the data transfer properties\n\t\t\tvar dataTransfer = event.dataTransfer;\n\t\t\t// First the image\n\t\t\tdataTransfer.effectAllowed = \"copy\";\n\t\t\tif(dataTransfer.setDragImage) {\n\t\t\t\tdataTransfer.setDragImage(this.dragImage.firstChild,-16,-16);\n\t\t\t}\n\t\t\t// Then the data\n\t\t\tdataTransfer.clearData();\n\t\t\tvar jsonData = this.wiki.getTiddlerAsJson(this.to),\n\t\t\t\ttextData = this.wiki.getTiddlerText(this.to,\"\"),\n\t\t\t\ttitle = (new RegExp(\"^\" + $tw.config.textPrimitives.wikiLink + \"$\",\"mg\")).exec(this.to) ? this.to : \"[[\" + this.to + \"]]\";\n\t\t\t// IE doesn't like these content types\n\t\t\tif(!$tw.browser.isIE) {\n\t\t\t\tdataTransfer.setData(\"text/vnd.tiddler\",jsonData);\n\t\t\t\tdataTransfer.setData(\"text/plain\",title);\n\t\t\t\tdataTransfer.setData(\"text/x-moz-url\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\t}\n\t\t\tdataTransfer.setData(\"URL\",\"data:text/vnd.tiddler,\" + encodeURIComponent(jsonData));\n\t\t\tdataTransfer.setData(\"Text\",title);\n\t\t\tevent.stopPropagation();\n\t\t} else {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n};\n\nLinkWidget.prototype.handleDragEndEvent = function(event) {\n\tif(event.target === this.domNodes[0]) {\n\t\t$tw.dragInProgress = false;\n\t\t// Remove the dragging class on the element being dragged\n\t\t$tw.utils.removeClass(event.target,\"tc-tiddlylink-dragging\");\n\t\t// Delete the drag image element\n\t\tif(this.dragImage) {\n\t\t\tthis.dragImage.parentNode.removeChild(this.dragImage);\n\t\t}\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkWidget.prototype.execute = function() {\n\t// Pick up our attributes\n\tthis.to = this.getAttribute(\"to\",this.getVariable(\"currentTiddler\"));\n\tthis.tooltip = this.getAttribute(\"tooltip\");\n\tthis[\"aria-label\"] = this.getAttribute(\"aria-label\");\n\tthis.linkClasses = this.getAttribute(\"class\");\n\tthis.tabIndex = this.getAttribute(\"tabindex\");\n\tthis.draggable = this.getAttribute(\"draggable\",\"yes\");\n\tthis.linkTag = this.getAttribute(\"tag\",\"a\");\n\t// Determine the link characteristics\n\tthis.isMissing = !this.wiki.tiddlerExists(this.to);\n\tthis.isShadow = this.wiki.isShadowTiddler(this.to);\n\tthis.hideMissingLinks = ($tw.wiki.getTiddlerText(MISSING_LINK_CONFIG_TITLE,\"yes\") === \"no\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedTiddlers[this.to] || changedAttributes[\"aria-label\"] || changedAttributes.tooltip || changedTiddlers[MISSING_LINK_CONFIG_TITLE]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.link = LinkWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/link.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/linkcatcher.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/linkcatcher.js\ntype: application/javascript\nmodule-type: widget\n\nLinkcatcher widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar LinkCatcherWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nLinkCatcherWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nLinkCatcherWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nLinkCatcherWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.catchTo = this.getAttribute(\"to\");\n\tthis.catchMessage = this.getAttribute(\"message\");\n\tthis.catchSet = this.getAttribute(\"set\");\n\tthis.catchSetTo = this.getAttribute(\"setTo\");\n\tthis.catchActions = this.getAttribute(\"actions\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nLinkCatcherWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.to || changedAttributes.message || changedAttributes.set || changedAttributes.setTo) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\n/*\nHandle a tm-navigate event\n*/\nLinkCatcherWidget.prototype.handleNavigateEvent = function(event) {\n\tif(this.catchTo) {\n\t\tthis.wiki.setTextReference(this.catchTo,event.navigateTo,this.getVariable(\"currentTiddler\"));\n\t}\n\tif(this.catchMessage && this.parentWidget) {\n\t\tthis.parentWidget.dispatchEvent({\n\t\t\ttype: this.catchMessage,\n\t\t\tparam: event.navigateTo,\n\t\t\tnavigateTo: event.navigateTo\n\t\t});\n\t}\n\tif(this.catchSet) {\n\t\tvar tiddler = this.wiki.getTiddler(this.catchSet);\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.catchSet, text: this.catchSetTo}));\n\t}\n\tif(this.catchActions) {\n\t\tthis.invokeActionString(this.catchActions,this);\n\t}\n\treturn false;\n};\n\nexports.linkcatcher = LinkCatcherWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/linkcatcher.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/list.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/list.js\ntype: application/javascript\nmodule-type: widget\n\nList and list item widgets\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\n/*\nThe list widget creates list element sub-widgets that reach back into the list widget for their configuration\n*/\n\nvar ListWidget = function(parseTreeNode,options) {\n\t// Initialise the storyviews if they've not been done already\n\tif(!this.storyViews) {\n\t\tListWidget.prototype.storyViews = {};\n\t\t$tw.modules.applyMethods(\"storyview\",this.storyViews);\n\t}\n\t// Main initialisation inherited from widget.js\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\t// Construct the storyview\n\tvar StoryView = this.storyViews[this.storyViewName];\n\tif(StoryView && !this.document.isTiddlyWikiFakeDom) {\n\t\tthis.storyview = new StoryView(this);\n\t} else {\n\t\tthis.storyview = null;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nListWidget.prototype.execute = function() {\n\t// Get our attributes\n\tthis.template = this.getAttribute(\"template\");\n\tthis.editTemplate = this.getAttribute(\"editTemplate\");\n\tthis.variableName = this.getAttribute(\"variable\",\"currentTiddler\");\n\tthis.storyViewName = this.getAttribute(\"storyview\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Compose the list elements\n\tthis.list = this.getTiddlerList();\n\tvar members = [],\n\t\tself = this;\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\tmembers = this.getEmptyMessage();\n\t} else {\n\t\t$tw.utils.each(this.list,function(title,index) {\n\t\t\tmembers.push(self.makeItemTemplate(title));\n\t\t});\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(members);\n\t// Clear the last history\n\tthis.history = [];\n};\n\nListWidget.prototype.getTiddlerList = function() {\n\tvar defaultFilter = \"[!is[system]sort[title]]\";\n\treturn this.wiki.filterTiddlers(this.getAttribute(\"filter\",defaultFilter),this);\n};\n\nListWidget.prototype.getEmptyMessage = function() {\n\tvar emptyMessage = this.getAttribute(\"emptyMessage\",\"\"),\n\t\tparser = this.wiki.parseText(\"text/vnd.tiddlywiki\",emptyMessage,{parseAsInline: true});\n\tif(parser) {\n\t\treturn parser.tree;\n\t} else {\n\t\treturn [];\n\t}\n};\n\n/*\nCompose the template for a list item\n*/\nListWidget.prototype.makeItemTemplate = function(title) {\n\t// Check if the tiddler is a draft\n\tvar tiddler = this.wiki.getTiddler(title),\n\t\tisDraft = tiddler && tiddler.hasField(\"draft.of\"),\n\t\ttemplate = this.template,\n\t\ttemplateTree;\n\tif(isDraft && this.editTemplate) {\n\t\ttemplate = this.editTemplate;\n\t}\n\t// Compose the transclusion of the template\n\tif(template) {\n\t\ttemplateTree = [{type: \"transclude\", attributes: {tiddler: {type: \"string\", value: template}}}];\n\t} else {\n\t\tif(this.parseTreeNode.children && this.parseTreeNode.children.length > 0) {\n\t\t\ttemplateTree = this.parseTreeNode.children;\n\t\t} else {\n\t\t\t// Default template is a link to the title\n\t\t\ttemplateTree = [{type: \"element\", tag: this.parseTreeNode.isBlock ? \"div\" : \"span\", children: [{type: \"link\", attributes: {to: {type: \"string\", value: title}}, children: [\n\t\t\t\t\t{type: \"text\", text: title}\n\t\t\t]}]}];\n\t\t}\n\t}\n\t// Return the list item\n\treturn {type: \"listitem\", itemTitle: title, variableName: this.variableName, children: templateTree};\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tresult;\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshStart) {\n\t\tthis.storyview.refreshStart(changedTiddlers,changedAttributes);\n\t}\n\t// Completely refresh if any of our attributes have changed\n\tif(changedAttributes.filter || changedAttributes.template || changedAttributes.editTemplate || changedAttributes.emptyMessage || changedAttributes.storyview || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\tresult = true;\n\t} else {\n\t\t// Handle any changes to the list\n\t\tresult = this.handleListChanges(changedTiddlers);\n\t\t// Handle any changes to the history stack\n\t\tif(this.historyTitle && changedTiddlers[this.historyTitle]) {\n\t\t\tthis.handleHistoryChanges();\n\t\t}\n\t}\n\t// Call the storyview\n\tif(this.storyview && this.storyview.refreshEnd) {\n\t\tthis.storyview.refreshEnd(changedTiddlers,changedAttributes);\n\t}\n\treturn result;\n};\n\n/*\nHandle any changes to the history list\n*/\nListWidget.prototype.handleHistoryChanges = function() {\n\t// Get the history data\n\tvar newHistory = this.wiki.getTiddlerDataCached(this.historyTitle,[]);\n\t// Ignore any entries of the history that match the previous history\n\tvar entry = 0;\n\twhile(entry < newHistory.length && entry < this.history.length && newHistory[entry].title === this.history[entry].title) {\n\t\tentry++;\n\t}\n\t// Navigate forwards to each of the new tiddlers\n\twhile(entry < newHistory.length) {\n\t\tif(this.storyview && this.storyview.navigateTo) {\n\t\t\tthis.storyview.navigateTo(newHistory[entry]);\n\t\t}\n\t\tentry++;\n\t}\n\t// Update the history\n\tthis.history = newHistory;\n};\n\n/*\nProcess any changes to the list\n*/\nListWidget.prototype.handleListChanges = function(changedTiddlers) {\n\t// Get the new list\n\tvar prevList = this.list;\n\tthis.list = this.getTiddlerList();\n\t// Check for an empty list\n\tif(this.list.length === 0) {\n\t\t// Check if it was empty before\n\t\tif(prevList.length === 0) {\n\t\t\t// If so, just refresh the empty message\n\t\t\treturn this.refreshChildren(changedTiddlers);\n\t\t} else {\n\t\t\t// Replace the previous content with the empty message\n\t\t\tfor(t=this.children.length-1; t>=0; t--) {\n\t\t\t\tthis.removeListItem(t);\n\t\t\t}\n\t\t\tvar nextSibling = this.findNextSiblingDomNode();\n\t\t\tthis.makeChildWidgets(this.getEmptyMessage());\n\t\t\tthis.renderChildren(this.parentDomNode,nextSibling);\n\t\t\treturn true;\n\t\t}\n\t} else {\n\t\t// If the list was empty then we need to remove the empty message\n\t\tif(prevList.length === 0) {\n\t\t\tthis.removeChildDomNodes();\n\t\t\tthis.children = [];\n\t\t}\n\t\t// Cycle through the list, inserting and removing list items as needed\n\t\tvar hasRefreshed = false;\n\t\tfor(var t=0; t<this.list.length; t++) {\n\t\t\tvar index = this.findListItem(t,this.list[t]);\n\t\t\tif(index === undefined) {\n\t\t\t\t// The list item must be inserted\n\t\t\t\tthis.insertListItem(t,this.list[t]);\n\t\t\t\thasRefreshed = true;\n\t\t\t} else {\n\t\t\t\t// There are intervening list items that must be removed\n\t\t\t\tfor(var n=index-1; n>=t; n--) {\n\t\t\t\t\tthis.removeListItem(n);\n\t\t\t\t\thasRefreshed = true;\n\t\t\t\t}\n\t\t\t\t// Refresh the item we're reusing\n\t\t\t\tvar refreshed = this.children[t].refresh(changedTiddlers);\n\t\t\t\thasRefreshed = hasRefreshed || refreshed;\n\t\t\t}\n\t\t}\n\t\t// Remove any left over items\n\t\tfor(t=this.children.length-1; t>=this.list.length; t--) {\n\t\t\tthis.removeListItem(t);\n\t\t\thasRefreshed = true;\n\t\t}\n\t\treturn hasRefreshed;\n\t}\n};\n\n/*\nFind the list item with a given title, starting from a specified position\n*/\nListWidget.prototype.findListItem = function(startIndex,title) {\n\twhile(startIndex < this.children.length) {\n\t\tif(this.children[startIndex].parseTreeNode.itemTitle === title) {\n\t\t\treturn startIndex;\n\t\t}\n\t\tstartIndex++;\n\t}\n\treturn undefined;\n};\n\n/*\nInsert a new list item at the specified index\n*/\nListWidget.prototype.insertListItem = function(index,title) {\n\t// Create, insert and render the new child widgets\n\tvar widget = this.makeChildWidget(this.makeItemTemplate(title));\n\twidget.parentDomNode = this.parentDomNode; // Hack to enable findNextSiblingDomNode() to work\n\tthis.children.splice(index,0,widget);\n\tvar nextSibling = widget.findNextSiblingDomNode();\n\twidget.render(this.parentDomNode,nextSibling);\n\t// Animate the insertion if required\n\tif(this.storyview && this.storyview.insert) {\n\t\tthis.storyview.insert(widget);\n\t}\n\treturn true;\n};\n\n/*\nRemove the specified list item\n*/\nListWidget.prototype.removeListItem = function(index) {\n\tvar widget = this.children[index];\n\t// Animate the removal if required\n\tif(this.storyview && this.storyview.remove) {\n\t\tthis.storyview.remove(widget);\n\t} else {\n\t\twidget.removeChildDomNodes();\n\t}\n\t// Remove the child widget\n\tthis.children.splice(index,1);\n};\n\nexports.list = ListWidget;\n\nvar ListItemWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nListItemWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nListItemWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nListItemWidget.prototype.execute = function() {\n\t// Set the current list item title\n\tthis.setVariable(this.parseTreeNode.variableName,this.parseTreeNode.itemTitle);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nListItemWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.listitem = ListItemWidget;\n\n})();",
            "title": "$:/core/modules/widgets/list.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/macrocall.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/macrocall.js\ntype: application/javascript\nmodule-type: widget\n\nMacrocall widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar MacroCallWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nMacroCallWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nMacroCallWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nMacroCallWidget.prototype.execute = function() {\n\t// Get the parse type if specified\n\tthis.parseType = this.getAttribute(\"$type\",\"text/vnd.tiddlywiki\");\n\tthis.renderOutput = this.getAttribute(\"$output\",\"text/html\");\n\t// Merge together the parameters specified in the parse tree with the specified attributes\n\tvar params = this.parseTreeNode.params ? this.parseTreeNode.params.slice(0) : [];\n\t$tw.utils.each(this.attributes,function(attribute,name) {\n\t\tif(name.charAt(0) !== \"$\") {\n\t\t\tparams.push({name: name, value: attribute});\t\t\t\n\t\t}\n\t});\n\t// Get the macro value\n\tvar text = this.getVariable(this.parseTreeNode.name || this.getAttribute(\"$name\"),{params: params}),\n\t\tparseTreeNodes;\n\t// Are we rendering to HTML?\n\tif(this.renderOutput === \"text/html\") {\n\t\t// If so we'll return the parsed macro\n\t\tvar parser = this.wiki.parseText(this.parseType,text,\n\t\t\t\t\t\t\t{parseAsInline: !this.parseTreeNode.isBlock});\n\t\tparseTreeNodes = parser ? parser.tree : [];\n\t} else {\n\t\t// Otherwise, we'll render the text\n\t\tvar plainText = this.wiki.renderText(\"text/plain\",this.parseType,text,{parentWidget: this});\n\t\tparseTreeNodes = [{type: \"text\", text: plainText}];\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nMacroCallWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif($tw.utils.count(changedAttributes) > 0) {\n\t\t// Rerender ourselves\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.macrocall = MacroCallWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/macrocall.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/navigator.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/navigator.js\ntype: application/javascript\nmodule-type: widget\n\nNavigator widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar IMPORT_TITLE = \"$:/Import\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar NavigatorWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.addEventListeners([\n\t\t{type: \"tm-navigate\", handler: \"handleNavigateEvent\"},\n\t\t{type: \"tm-edit-tiddler\", handler: \"handleEditTiddlerEvent\"},\n\t\t{type: \"tm-delete-tiddler\", handler: \"handleDeleteTiddlerEvent\"},\n\t\t{type: \"tm-save-tiddler\", handler: \"handleSaveTiddlerEvent\"},\n\t\t{type: \"tm-cancel-tiddler\", handler: \"handleCancelTiddlerEvent\"},\n\t\t{type: \"tm-close-tiddler\", handler: \"handleCloseTiddlerEvent\"},\n\t\t{type: \"tm-close-all-tiddlers\", handler: \"handleCloseAllTiddlersEvent\"},\n\t\t{type: \"tm-close-other-tiddlers\", handler: \"handleCloseOtherTiddlersEvent\"},\n\t\t{type: \"tm-new-tiddler\", handler: \"handleNewTiddlerEvent\"},\n\t\t{type: \"tm-import-tiddlers\", handler: \"handleImportTiddlersEvent\"},\n\t\t{type: \"tm-perform-import\", handler: \"handlePerformImportEvent\"},\n\t\t{type: \"tm-fold-tiddler\", handler: \"handleFoldTiddlerEvent\"},\n\t\t{type: \"tm-fold-other-tiddlers\", handler: \"handleFoldOtherTiddlersEvent\"},\n\t\t{type: \"tm-fold-all-tiddlers\", handler: \"handleFoldAllTiddlersEvent\"},\n\t\t{type: \"tm-unfold-all-tiddlers\", handler: \"handleUnfoldAllTiddlersEvent\"},\n\t\t{type: \"tm-rename-tiddler\", handler: \"handleRenameTiddlerEvent\"}\n\t]);\n};\n\n/*\nInherit from the base widget class\n*/\nNavigatorWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nNavigatorWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nNavigatorWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.storyTitle = this.getAttribute(\"story\");\n\tthis.historyTitle = this.getAttribute(\"history\");\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nNavigatorWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.story || changedAttributes.history) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nNavigatorWidget.prototype.getStoryList = function() {\n\treturn this.storyTitle ? this.wiki.getTiddlerList(this.storyTitle) : null;\n};\n\nNavigatorWidget.prototype.saveStoryList = function(storyList) {\n\tvar storyTiddler = this.wiki.getTiddler(this.storyTitle);\n\tthis.wiki.addTiddler(new $tw.Tiddler(\n\t\t{title: this.storyTitle},\n\t\tstoryTiddler,\n\t\t{list: storyList}\n\t));\n};\n\nNavigatorWidget.prototype.removeTitleFromStory = function(storyList,title) {\n\tvar p = storyList.indexOf(title);\n\twhile(p !== -1) {\n\t\tstoryList.splice(p,1);\n\t\tp = storyList.indexOf(title);\n\t}\n};\n\nNavigatorWidget.prototype.replaceFirstTitleInStory = function(storyList,oldTitle,newTitle) {\n\tvar pos = storyList.indexOf(oldTitle);\n\tif(pos !== -1) {\n\t\tstoryList[pos] = newTitle;\n\t\tdo {\n\t\t\tpos = storyList.indexOf(oldTitle,pos + 1);\n\t\t\tif(pos !== -1) {\n\t\t\t\tstoryList.splice(pos,1);\n\t\t\t}\n\t\t} while(pos !== -1);\n\t} else {\n\t\tstoryList.splice(0,0,newTitle);\n\t}\n};\n\nNavigatorWidget.prototype.addToStory = function(title,fromTitle) {\n\tvar storyList = this.getStoryList();\n\t// Quit if we cannot get hold of the story list\n\tif(!storyList) {\n\t\treturn;\n\t}\n\t// See if the tiddler is already there\n\tvar slot = storyList.indexOf(title);\n\t// Quit if it already exists in the story river\n\tif(slot >= 0) {\n\t\treturn;\n\t}\n\t// First we try to find the position of the story element we navigated from\n\tvar fromIndex = storyList.indexOf(fromTitle);\n\tif(fromIndex >= 0) {\n\t\t// The tiddler is added from inside the river\n\t\t// Determine where to insert the tiddler; Fallback is \"below\"\n\t\tswitch(this.getAttribute(\"openLinkFromInsideRiver\",\"below\")) {\n\t\t\tcase \"top\":\n\t\t\t\tslot = 0;\n\t\t\t\tbreak;\n\t\t\tcase \"bottom\":\n\t\t\t\tslot = storyList.length;\n\t\t\t\tbreak;\n\t\t\tcase \"above\":\n\t\t\t\tslot = fromIndex;\n\t\t\t\tbreak;\n\t\t\tcase \"below\": // Intentional fall-through\n\t\t\tdefault:\n\t\t\t\tslot = fromIndex + 1;\n\t\t\t\tbreak;\n\t\t}\n\t} else {\n\t\t// The tiddler is opened from outside the river. Determine where to insert the tiddler; default is \"top\"\n\t\tif(this.getAttribute(\"openLinkFromOutsideRiver\",\"top\") === \"bottom\") {\n\t\t\t// Insert at bottom\n\t\t\tslot = storyList.length;\n\t\t} else {\n\t\t\t// Insert at top\n\t\t\tslot = 0;\n\t\t}\n\t}\n\t// Add the tiddler\n\tstoryList.splice(slot,0,title);\n\t// Save the story\n\tthis.saveStoryList(storyList);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\n*/\nNavigatorWidget.prototype.addToHistory = function(title,fromPageRect) {\n\tthis.wiki.addToHistory(title,fromPageRect,this.historyTitle);\n};\n\n/*\nHandle a tm-navigate event\n*/\nNavigatorWidget.prototype.handleNavigateEvent = function(event) {\n\tif(event.navigateTo) {\n\t\tthis.addToStory(event.navigateTo,event.navigateFromTitle);\n\t\tif(!event.navigateSuppressNavigation) {\n\t\t\tthis.addToHistory(event.navigateTo,event.navigateFromClientRect);\n\t\t}\n\t}\n\treturn false;\n};\n\n// Close a specified tiddler\nNavigatorWidget.prototype.handleCloseTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\tstoryList = this.getStoryList();\n\t// Look for tiddlers with this title to close\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\treturn false;\n};\n\n// Close all tiddlers\nNavigatorWidget.prototype.handleCloseAllTiddlersEvent = function(event) {\n\tthis.saveStoryList([]);\n\treturn false;\n};\n\n// Close other tiddlers\nNavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle;\n\tthis.saveStoryList([title]);\n\treturn false;\n};\n\n// Place a tiddler in edit mode\nNavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {\n\tvar self = this;\n\tfunction isUnmodifiedShadow(title) {\n\t\treturn self.wiki.isShadowTiddler(title) && !self.wiki.tiddlerExists(title);\n\t}\n\tfunction confirmEditShadow(title) {\n\t\treturn confirm($tw.language.getString(\n\t\t\t\"ConfirmEditShadowTiddler\",\n\t\t\t{variables:\n\t\t\t\t{title: title}\n\t\t\t}\n\t\t));\n\t}\n\tvar title = event.param || event.tiddlerTitle;\n\tif(isUnmodifiedShadow(title) && !confirmEditShadow(title)) {\n\t\treturn false;\n\t}\n\t// Replace the specified tiddler with a draft in edit mode\n\tvar draftTiddler = this.makeDraftTiddler(title);\n\t// Update the story and history if required\n\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\tvar draftTitle = draftTiddler.fields.title,\n\t\t\tstoryList = this.getStoryList();\n\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\tthis.saveStoryList(storyList);\n\t\treturn false;\n\t}\n};\n\n// Delete a tiddler\nNavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {\n\t// Get the tiddler we're deleting\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList(),\n\t\toriginalTitle = tiddler ? tiddler.fields[\"draft.of\"] : \"\",\n\t\tconfirmationTitle;\n\tif(!tiddler) {\n\t\treturn false;\n\t}\n\t// Check if the tiddler we're deleting is in draft mode\n\tif(originalTitle) {\n\t\t// If so, we'll prompt for confirmation referencing the original tiddler\n\t\tconfirmationTitle = originalTitle;\n\t} else {\n\t\t// If not a draft, then prompt for confirmation referencing the specified tiddler\n\t\tconfirmationTitle = title;\n\t}\n\t// Seek confirmation\n\tif((this.wiki.getTiddler(originalTitle) || (tiddler.fields.text || \"\") !== \"\") && !confirm($tw.language.getString(\n\t\t\t\t\"ConfirmDeleteTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: confirmationTitle}\n\t\t\t\t}\n\t\t\t))) {\n\t\treturn false;\n\t}\n\t// Delete the original tiddler\n\tif(originalTitle) {\n\t\tthis.wiki.deleteTiddler(originalTitle);\n\t\tthis.removeTitleFromStory(storyList,originalTitle);\n\t}\n\t// Delete this tiddler\n\tthis.wiki.deleteTiddler(title);\n\t// Remove the closed tiddler from the story\n\tthis.removeTitleFromStory(storyList,title);\n\tthis.saveStoryList(storyList);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\treturn false;\n};\n\n/*\nCreate/reuse the draft tiddler for a given title\n*/\nNavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {\n\t// See if there is already a draft tiddler for this tiddler\n\tvar draftTitle = this.wiki.findDraft(targetTitle);\n\tif(draftTitle) {\n\t\treturn this.wiki.getTiddler(draftTitle);\n\t}\n\t// Get the current value of the tiddler we're editing\n\tvar tiddler = this.wiki.getTiddler(targetTitle);\n\t// Save the initial value of the draft tiddler\n\tdraftTitle = this.generateDraftTitle(targetTitle);\n\tvar draftTiddler = new $tw.Tiddler(\n\t\t\ttiddler,\n\t\t\t{\n\t\t\t\ttitle: draftTitle,\n\t\t\t\t\"draft.title\": targetTitle,\n\t\t\t\t\"draft.of\": targetTitle\n\t\t\t},\n\t\t\tthis.wiki.getModificationFields()\n\t\t);\n\tthis.wiki.addTiddler(draftTiddler);\n\treturn draftTiddler;\n};\n\n/*\nGenerate a title for the draft of a given tiddler\n*/\nNavigatorWidget.prototype.generateDraftTitle = function(title) {\n\tvar c = 0,\n\t\tdraftTitle;\n\tdo {\n\t\tdraftTitle = \"Draft \" + (c ? (c + 1) + \" \" : \"\") + \"of '\" + title + \"'\";\n\t\tc++;\n\t} while(this.wiki.tiddlerExists(draftTitle));\n\treturn draftTitle;\n};\n\n// Take a tiddler out of edit mode, saving the changes\nNavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {\n\tvar title = event.param || event.tiddlerTitle,\n\t\ttiddler = this.wiki.getTiddler(title),\n\t\tstoryList = this.getStoryList();\n\t// Replace the original tiddler with the draft\n\tif(tiddler) {\n\t\tvar draftTitle = (tiddler.fields[\"draft.title\"] || \"\").trim(),\n\t\t\tdraftOf = (tiddler.fields[\"draft.of\"] || \"\").trim();\n\t\tif(draftTitle) {\n\t\t\tvar isRename = draftOf !== draftTitle,\n\t\t\t\tisConfirmed = true;\n\t\t\tif(isRename && this.wiki.tiddlerExists(draftTitle)) {\n\t\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\t\"ConfirmOverwriteTiddler\",\n\t\t\t\t\t{variables:\n\t\t\t\t\t\t{title: draftTitle}\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t\t}\n\t\t\tif(isConfirmed) {\n\t\t\t\t// Create the new tiddler and pass it through the th-saving-tiddler hook\n\t\t\t\tvar newTiddler = new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{\n\t\t\t\t\ttitle: draftTitle,\n\t\t\t\t\t\"draft.title\": undefined,\n\t\t\t\t\t\"draft.of\": undefined\n\t\t\t\t},this.wiki.getModificationFields());\n\t\t\t\tnewTiddler = $tw.hooks.invokeHook(\"th-saving-tiddler\",newTiddler);\n\t\t\t\tthis.wiki.addTiddler(newTiddler);\n\t\t\t\t// Remove the draft tiddler\n\t\t\t\tthis.wiki.deleteTiddler(title);\n\t\t\t\t// Remove the original tiddler if we're renaming it\n\t\t\t\tif(isRename) {\n\t\t\t\t\tthis.wiki.deleteTiddler(draftOf);\n\t\t\t\t}\n\t\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\t\t// Replace the draft in the story with the original\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,title,draftTitle);\n\t\t\t\t\tthis.addToHistory(draftTitle,event.navigateFromClientRect);\n\t\t\t\t\tif(draftTitle !== this.storyTitle) {\n\t\t\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Trigger an autosave\n\t\t\t\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Take a tiddler out of edit mode without saving the changes\nNavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {\n\t// Flip the specified tiddler from draft back to the original\n\tvar draftTitle = event.param || event.tiddlerTitle,\n\t\tdraftTiddler = this.wiki.getTiddler(draftTitle),\n\t\toriginalTitle = draftTiddler && draftTiddler.fields[\"draft.of\"];\n\tif(draftTiddler && originalTitle) {\n\t\t// Ask for confirmation if the tiddler text has changed\n\t\tvar isConfirmed = true,\n\t\t\toriginalTiddler = this.wiki.getTiddler(originalTitle),\n\t\t\tstoryList = this.getStoryList();\n\t\tif(this.wiki.isDraftModified(draftTitle)) {\n\t\t\tisConfirmed = confirm($tw.language.getString(\n\t\t\t\t\"ConfirmCancelTiddler\",\n\t\t\t\t{variables:\n\t\t\t\t\t{title: draftTitle}\n\t\t\t\t}\n\t\t\t));\n\t\t}\n\t\t// Remove the draft tiddler\n\t\tif(isConfirmed) {\n\t\t\tthis.wiki.deleteTiddler(draftTitle);\n\t\t\tif(!event.paramObject || event.paramObject.suppressNavigation !== \"yes\") {\n\t\t\t\tif(originalTiddler) {\n\t\t\t\t\tthis.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);\n\t\t\t\t\tthis.addToHistory(originalTitle,event.navigateFromClientRect);\n\t\t\t\t} else {\n\t\t\t\t\tthis.removeTitleFromStory(storyList,draftTitle);\n\t\t\t\t}\n\t\t\t\tthis.saveStoryList(storyList);\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n};\n\n// Create a new draft tiddler\n// event.param can either be the title of a template tiddler, or a hashmap of fields.\n//\n// The title of the newly created tiddler follows these rules:\n// * If a hashmap was used and a title field was specified, use that title\n// * If a hashmap was used without a title field, use a default title, if necessary making it unique with a numeric suffix\n// * If a template tiddler was used, use the title of the template, if necessary making it unique with a numeric suffix\n//\n// If a draft of the target tiddler already exists then it is reused\nNavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {\n\t// Get the story details\n\tvar storyList = this.getStoryList(),\n\t\ttemplateTiddler, additionalFields, title, draftTitle, existingTiddler;\n\t// Get the template tiddler (if any)\n\tif(typeof event.param === \"string\") {\n\t\t// Get the template tiddler\n\t\ttemplateTiddler = this.wiki.getTiddler(event.param);\n\t\t// Generate a new title\n\t\ttitle = this.wiki.generateNewTitle(event.param || $tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t}\n\t// Get the specified additional fields\n\tif(typeof event.paramObject === \"object\") {\n\t\tadditionalFields = event.paramObject;\n\t}\n\tif(typeof event.param === \"object\") { // Backwards compatibility with 5.1.3\n\t\tadditionalFields = event.param;\n\t}\n\tif(additionalFields && additionalFields.title) {\n\t\ttitle = additionalFields.title;\n\t}\n\t// Generate a title if we don't have one\n\ttitle = title || this.wiki.generateNewTitle($tw.language.getString(\"DefaultNewTiddlerTitle\"));\n\t// Find any existing draft for this tiddler\n\tdraftTitle = this.wiki.findDraft(title);\n\t// Pull in any existing tiddler\n\tif(draftTitle) {\n\t\texistingTiddler = this.wiki.getTiddler(draftTitle);\n\t} else {\n\t\tdraftTitle = this.generateDraftTitle(title);\n\t\texistingTiddler = this.wiki.getTiddler(title);\n\t}\n\t// Merge the tags\n\tvar mergedTags = [];\n\tif(existingTiddler && existingTiddler.fields.tags) {\n\t\t$tw.utils.pushTop(mergedTags,existingTiddler.fields.tags)\n\t}\n\tif(additionalFields && additionalFields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));\n\t}\n\tif(templateTiddler && templateTiddler.fields.tags) {\n\t\t// Merge tags\n\t\tmergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);\n\t}\n\t// Save the draft tiddler\n\tvar draftTiddler = new $tw.Tiddler({\n\t\t\ttext: \"\",\n\t\t\t\"draft.title\": title\n\t\t},\n\t\ttemplateTiddler,\n\t\texistingTiddler,\n\t\tadditionalFields,\n\t\tthis.wiki.getCreationFields(),\n\t\t{\n\t\t\ttitle: draftTitle,\n\t\t\t\"draft.of\": title,\n\t\t\ttags: mergedTags\n\t\t},this.wiki.getModificationFields());\n\tthis.wiki.addTiddler(draftTiddler);\n\t// Update the story to insert the new draft at the top and remove any existing tiddler\n\tif(storyList.indexOf(draftTitle) === -1) {\n\t\tvar slot = storyList.indexOf(event.navigateFromTitle);\n\t\tstoryList.splice(slot + 1,0,draftTitle);\n\t}\n\tif(storyList.indexOf(title) !== -1) {\n\t\tstoryList.splice(storyList.indexOf(title),1);\t\t\n\t}\n\tthis.saveStoryList(storyList);\n\t// Add a new record to the top of the history stack\n\tthis.addToHistory(draftTitle);\n\treturn false;\n};\n\n// Import JSON tiddlers into a pending import tiddler\nNavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {\n\tvar self = this;\n\t// Get the tiddlers\n\tvar tiddlers = [];\n\ttry {\n\t\ttiddlers = JSON.parse(event.param);\t\n\t} catch(e) {\n\t}\n\t// Get the current $:/Import tiddler\n\tvar importTiddler = this.wiki.getTiddler(IMPORT_TITLE),\n\t\timportData = this.wiki.getTiddlerData(IMPORT_TITLE,{}),\n\t\tnewFields = new Object({\n\t\t\ttitle: IMPORT_TITLE,\n\t\t\ttype: \"application/json\",\n\t\t\t\"plugin-type\": \"import\",\n\t\t\t\"status\": \"pending\"\n\t\t}),\n\t\tincomingTiddlers = [];\n\t// Process each tiddler\n\timportData.tiddlers = importData.tiddlers || {};\n\t$tw.utils.each(tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title) {\n\t\t\tincomingTiddlers.push(title);\n\t\t\timportData.tiddlers[title] = tiddlerFields;\n\t\t}\n\t});\n\t// Give the active upgrader modules a chance to process the incoming tiddlers\n\tvar messages = this.wiki.invokeUpgraders(incomingTiddlers,importData.tiddlers);\n\t$tw.utils.each(messages,function(message,title) {\n\t\tnewFields[\"message-\" + title] = message;\n\t});\n\t// Deselect any suppressed tiddlers\n\t$tw.utils.each(importData.tiddlers,function(tiddler,title) {\n\t\tif($tw.utils.count(tiddler) === 0) {\n\t\t\tnewFields[\"selection-\" + title] = \"unchecked\";\n\t\t}\n\t});\n\t// Save the $:/Import tiddler\n\tnewFields.text = JSON.stringify(importData,null,$tw.config.preferences.jsonSpaces);\n\tthis.wiki.addTiddler(new $tw.Tiddler(importTiddler,newFields));\n\t// Update the story and history details\n\tif(this.getVariable(\"tv-auto-open-on-import\") !== \"no\") {\n\t\tvar storyList = this.getStoryList(),\n\t\t\thistory = [];\n\t\t// Add it to the story\n\t\tif(storyList.indexOf(IMPORT_TITLE) === -1) {\n\t\t\tstoryList.unshift(IMPORT_TITLE);\n\t\t}\n\t\t// And to history\n\t\thistory.push(IMPORT_TITLE);\n\t\t// Save the updated story and history\n\t\tthis.saveStoryList(storyList);\n\t\tthis.addToHistory(history);\t\t\n\t}\n\treturn false;\n};\n\n// \nNavigatorWidget.prototype.handlePerformImportEvent = function(event) {\n\tvar self = this,\n\t\timportTiddler = this.wiki.getTiddler(event.param),\n\t\timportData = this.wiki.getTiddlerDataCached(event.param,{tiddlers: {}}),\n\t\timportReport = [];\n\t// Add the tiddlers to the store\n\timportReport.push($tw.language.getString(\"Import/Imported/Hint\") + \"\\n\");\n\t$tw.utils.each(importData.tiddlers,function(tiddlerFields) {\n\t\tvar title = tiddlerFields.title;\n\t\tif(title && importTiddler && importTiddler.fields[\"selection-\" + title] !== \"unchecked\") {\n\t\t\tself.wiki.addTiddler(new $tw.Tiddler(tiddlerFields));\n\t\t\timportReport.push(\"# [[\" + tiddlerFields.title + \"]]\");\n\t\t}\n\t});\n\t// Replace the $:/Import tiddler with an import report\n\tthis.wiki.addTiddler(new $tw.Tiddler({\n\t\ttitle: event.param,\n\t\ttext: importReport.join(\"\\n\"),\n\t\t\"status\": \"complete\"\n\t}));\n\t// Navigate to the $:/Import tiddler\n\tthis.addToHistory([event.param]);\n\t// Trigger an autosave\n\t$tw.rootWidget.dispatchEvent({type: \"tm-auto-save-wiki\"});\n};\n\nNavigatorWidget.prototype.handleFoldTiddlerEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {};\n\tif(paramObject.foldedState) {\n\t\tvar foldedState = this.wiki.getTiddlerText(paramObject.foldedState,\"show\") === \"show\" ? \"hide\" : \"show\";\n\t\tthis.wiki.setText(paramObject.foldedState,\"text\",null,foldedState);\n\t}\n};\n\nNavigatorWidget.prototype.handleFoldOtherTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,event.param === title ? \"show\" : \"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleFoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"hide\");\n\t});\n};\n\nNavigatorWidget.prototype.handleUnfoldAllTiddlersEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tprefix = paramObject.foldedStatePrefix;\n\t$tw.utils.each(this.getStoryList(),function(title) {\n\t\tself.wiki.setText(prefix + title,\"text\",null,\"show\");\n\t});\n};\n\nNavigatorWidget.prototype.handleRenameTiddlerEvent = function(event) {\n\tvar self = this,\n\t\tparamObject = event.paramObject || {},\n\t\tfrom = paramObject.from || event.tiddlerTitle,\n\t\tto = paramObject.to;\n\t$tw.wiki.renameTiddler(from,to);\n};\n\nexports.navigator = NavigatorWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/navigator.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/password.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/password.js\ntype: application/javascript\nmodule-type: widget\n\nPassword widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar PasswordWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nPasswordWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nPasswordWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Get the current password\n\tvar password = $tw.browser ? $tw.utils.getPassword(this.passwordName) || \"\" : \"\";\n\t// Create our element\n\tvar domNode = this.document.createElement(\"input\");\n\tdomNode.setAttribute(\"type\",\"password\");\n\tdomNode.setAttribute(\"value\",password);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(domNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tthis.domNodes.push(domNode);\n};\n\nPasswordWidget.prototype.handleChangeEvent = function(event) {\n\tvar password = this.domNodes[0].value;\n\treturn $tw.utils.savePassword(this.passwordName,password);\n};\n\n/*\nCompute the internal state of the widget\n*/\nPasswordWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.passwordName = this.getAttribute(\"name\",\"\");\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nPasswordWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.password = PasswordWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/password.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/radio.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/radio.js\ntype: application/javascript\nmodule-type: widget\n\nRadio widget\n\nWill set a field to the selected value:\n\n```\n\t<$radio field=\"myfield\" value=\"check 1\">one</$radio>\n\t<$radio field=\"myfield\" value=\"check 2\">two</$radio>\n\t<$radio field=\"myfield\" value=\"check 3\">three</$radio>\n```\n\n|Parameter |Description |h\n|tiddler |Name of the tiddler in which the field should be set. Defaults to current tiddler |\n|field |The name of the field to be set |\n|value |The value to set |\n|class |Optional class name(s) |\n\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RadioWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRadioWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRadioWidget.prototype.render = function(parent,nextSibling) {\n\t// Save the parent dom node\n\tthis.parentDomNode = parent;\n\t// Compute our attributes\n\tthis.computeAttributes();\n\t// Execute our logic\n\tthis.execute();\n\t// Create our elements\n\tthis.labelDomNode = this.document.createElement(\"label\");\n\tthis.labelDomNode.setAttribute(\"class\",this.radioClass);\n\tthis.inputDomNode = this.document.createElement(\"input\");\n\tthis.inputDomNode.setAttribute(\"type\",\"radio\");\n\tif(this.getValue() == this.radioValue) {\n\t\tthis.inputDomNode.setAttribute(\"checked\",\"true\");\n\t}\n\tthis.labelDomNode.appendChild(this.inputDomNode);\n\tthis.spanDomNode = this.document.createElement(\"span\");\n\tthis.labelDomNode.appendChild(this.spanDomNode);\n\t// Add a click event handler\n\t$tw.utils.addEventListeners(this.inputDomNode,[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n\t// Insert the label into the DOM and render any children\n\tparent.insertBefore(this.labelDomNode,nextSibling);\n\tthis.renderChildren(this.spanDomNode,null);\n\tthis.domNodes.push(this.labelDomNode);\n};\n\nRadioWidget.prototype.getValue = function() {\n\tvar tiddler = this.wiki.getTiddler(this.radioTitle);\n\treturn tiddler && tiddler.getFieldString(this.radioField);\n};\n\nRadioWidget.prototype.setValue = function() {\n\tif(this.radioField) {\n\t\tvar tiddler = this.wiki.getTiddler(this.radioTitle),\n\t\t\taddition = {};\n\t\taddition[this.radioField] = this.radioValue;\n\t\tthis.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),{title: this.radioTitle},tiddler,addition,this.wiki.getModificationFields()));\n\t}\n};\n\nRadioWidget.prototype.handleChangeEvent = function(event) {\n\tif(this.inputDomNode.checked) {\n\t\tthis.setValue();\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRadioWidget.prototype.execute = function() {\n\t// Get the parameters from the attributes\n\tthis.radioTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.radioField = this.getAttribute(\"field\",\"text\");\n\tthis.radioValue = this.getAttribute(\"value\");\n\tthis.radioClass = this.getAttribute(\"class\",\"\");\n\tif(this.radioClass !== \"\") {\n\t\tthis.radioClass += \" \";\n\t}\n\tthis.radioClass += \"tc-radio\";\n\t// Make the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRadioWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.value || changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false;\n\t\tif(changedTiddlers[this.radioTitle]) {\n\t\t\tthis.inputDomNode.checked = this.getValue() === this.radioValue;\n\t\t\trefreshed = true;\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\nexports.radio = RadioWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/radio.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/raw.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/raw.js\ntype: application/javascript\nmodule-type: widget\n\nRaw widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RawWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRawWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRawWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tvar div = this.document.createElement(\"div\");\n\tdiv.innerHTML=this.parseTreeNode.html;\n\tparent.insertBefore(div,nextSibling);\n\tthis.domNodes.push(div);\t\n};\n\n/*\nCompute the internal state of the widget\n*/\nRawWidget.prototype.execute = function() {\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRawWidget.prototype.refresh = function(changedTiddlers) {\n\treturn false;\n};\n\nexports.raw = RawWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/raw.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/reveal.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/reveal.js\ntype: application/javascript\nmodule-type: widget\n\nReveal widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar RevealWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nRevealWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nRevealWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar tag = this.parseTreeNode.isBlock ? \"div\" : \"span\";\n\tif(this.revealTag && $tw.config.htmlUnsafeElements.indexOf(this.revealTag) === -1) {\n\t\ttag = this.revealTag;\n\t}\n\tvar domNode = this.document.createElement(tag);\n\tvar classes = this[\"class\"].split(\" \") || [];\n\tclasses.push(\"tc-reveal\");\n\tdomNode.className = classes.join(\" \");\n\tif(this.style) {\n\t\tdomNode.setAttribute(\"style\",this.style);\n\t}\n\tparent.insertBefore(domNode,nextSibling);\n\tthis.renderChildren(domNode,null);\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\t}\n\tif(!this.isOpen) {\n\t\tdomNode.setAttribute(\"hidden\",\"true\");\n\t}\n\tthis.domNodes.push(domNode);\n};\n\nRevealWidget.prototype.positionPopup = function(domNode) {\n\tdomNode.style.position = \"absolute\";\n\tdomNode.style.zIndex = \"1000\";\n\tswitch(this.position) {\n\t\tcase \"left\":\n\t\t\tdomNode.style.left = (this.popup.left - domNode.offsetWidth) + \"px\";\n\t\t\tdomNode.style.top = this.popup.top + \"px\";\n\t\t\tbreak;\n\t\tcase \"above\":\n\t\t\tdomNode.style.left = this.popup.left + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top - domNode.offsetHeight) + \"px\";\n\t\t\tbreak;\n\t\tcase \"aboveright\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width) + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height - domNode.offsetHeight) + \"px\";\n\t\t\tbreak;\n\t\tcase \"right\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width) + \"px\";\n\t\t\tdomNode.style.top = this.popup.top + \"px\";\n\t\t\tbreak;\n\t\tcase \"belowleft\":\n\t\t\tdomNode.style.left = (this.popup.left + this.popup.width - domNode.offsetWidth) + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height) + \"px\";\n\t\t\tbreak;\n\t\tdefault: // Below\n\t\t\tdomNode.style.left = this.popup.left + \"px\";\n\t\t\tdomNode.style.top = (this.popup.top + this.popup.height) + \"px\";\n\t\t\tbreak;\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nRevealWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.state = this.getAttribute(\"state\");\n\tthis.revealTag = this.getAttribute(\"tag\");\n\tthis.type = this.getAttribute(\"type\");\n\tthis.text = this.getAttribute(\"text\");\n\tthis.position = this.getAttribute(\"position\");\n\tthis[\"class\"] = this.getAttribute(\"class\",\"\");\n\tthis.style = this.getAttribute(\"style\",\"\");\n\tthis[\"default\"] = this.getAttribute(\"default\",\"\");\n\tthis.animate = this.getAttribute(\"animate\",\"no\");\n\tthis.retain = this.getAttribute(\"retain\",\"no\");\n\tthis.openAnimation = this.animate === \"no\" ? undefined : \"open\";\n\tthis.closeAnimation = this.animate === \"no\" ? undefined : \"close\";\n\t// Compute the title of the state tiddler and read it\n\tthis.stateTitle = this.state;\n\tthis.readState();\n\t// Construct the child widgets\n\tvar childNodes = this.isOpen ? this.parseTreeNode.children : [];\n\tthis.hasChildNodes = this.isOpen;\n\tthis.makeChildWidgets(childNodes);\n};\n\n/*\nRead the state tiddler\n*/\nRevealWidget.prototype.readState = function() {\n\t// Read the information from the state tiddler\n\tvar state = this.stateTitle ? this.wiki.getTextReference(this.stateTitle,this[\"default\"],this.getVariable(\"currentTiddler\")) : this[\"default\"];\n\tswitch(this.type) {\n\t\tcase \"popup\":\n\t\t\tthis.readPopupState(state);\n\t\t\tbreak;\n\t\tcase \"match\":\n\t\t\tthis.readMatchState(state);\n\t\t\tbreak;\n\t\tcase \"nomatch\":\n\t\t\tthis.readMatchState(state);\n\t\t\tthis.isOpen = !this.isOpen;\n\t\t\tbreak;\n\t}\n};\n\nRevealWidget.prototype.readMatchState = function(state) {\n\tthis.isOpen = state === this.text;\n};\n\nRevealWidget.prototype.readPopupState = function(state) {\n\tvar popupLocationRegExp = /^\\((-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+),(-?[0-9\\.E]+)\\)$/,\n\t\tmatch = popupLocationRegExp.exec(state);\n\t// Check if the state matches the location regexp\n\tif(match) {\n\t\t// If so, we're open\n\t\tthis.isOpen = true;\n\t\t// Get the location\n\t\tthis.popup = {\n\t\t\tleft: parseFloat(match[1]),\n\t\t\ttop: parseFloat(match[2]),\n\t\t\twidth: parseFloat(match[3]),\n\t\t\theight: parseFloat(match[4])\n\t\t};\n\t} else {\n\t\t// If not, we're closed\n\t\tthis.isOpen = false;\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nRevealWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.state || changedAttributes.type || changedAttributes.text || changedAttributes.position || changedAttributes[\"default\"] || changedAttributes.animate) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\tvar refreshed = false,\n\t\t\tcurrentlyOpen = this.isOpen;\n\t\tthis.readState();\n\t\tif(this.isOpen !== currentlyOpen) {\n\t\t\tif(this.retain === \"yes\") {\n\t\t\t\tthis.updateState();\n\t\t\t} else {\n\t\t\t\tthis.refreshSelf();\n\t\t\t\trefreshed = true;\n\t\t\t}\n\t\t}\n\t\treturn this.refreshChildren(changedTiddlers) || refreshed;\n\t}\n};\n\n/*\nCalled by refresh() to dynamically show or hide the content\n*/\nRevealWidget.prototype.updateState = function() {\n\t// Read the current state\n\tthis.readState();\n\t// Construct the child nodes if needed\n\tvar domNode = this.domNodes[0];\n\tif(this.isOpen && !this.hasChildNodes) {\n\t\tthis.hasChildNodes = true;\n\t\tthis.makeChildWidgets(this.parseTreeNode.children);\n\t\tthis.renderChildren(domNode,null);\n\t}\n\t// Animate our DOM node\n\tif(!domNode.isTiddlyWikiFakeDom && this.type === \"popup\" && this.isOpen) {\n\t\tthis.positionPopup(domNode);\n\t\t$tw.utils.addClass(domNode,\"tc-popup\"); // Make sure that clicks don't dismiss popups within the revealed content\n\n\t}\n\tif(this.isOpen) {\n\t\tdomNode.removeAttribute(\"hidden\");\n        $tw.anim.perform(this.openAnimation,domNode);\n\t} else {\n\t\t$tw.anim.perform(this.closeAnimation,domNode,{callback: function() {\n\t\t\tdomNode.setAttribute(\"hidden\",\"true\");\n        }});\n\t}\n};\n\nexports.reveal = RevealWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/reveal.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/scrollable.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/scrollable.js\ntype: application/javascript\nmodule-type: widget\n\nScrollable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ScrollableWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n\tthis.scaleFactor = 1;\n\tthis.addEventListeners([\n\t\t{type: \"tm-scroll\", handler: \"handleScrollEvent\"}\n\t]);\n\tif($tw.browser) {\n\t\tthis.requestAnimationFrame = window.requestAnimationFrame ||\n\t\t\twindow.webkitRequestAnimationFrame ||\n\t\t\twindow.mozRequestAnimationFrame ||\n\t\t\tfunction(callback) {\n\t\t\t\treturn window.setTimeout(callback, 1000/60);\n\t\t\t};\n\t\tthis.cancelAnimationFrame = window.cancelAnimationFrame ||\n\t\t\twindow.webkitCancelAnimationFrame ||\n\t\t\twindow.webkitCancelRequestAnimationFrame ||\n\t\t\twindow.mozCancelAnimationFrame ||\n\t\t\twindow.mozCancelRequestAnimationFrame ||\n\t\t\tfunction(id) {\n\t\t\t\twindow.clearTimeout(id);\n\t\t\t};\n\t}\n};\n\n/*\nInherit from the base widget class\n*/\nScrollableWidget.prototype = new Widget();\n\nScrollableWidget.prototype.cancelScroll = function() {\n\tif(this.idRequestFrame) {\n\t\tthis.cancelAnimationFrame.call(window,this.idRequestFrame);\n\t\tthis.idRequestFrame = null;\n\t}\n};\n\n/*\nHandle a scroll event\n*/\nScrollableWidget.prototype.handleScrollEvent = function(event) {\n\t// Pass the scroll event through if our offsetsize is larger than our scrollsize\n\tif(this.outerDomNode.scrollWidth <= this.outerDomNode.offsetWidth && this.outerDomNode.scrollHeight <= this.outerDomNode.offsetHeight && this.fallthrough === \"yes\") {\n\t\treturn true;\n\t}\n\tthis.scrollIntoView(event.target);\n\treturn false; // Handled event\n};\n\n/*\nScroll an element into view\n*/\nScrollableWidget.prototype.scrollIntoView = function(element) {\n\tvar duration = $tw.utils.getAnimationDuration();\n\tthis.cancelScroll();\n\tthis.startTime = Date.now();\n\tvar scrollPosition = {\n\t\tx: this.outerDomNode.scrollLeft,\n\t\ty: this.outerDomNode.scrollTop\n\t};\n\t// Get the client bounds of the element and adjust by the scroll position\n\tvar scrollableBounds = this.outerDomNode.getBoundingClientRect(),\n\t\tclientTargetBounds = element.getBoundingClientRect(),\n\t\tbounds = {\n\t\t\tleft: clientTargetBounds.left + scrollPosition.x - scrollableBounds.left,\n\t\t\ttop: clientTargetBounds.top + scrollPosition.y - scrollableBounds.top,\n\t\t\twidth: clientTargetBounds.width,\n\t\t\theight: clientTargetBounds.height\n\t\t};\n\t// We'll consider the horizontal and vertical scroll directions separately via this function\n\tvar getEndPos = function(targetPos,targetSize,currentPos,currentSize) {\n\t\t\t// If the target is already visible then stay where we are\n\t\t\tif(targetPos >= currentPos && (targetPos + targetSize) <= (currentPos + currentSize)) {\n\t\t\t\treturn currentPos;\n\t\t\t// If the target is above/left of the current view, then scroll to its top/left\n\t\t\t} else if(targetPos <= currentPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// If the target is smaller than the window and the scroll position is too far up, then scroll till the target is at the bottom of the window\n\t\t\t} else if(targetSize < currentSize && currentPos < (targetPos + targetSize - currentSize)) {\n\t\t\t\treturn targetPos + targetSize - currentSize;\n\t\t\t// If the target is big, then just scroll to the top\n\t\t\t} else if(currentPos < targetPos) {\n\t\t\t\treturn targetPos;\n\t\t\t// Otherwise, stay where we are\n\t\t\t} else {\n\t\t\t\treturn currentPos;\n\t\t\t}\n\t\t},\n\t\tendX = getEndPos(bounds.left,bounds.width,scrollPosition.x,this.outerDomNode.offsetWidth),\n\t\tendY = getEndPos(bounds.top,bounds.height,scrollPosition.y,this.outerDomNode.offsetHeight);\n\t// Only scroll if necessary\n\tif(endX !== scrollPosition.x || endY !== scrollPosition.y) {\n\t\tvar self = this,\n\t\t\tdrawFrame;\n\t\tdrawFrame = function () {\n\t\t\tvar t;\n\t\t\tif(duration <= 0) {\n\t\t\t\tt = 1;\n\t\t\t} else {\n\t\t\t\tt = ((Date.now()) - self.startTime) / duration;\t\n\t\t\t}\n\t\t\tif(t >= 1) {\n\t\t\t\tself.cancelScroll();\n\t\t\t\tt = 1;\n\t\t\t}\n\t\t\tt = $tw.utils.slowInSlowOut(t);\n\t\t\tself.outerDomNode.scrollLeft = scrollPosition.x + (endX - scrollPosition.x) * t;\n\t\t\tself.outerDomNode.scrollTop = scrollPosition.y + (endY - scrollPosition.y) * t;\n\t\t\tif(t < 1) {\n\t\t\t\tself.idRequestFrame = self.requestAnimationFrame.call(window,drawFrame);\n\t\t\t}\n\t\t};\n\t\tdrawFrame();\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nScrollableWidget.prototype.render = function(parent,nextSibling) {\n\tvar self = this;\n\t// Remember parent\n\tthis.parentDomNode = parent;\n\t// Compute attributes and execute state\n\tthis.computeAttributes();\n\tthis.execute();\n\t// Create elements\n\tthis.outerDomNode = this.document.createElement(\"div\");\n\t$tw.utils.setStyle(this.outerDomNode,[\n\t\t{overflowY: \"auto\"},\n\t\t{overflowX: \"auto\"},\n\t\t{webkitOverflowScrolling: \"touch\"}\n\t]);\n\tthis.innerDomNode = this.document.createElement(\"div\");\n\tthis.outerDomNode.appendChild(this.innerDomNode);\n\t// Assign classes\n\tthis.outerDomNode.className = this[\"class\"] || \"\";\n\t// Insert element\n\tparent.insertBefore(this.outerDomNode,nextSibling);\n\tthis.renderChildren(this.innerDomNode,null);\n\tthis.domNodes.push(this.outerDomNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nScrollableWidget.prototype.execute = function() {\n\t// Get attributes\n\tthis.fallthrough = this.getAttribute(\"fallthrough\",\"yes\");\n\tthis[\"class\"] = this.getAttribute(\"class\");\n\t// Make child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nScrollableWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes[\"class\"]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports.scrollable = ScrollableWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/scrollable.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/select.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/select.js\ntype: application/javascript\nmodule-type: widget\n\nSelect widget:\n\n```\n<$select tiddler=\"MyTiddler\" field=\"text\">\n<$list filter=\"[tag[chapter]]\">\n<option value=<<currentTiddler>>>\n<$view field=\"description\"/>\n</option>\n</$list>\n</$select>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SelectWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSelectWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSelectWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n\tthis.setSelectValue();\n\t$tw.utils.addEventListeners(this.getSelectDomNode(),[\n\t\t{name: \"change\", handlerObject: this, handlerMethod: \"handleChangeEvent\"}\n\t]);\n};\n\n/*\nHandle a change event\n*/\nSelectWidget.prototype.handleChangeEvent = function(event) {\n\t// Get the new value and assign it to the tiddler\n\tif(this.selectMultiple == false) {\n\t\tvar value = this.getSelectDomNode().value;\n\t} else {\n\t\tvar value = this.getSelectValues()\n\t\t\t\tvalue = $tw.utils.stringifyList(value);\n\t}\n\tthis.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,value);\n\t// Trigger actions\n\tif(this.selectActions) {\n\t\tthis.invokeActionString(this.selectActions,this,event);\n\t}\n};\n\n/*\nIf necessary, set the value of the select element to the current value\n*/\nSelectWidget.prototype.setSelectValue = function() {\n\tvar value = this.selectDefault;\n\t// Get the value\n\tif(this.selectIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.selectTitle,this.selectIndex);\n\t} else {\n\t\tvar tiddler = this.wiki.getTiddler(this.selectTitle);\n\t\tif(tiddler) {\n\t\t\tif(this.selectField === \"text\") {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.selectTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.selectField)) {\n\t\t\t\t\tvalue = tiddler.getFieldString(this.selectField);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.selectField === \"title\") {\n\t\t\t\tvalue = this.selectTitle;\n\t\t\t}\n\t\t}\n\t}\n\t// Assign it to the select element if it's different than the current value\n\tif (this.selectMultiple) {\n\t\tvalue = value === undefined ? \"\" : value;\n\t\tvar select = this.getSelectDomNode();\n\t\tvar values = Array.isArray(value) ? value : $tw.utils.parseStringArray(value);\n\t\tfor(var i=0; i < select.children.length; i++){\n\t\t\tif(values.indexOf(select.children[i].value) != -1) {\n\t\t\t\tselect.children[i].selected = true;\n\t\t\t}\n\t\t}\n\t\t\n\t} else {\n\t\tvar domNode = this.getSelectDomNode();\n\t\tif(domNode.value !== value) {\n\t\t\tdomNode.value = value;\n\t\t}\n\t}\n};\n\n/*\nGet the DOM node of the select element\n*/\nSelectWidget.prototype.getSelectDomNode = function() {\n\treturn this.children[0].domNodes[0];\n};\n\n// Return an array of the selected opion values\n// select is an HTML select element\nSelectWidget.prototype.getSelectValues = function() {\n\tvar select, result, options, opt;\n\tselect = this.getSelectDomNode();\n\tresult = [];\n\toptions = select && select.options;\n\tfor (var i=0; i<options.length; i++) {\n\t\topt = options[i];\n\t\tif (opt.selected) {\n\t\t\tresult.push(opt.value || opt.text);\n\t\t}\n\t}\n\treturn result;\n}\n\n/*\nCompute the internal state of the widget\n*/\nSelectWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.selectActions = this.getAttribute(\"actions\");\n\tthis.selectTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.selectField = this.getAttribute(\"field\",\"text\");\n\tthis.selectIndex = this.getAttribute(\"index\");\n\tthis.selectClass = this.getAttribute(\"class\");\n\tthis.selectDefault = this.getAttribute(\"default\");\n\tthis.selectMultiple = this.getAttribute(\"multiple\", false);\n\tthis.selectSize = this.getAttribute(\"size\");\n\t// Make the child widgets\n\tvar selectNode = {\n\t\ttype: \"element\",\n\t\ttag: \"select\",\n\t\tchildren: this.parseTreeNode.children\n\t};\n\tif(this.selectClass) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"class\",this.selectClass);\n\t}\n\tif(this.selectMultiple) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"multiple\",\"multiple\");\n\t}\n\tif(this.selectSize) {\n\t\t$tw.utils.addAttributeToParseTreeNode(selectNode,\"size\",this.selectSize);\n\t}\n\tthis.makeChildWidgets([selectNode]);\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSelectWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// If we're using a different tiddler/field/index then completely refresh ourselves\n\tif(changedAttributes.selectTitle || changedAttributes.selectField || changedAttributes.selectIndex) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t// If the target tiddler value has changed, just update setting and refresh the children\n\t} else {\n\t\tvar childrenRefreshed = this.refreshChildren(changedTiddlers);\n\t\tif(changedTiddlers[this.selectTitle] || childrenRefreshed) {\n\t\t\tthis.setSelectValue();\n\t\t} \n\t\treturn childrenRefreshed;\n\t}\n};\n\nexports.select = SelectWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/select.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/set.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/set.js\ntype: application/javascript\nmodule-type: widget\n\nSet variable widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar SetWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nSetWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nSetWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nSetWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.setName = this.getAttribute(\"name\",\"currentTiddler\");\n\tthis.setFilter = this.getAttribute(\"filter\");\n\tthis.setValue = this.getAttribute(\"value\");\n\tthis.setEmptyValue = this.getAttribute(\"emptyValue\");\n\t// Set context variable\n\tthis.setVariable(this.setName,this.getValue(),this.parseTreeNode.params);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nGet the value to be assigned\n*/\nSetWidget.prototype.getValue = function() {\n\tvar value = this.setValue;\n\tif(this.setFilter) {\n\t\tvar results = this.wiki.filterTiddlers(this.setFilter,this);\n\t\tif(!this.setValue) {\n\t\t\tvalue = $tw.utils.stringifyList(results);\n\t\t}\n\t\tif(results.length === 0 && this.setEmptyValue !== undefined) {\n\t\t\tvalue = this.setEmptyValue;\n\t\t}\n\t} else if(!value && this.setEmptyValue) {\n\t\tvalue = this.setEmptyValue;\n\t}\n\treturn value;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nSetWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.name || changedAttributes.filter || changedAttributes.value || changedAttributes.emptyValue ||\n\t   (this.setFilter && this.getValue() != this.variables[this.setName].value)) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.setvariable = SetWidget;\nexports.set = SetWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/set.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/text.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/text.js\ntype: application/javascript\nmodule-type: widget\n\nText node widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TextNodeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTextNodeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTextNodeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tvar text = this.getAttribute(\"text\",this.parseTreeNode.text || \"\");\n\ttext = text.replace(/\\r/mg,\"\");\n\tvar textNode = this.document.createTextNode(text);\n\tparent.insertBefore(textNode,nextSibling);\n\tthis.domNodes.push(textNode);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTextNodeWidget.prototype.execute = function() {\n\t// Nothing to do for a text node\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTextNodeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.text) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.text = TextNodeWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/text.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/tiddler.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/tiddler.js\ntype: application/javascript\nmodule-type: widget\n\nTiddler widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TiddlerWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTiddlerWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTiddlerWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTiddlerWidget.prototype.execute = function() {\n\tthis.tiddlerState = this.computeTiddlerState();\n\tthis.setVariable(\"currentTiddler\",this.tiddlerState.currentTiddler);\n\tthis.setVariable(\"missingTiddlerClass\",this.tiddlerState.missingTiddlerClass);\n\tthis.setVariable(\"shadowTiddlerClass\",this.tiddlerState.shadowTiddlerClass);\n\tthis.setVariable(\"systemTiddlerClass\",this.tiddlerState.systemTiddlerClass);\n\tthis.setVariable(\"tiddlerTagClasses\",this.tiddlerState.tiddlerTagClasses);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nCompute the tiddler state flags\n*/\nTiddlerWidget.prototype.computeTiddlerState = function() {\n\t// Get our parameters\n\tthis.tiddlerTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\t// Compute the state\n\tvar state = {\n\t\tcurrentTiddler: this.tiddlerTitle || \"\",\n\t\tmissingTiddlerClass: (this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? \"tc-tiddler-exists\" : \"tc-tiddler-missing\",\n\t\tshadowTiddlerClass: this.wiki.isShadowTiddler(this.tiddlerTitle) ? \"tc-tiddler-shadow\" : \"\",\n\t\tsystemTiddlerClass: this.wiki.isSystemTiddler(this.tiddlerTitle) ? \"tc-tiddler-system\" : \"\",\n\t\ttiddlerTagClasses: this.getTagClasses()\n\t};\n\t// Compute a simple hash to make it easier to detect changes\n\tstate.hash = state.currentTiddler + state.missingTiddlerClass + state.shadowTiddlerClass + state.systemTiddlerClass + state.tiddlerTagClasses;\n\treturn state;\n};\n\n/*\nCreate a string of CSS classes derived from the tags of the current tiddler\n*/\nTiddlerWidget.prototype.getTagClasses = function() {\n\tvar tiddler = this.wiki.getTiddler(this.tiddlerTitle);\n\tif(tiddler) {\n\t\tvar tags = [];\n\t\t$tw.utils.each(tiddler.fields.tags,function(tag) {\n\t\t\ttags.push(\"tc-tagged-\" + encodeURIComponent(tag));\n\t\t});\n\t\treturn tags.join(\" \");\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTiddlerWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes(),\n\t\tnewTiddlerState = this.computeTiddlerState();\n\tif(changedAttributes.tiddler || newTiddlerState.hash !== this.tiddlerState.hash) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.tiddler = TiddlerWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/tiddler.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/transclude.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/transclude.js\ntype: application/javascript\nmodule-type: widget\n\nTransclude widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar TranscludeWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nTranscludeWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nTranscludeWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nTranscludeWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.transcludeTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.transcludeSubTiddler = this.getAttribute(\"subtiddler\");\n\tthis.transcludeField = this.getAttribute(\"field\");\n\tthis.transcludeIndex = this.getAttribute(\"index\");\n\tthis.transcludeMode = this.getAttribute(\"mode\");\n\t// Parse the text reference\n\tvar parseAsInline = !this.parseTreeNode.isBlock;\n\tif(this.transcludeMode === \"inline\") {\n\t\tparseAsInline = true;\n\t} else if(this.transcludeMode === \"block\") {\n\t\tparseAsInline = false;\n\t}\n\tvar parser = this.wiki.parseTextReference(\n\t\t\t\t\t\tthis.transcludeTitle,\n\t\t\t\t\t\tthis.transcludeField,\n\t\t\t\t\t\tthis.transcludeIndex,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tparseAsInline: parseAsInline,\n\t\t\t\t\t\t\tsubTiddler: this.transcludeSubTiddler\n\t\t\t\t\t\t}),\n\t\tparseTreeNodes = parser ? parser.tree : this.parseTreeNode.children;\n\t// Set context variables for recursion detection\n\tvar recursionMarker = this.makeRecursionMarker();\n\tthis.setVariable(\"transclusion\",recursionMarker);\n\t// Check for recursion\n\tif(parser) {\n\t\tif(this.parentWidget && this.parentWidget.hasVariable(\"transclusion\",recursionMarker)) {\n\t\t\tparseTreeNodes = [{type: \"element\", tag: \"span\", attributes: {\n\t\t\t\t\"class\": {type: \"string\", value: \"tc-error\"}\n\t\t\t}, children: [\n\t\t\t\t{type: \"text\", text: $tw.language.getString(\"Error/RecursiveTransclusion\")}\n\t\t\t]}];\n\t\t}\n\t}\n\t// Construct the child widgets\n\tthis.makeChildWidgets(parseTreeNodes);\n};\n\n/*\nCompose a string comprising the title, field and/or index to identify this transclusion for recursion detection\n*/\nTranscludeWidget.prototype.makeRecursionMarker = function() {\n\tvar output = [];\n\toutput.push(\"{\");\n\toutput.push(this.getVariable(\"currentTiddler\",{defaultValue: \"\"}));\n\toutput.push(\"|\");\n\toutput.push(this.transcludeTitle || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeField || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeIndex || \"\");\n\toutput.push(\"|\");\n\toutput.push(this.transcludeSubTiddler || \"\");\n\toutput.push(\"}\");\n\treturn output.join(\"\");\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nTranscludeWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedTiddlers[this.transcludeTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn this.refreshChildren(changedTiddlers);\t\t\n\t}\n};\n\nexports.transclude = TranscludeWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/transclude.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/vars.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/vars.js\ntype: application/javascript\nmodule-type: widget\n\nThis widget allows multiple variables to be set in one go:\n\n```\n\\define helloworld() Hello world!\n<$vars greeting=\"Hi\" me={{!!title}} sentence=<<helloworld>>>\n  <<greeting>>! I am <<me>> and I say: <<sentence>>\n</$vars>\n```\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar VarsWidget = function(parseTreeNode,options) {\n\t// Call the constructor\n\tWidget.call(this);\n\t// Initialise\t\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nVarsWidget.prototype = Object.create(Widget.prototype);\n\n/*\nRender this widget into the DOM\n*/\nVarsWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nVarsWidget.prototype.execute = function() {\n\t// Parse variables\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(val,key) {\n\t\tif(key.charAt(0) !== \"$\") {\n\t\t\tself.setVariable(key,val);\n\t\t}\n\t});\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nRefresh the widget by ensuring our attributes are up to date\n*/\nVarsWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(Object.keys(changedAttributes).length) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t}\n\treturn this.refreshChildren(changedTiddlers);\n};\n\nexports[\"vars\"] = VarsWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/vars.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/view.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/view.js\ntype: application/javascript\nmodule-type: widget\n\nView widget\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar ViewWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nViewWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nViewWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tif(this.text) {\n\t\tvar textNode = this.document.createTextNode(this.text);\n\t\tparent.insertBefore(textNode,nextSibling);\n\t\tthis.domNodes.push(textNode);\n\t} else {\n\t\tthis.makeChildWidgets();\n\t\tthis.renderChildren(parent,nextSibling);\n\t}\n};\n\n/*\nCompute the internal state of the widget\n*/\nViewWidget.prototype.execute = function() {\n\t// Get parameters from our attributes\n\tthis.viewTitle = this.getAttribute(\"tiddler\",this.getVariable(\"currentTiddler\"));\n\tthis.viewSubtiddler = this.getAttribute(\"subtiddler\");\n\tthis.viewField = this.getAttribute(\"field\",\"text\");\n\tthis.viewIndex = this.getAttribute(\"index\");\n\tthis.viewFormat = this.getAttribute(\"format\",\"text\");\n\tthis.viewTemplate = this.getAttribute(\"template\",\"\");\n\tswitch(this.viewFormat) {\n\t\tcase \"htmlwikified\":\n\t\t\tthis.text = this.getValueAsHtmlWikified();\n\t\t\tbreak;\n\t\tcase \"plainwikified\":\n\t\t\tthis.text = this.getValueAsPlainWikified();\n\t\t\tbreak;\n\t\tcase \"htmlencodedplainwikified\":\n\t\t\tthis.text = this.getValueAsHtmlEncodedPlainWikified();\n\t\t\tbreak;\n\t\tcase \"htmlencoded\":\n\t\t\tthis.text = this.getValueAsHtmlEncoded();\n\t\t\tbreak;\n\t\tcase \"urlencoded\":\n\t\t\tthis.text = this.getValueAsUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"doubleurlencoded\":\n\t\t\tthis.text = this.getValueAsDoubleUrlEncoded();\n\t\t\tbreak;\n\t\tcase \"date\":\n\t\t\tthis.text = this.getValueAsDate(this.viewTemplate);\n\t\t\tbreak;\n\t\tcase \"relativedate\":\n\t\t\tthis.text = this.getValueAsRelativeDate();\n\t\t\tbreak;\n\t\tcase \"stripcomments\":\n\t\t\tthis.text = this.getValueAsStrippedComments();\n\t\t\tbreak;\n\t\tcase \"jsencoded\":\n\t\t\tthis.text = this.getValueAsJsEncoded();\n\t\t\tbreak;\n\t\tdefault: // \"text\"\n\t\t\tthis.text = this.getValueAsText();\n\t\t\tbreak;\n\t}\n};\n\n/*\nThe various formatter functions are baked into this widget for the moment. Eventually they will be replaced by macro functions\n*/\n\n/*\nRetrieve the value of the widget. Options are:\nasString: Optionally return the value as a string\n*/\nViewWidget.prototype.getValue = function(options) {\n\toptions = options || {};\n\tvar value = options.asString ? \"\" : undefined;\n\tif(this.viewIndex) {\n\t\tvalue = this.wiki.extractTiddlerDataItem(this.viewTitle,this.viewIndex);\n\t} else {\n\t\tvar tiddler;\n\t\tif(this.viewSubtiddler) {\n\t\t\ttiddler = this.wiki.getSubTiddler(this.viewTitle,this.viewSubtiddler);\t\n\t\t} else {\n\t\t\ttiddler = this.wiki.getTiddler(this.viewTitle);\n\t\t}\n\t\tif(tiddler) {\n\t\t\tif(this.viewField === \"text\" && !this.viewSubtiddler) {\n\t\t\t\t// Calling getTiddlerText() triggers lazy loading of skinny tiddlers\n\t\t\t\tvalue = this.wiki.getTiddlerText(this.viewTitle);\n\t\t\t} else {\n\t\t\t\tif($tw.utils.hop(tiddler.fields,this.viewField)) {\n\t\t\t\t\tif(options.asString) {\n\t\t\t\t\t\tvalue = tiddler.getFieldString(this.viewField);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = tiddler.fields[this.viewField];\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif(this.viewField === \"title\") {\n\t\t\t\tvalue = this.viewTitle;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n\nViewWidget.prototype.getValueAsText = function() {\n\treturn this.getValue({asString: true});\n};\n\nViewWidget.prototype.getValueAsHtmlWikified = function() {\n\treturn this.wiki.renderText(\"text/html\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{parentWidget: this});\n};\n\nViewWidget.prototype.getValueAsPlainWikified = function() {\n\treturn this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{parentWidget: this});\n};\n\nViewWidget.prototype.getValueAsHtmlEncodedPlainWikified = function() {\n\treturn $tw.utils.htmlEncode(this.wiki.renderText(\"text/plain\",\"text/vnd.tiddlywiki\",this.getValueAsText(),{parentWidget: this}));\n};\n\nViewWidget.prototype.getValueAsHtmlEncoded = function() {\n\treturn $tw.utils.htmlEncode(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsUrlEncoded = function() {\n\treturn encodeURIComponent(this.getValueAsText());\n};\n\nViewWidget.prototype.getValueAsDoubleUrlEncoded = function() {\n\treturn encodeURIComponent(encodeURIComponent(this.getValueAsText()));\n};\n\nViewWidget.prototype.getValueAsDate = function(format) {\n\tformat = format || \"YYYY MM DD 0hh:0mm\";\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.formatDateString(value,format);\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsRelativeDate = function(format) {\n\tvar value = $tw.utils.parseDate(this.getValue());\n\tif(value && $tw.utils.isDate(value) && value.toString() !== \"Invalid Date\") {\n\t\treturn $tw.utils.getRelativeDate((new Date()) - (new Date(value))).description;\n\t} else {\n\t\treturn \"\";\n\t}\n};\n\nViewWidget.prototype.getValueAsStrippedComments = function() {\n\tvar lines = this.getValueAsText().split(\"\\n\"),\n\t\tout = [];\n\tfor(var line=0; line<lines.length; line++) {\n\t\tvar text = lines[line];\n\t\tif(!/^\\s*\\/\\/#/.test(text)) {\n\t\t\tout.push(text);\n\t\t}\n\t}\n\treturn out.join(\"\\n\");\n};\n\nViewWidget.prototype.getValueAsJsEncoded = function() {\n\treturn $tw.utils.stringify(this.getValueAsText());\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nViewWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\tif(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.template || changedAttributes.format || changedTiddlers[this.viewTitle]) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\treturn false;\t\n\t}\n};\n\nexports.view = ViewWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/view.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/widget.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/widget.js\ntype: application/javascript\nmodule-type: widget\n\nWidget base class\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nCreate a widget object for a parse tree node\n\tparseTreeNode: reference to the parse tree node to be rendered\n\toptions: see below\nOptions include:\n\twiki: mandatory reference to wiki associated with this render tree\n\tparentWidget: optional reference to a parent renderer node for the context chain\n\tdocument: optional document object to use instead of global document\n*/\nvar Widget = function(parseTreeNode,options) {\n\tif(arguments.length > 0) {\n\t\tthis.initialise(parseTreeNode,options);\n\t}\n};\n\n/*\nInitialise widget properties. These steps are pulled out of the constructor so that we can reuse them in subclasses\n*/\nWidget.prototype.initialise = function(parseTreeNode,options) {\n\toptions = options || {};\n\t// Save widget info\n\tthis.parseTreeNode = parseTreeNode;\n\tthis.wiki = options.wiki;\n\tthis.parentWidget = options.parentWidget;\n\tthis.variablesConstructor = function() {};\n\tthis.variablesConstructor.prototype = this.parentWidget ? this.parentWidget.variables : {};\n\tthis.variables = new this.variablesConstructor();\n\tthis.document = options.document;\n\tthis.attributes = {};\n\tthis.children = [];\n\tthis.domNodes = [];\n\tthis.eventListeners = {};\n\t// Hashmap of the widget classes\n\tif(!this.widgetClasses) {\n\t\tWidget.prototype.widgetClasses = $tw.modules.applyMethods(\"widget\");\n\t}\n};\n\n/*\nRender this widget into the DOM\n*/\nWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWidget.prototype.execute = function() {\n\tthis.makeChildWidgets();\n};\n\n/*\nSet the value of a context variable\nname: name of the variable\nvalue: value of the variable\nparams: array of {name:, default:} for each parameter\n*/\nWidget.prototype.setVariable = function(name,value,params) {\n\tthis.variables[name] = {value: value, params: params};\n};\n\n/*\nGet the prevailing value of a context variable\nname: name of variable\noptions: see below\nOptions include\nparams: array of {name:, value:} for each parameter\ndefaultValue: default value if the variable is not defined\n*/\nWidget.prototype.getVariable = function(name,options) {\n\toptions = options || {};\n\tvar actualParams = options.params || [],\n\t\tparentWidget = this.parentWidget;\n\t// Check for the variable defined in the parent widget (or an ancestor in the prototype chain)\n\tif(parentWidget && name in parentWidget.variables) {\n\t\tvar variable = parentWidget.variables[name],\n\t\t\tvalue = variable.value;\n\t\t// Substitute any parameters specified in the definition\n\t\tvalue = this.substituteVariableParameters(value,variable.params,actualParams);\n\t\tvalue = this.substituteVariableReferences(value);\n\t\treturn value;\n\t}\n\t// If the variable doesn't exist in the parent widget then look for a macro module\n\treturn this.evaluateMacroModule(name,actualParams,options.defaultValue);\n};\n\nWidget.prototype.substituteVariableParameters = function(text,formalParams,actualParams) {\n\tif(formalParams) {\n\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\tparamInfo, paramValue;\n\t\t// Step through each of the parameters in the macro definition\n\t\tfor(var p=0; p<formalParams.length; p++) {\n\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\tparamInfo = formalParams[p];\n\t\t\tparamValue = undefined;\n\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\tnextAnonParameter++;\n\t\t\t}\n\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t}\n\t\t\t// If we've still not got a value, use the default, if any\n\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t// Replace any instances of this parameter\n\t\t\ttext = text.replace(new RegExp(\"\\\\$\" + $tw.utils.escapeRegExp(paramInfo.name) + \"\\\\$\",\"mg\"),paramValue);\n\t\t}\n\t}\n\treturn text;\n};\n\nWidget.prototype.substituteVariableReferences = function(text) {\n\tvar self = this;\n\treturn (text || \"\").replace(/\\$\\(([^\\)\\$]+)\\)\\$/g,function(match,p1,offset,string) {\n\t\treturn self.getVariable(p1,{defaultValue: \"\"});\n\t});\n};\n\nWidget.prototype.evaluateMacroModule = function(name,actualParams,defaultValue) {\n\tif($tw.utils.hop($tw.macros,name)) {\n\t\tvar macro = $tw.macros[name],\n\t\t\targs = [];\n\t\tif(macro.params.length > 0) {\n\t\t\tvar nextAnonParameter = 0, // Next candidate anonymous parameter in macro call\n\t\t\t\tparamInfo, paramValue;\n\t\t\t// Step through each of the parameters in the macro definition\n\t\t\tfor(var p=0; p<macro.params.length; p++) {\n\t\t\t\t// Check if we've got a macro call parameter with the same name\n\t\t\t\tparamInfo = macro.params[p];\n\t\t\t\tparamValue = undefined;\n\t\t\t\tfor(var m=0; m<actualParams.length; m++) {\n\t\t\t\t\tif(actualParams[m].name === paramInfo.name) {\n\t\t\t\t\t\tparamValue = actualParams[m].value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// If not, use the next available anonymous macro call parameter\n\t\t\t\twhile(nextAnonParameter < actualParams.length && actualParams[nextAnonParameter].name) {\n\t\t\t\t\tnextAnonParameter++;\n\t\t\t\t}\n\t\t\t\tif(paramValue === undefined && nextAnonParameter < actualParams.length) {\n\t\t\t\t\tparamValue = actualParams[nextAnonParameter++].value;\n\t\t\t\t}\n\t\t\t\t// If we've still not got a value, use the default, if any\n\t\t\t\tparamValue = paramValue || paramInfo[\"default\"] || \"\";\n\t\t\t\t// Save the parameter\n\t\t\t\targs.push(paramValue);\n\t\t\t}\n\t\t}\n\t\telse for(var i=0; i<actualParams.length; ++i) {\n\t\t\targs.push(actualParams[i].value);\n\t\t}\n\t\treturn (macro.run.apply(this,args) || \"\").toString();\n\t} else {\n\t\treturn defaultValue;\n\t}\n};\n\n/*\nCheck whether a given context variable value exists in the parent chain\n*/\nWidget.prototype.hasVariable = function(name,value) {\n\tvar node = this;\n\twhile(node) {\n\t\tif($tw.utils.hop(node.variables,name) && node.variables[name].value === value) {\n\t\t\treturn true;\n\t\t}\n\t\tnode = node.parentWidget;\n\t}\n\treturn false;\n};\n\n/*\nConstruct a qualifying string based on a hash of concatenating the values of a given variable in the parent chain\n*/\nWidget.prototype.getStateQualifier = function(name) {\n\tthis.qualifiers = this.qualifiers || Object.create(null);\n\tname = name || \"transclusion\";\n\tif(this.qualifiers[name]) {\n\t\treturn this.qualifiers[name];\n\t} else {\n\t\tvar output = [],\n\t\t\tnode = this;\n\t\twhile(node && node.parentWidget) {\n\t\t\tif($tw.utils.hop(node.parentWidget.variables,name)) {\n\t\t\t\toutput.push(node.getVariable(name));\n\t\t\t}\n\t\t\tnode = node.parentWidget;\n\t\t}\n\t\tvar value = $tw.utils.hashString(output.join(\"\"));\n\t\tthis.qualifiers[name] = value;\n\t\treturn value;\n\t}\n};\n\n/*\nCompute the current values of the attributes of the widget. Returns a hashmap of the names of the attributes that have changed\n*/\nWidget.prototype.computeAttributes = function() {\n\tvar changedAttributes = {},\n\t\tself = this,\n\t\tvalue;\n\t$tw.utils.each(this.parseTreeNode.attributes,function(attribute,name) {\n\t\tif(attribute.type === \"indirect\") {\n\t\t\tvalue = self.wiki.getTextReference(attribute.textReference,\"\",self.getVariable(\"currentTiddler\"));\n\t\t} else if(attribute.type === \"macro\") {\n\t\t\tvalue = self.getVariable(attribute.value.name,{params: attribute.value.params});\n\t\t} else { // String attribute\n\t\t\tvalue = attribute.value;\n\t\t}\n\t\t// Check whether the attribute has changed\n\t\tif(self.attributes[name] !== value) {\n\t\t\tself.attributes[name] = value;\n\t\t\tchangedAttributes[name] = true;\n\t\t}\n\t});\n\treturn changedAttributes;\n};\n\n/*\nCheck for the presence of an attribute\n*/\nWidget.prototype.hasAttribute = function(name) {\n\treturn $tw.utils.hop(this.attributes,name);\n};\n\n/*\nGet the value of an attribute\n*/\nWidget.prototype.getAttribute = function(name,defaultText) {\n\tif($tw.utils.hop(this.attributes,name)) {\n\t\treturn this.attributes[name];\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nAssign the computed attributes of the widget to a domNode\noptions include:\nexcludeEventAttributes: ignores attributes whose name begins with \"on\"\n*/\nWidget.prototype.assignAttributes = function(domNode,options) {\n\toptions = options || {};\n\tvar self = this;\n\t$tw.utils.each(this.attributes,function(v,a) {\n\t\t// Check exclusions\n\t\tif(options.excludeEventAttributes && a.substr(0,2) === \"on\") {\n\t\t\tv = undefined;\n\t\t}\n\t\tif(v !== undefined) {\n\t\t\tvar b = a.split(\":\");\n\t\t\t// Setting certain attributes can cause a DOM error (eg xmlns on the svg element)\n\t\t\ttry {\n\t\t\t\tif (b.length == 2 && b[0] == \"xlink\"){\n\t\t\t\t\tdomNode.setAttributeNS(\"http://www.w3.org/1999/xlink\",b[1],v);\n\t\t\t\t} else {\n\t\t\t\t\tdomNode.setAttributeNS(null,a,v);\n\t\t\t\t}\n\t\t\t} catch(e) {\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nMake child widgets correspondng to specified parseTreeNodes\n*/\nWidget.prototype.makeChildWidgets = function(parseTreeNodes) {\n\tthis.children = [];\n\tvar self = this;\n\t$tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {\n\t\tself.children.push(self.makeChildWidget(childNode));\n\t});\n};\n\n/*\nConstruct the widget object for a parse tree node\n*/\nWidget.prototype.makeChildWidget = function(parseTreeNode) {\n\tvar WidgetClass = this.widgetClasses[parseTreeNode.type];\n\tif(!WidgetClass) {\n\t\tWidgetClass = this.widgetClasses.text;\n\t\tparseTreeNode = {type: \"text\", text: \"Undefined widget '\" + parseTreeNode.type + \"'\"};\n\t}\n\treturn new WidgetClass(parseTreeNode,{\n\t\twiki: this.wiki,\n\t\tvariables: {},\n\t\tparentWidget: this,\n\t\tdocument: this.document\n\t});\n};\n\n/*\nGet the next sibling of this widget\n*/\nWidget.prototype.nextSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index < this.parentWidget.children.length-1) {\n\t\t\treturn this.parentWidget.children[index+1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nGet the previous sibling of this widget\n*/\nWidget.prototype.previousSibling = function() {\n\tif(this.parentWidget) {\n\t\tvar index = this.parentWidget.children.indexOf(this);\n\t\tif(index !== -1 && index > 0) {\n\t\t\treturn this.parentWidget.children[index-1];\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRender the children of this widget into the DOM\n*/\nWidget.prototype.renderChildren = function(parent,nextSibling) {\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\tchildWidget.render(parent,nextSibling);\n\t});\n};\n\n/*\nAdd a list of event listeners from an array [{type:,handler:},...]\n*/\nWidget.prototype.addEventListeners = function(listeners) {\n\tvar self = this;\n\t$tw.utils.each(listeners,function(listenerInfo) {\n\t\tself.addEventListener(listenerInfo.type,listenerInfo.handler);\n\t});\n};\n\n/*\nAdd an event listener\n*/\nWidget.prototype.addEventListener = function(type,handler) {\n\tvar self = this;\n\tif(typeof handler === \"string\") { // The handler is a method name on this widget\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn self[handler].call(self,event);\n\t\t};\n\t} else { // The handler is a function\n\t\tthis.eventListeners[type] = function(event) {\n\t\t\treturn handler.call(self,event);\n\t\t};\n\t}\n};\n\n/*\nDispatch an event to a widget. If the widget doesn't handle the event then it is also dispatched to the parent widget\n*/\nWidget.prototype.dispatchEvent = function(event) {\n\t// Dispatch the event if this widget handles it\n\tvar listener = this.eventListeners[event.type];\n\tif(listener) {\n\t\t// Don't propagate the event if the listener returned false\n\t\tif(!listener(event)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Dispatch the event to the parent widget\n\tif(this.parentWidget) {\n\t\treturn this.parentWidget.dispatchEvent(event);\n\t}\n\treturn true;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWidget.prototype.refresh = function(changedTiddlers) {\n\treturn this.refreshChildren(changedTiddlers);\n};\n\n/*\nRebuild a previously rendered widget\n*/\nWidget.prototype.refreshSelf = function() {\n\tvar nextSibling = this.findNextSiblingDomNode();\n\tthis.removeChildDomNodes();\n\tthis.render(this.parentDomNode,nextSibling);\n};\n\n/*\nRefresh all the children of a widget\n*/\nWidget.prototype.refreshChildren = function(changedTiddlers) {\n\tvar self = this,\n\t\trefreshed = false;\n\t$tw.utils.each(this.children,function(childWidget) {\n\t\trefreshed = childWidget.refresh(changedTiddlers) || refreshed;\n\t});\n\treturn refreshed;\n};\n\n/*\nFind the next sibling in the DOM to this widget. This is done by scanning the widget tree through all next siblings and their descendents that share the same parent DOM node\n*/\nWidget.prototype.findNextSiblingDomNode = function(startIndex) {\n\t// Refer to this widget by its index within its parents children\n\tvar parent = this.parentWidget,\n\t\tindex = startIndex !== undefined ? startIndex : parent.children.indexOf(this);\nif(index === -1) {\n\tthrow \"node not found in parents children\";\n}\n\t// Look for a DOM node in the later siblings\n\twhile(++index < parent.children.length) {\n\t\tvar domNode = parent.children[index].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\t// Go back and look for later siblings of our parent if it has the same parent dom node\n\tvar grandParent = parent.parentWidget;\n\tif(grandParent && parent.parentDomNode === this.parentDomNode) {\n\t\tindex = grandParent.children.indexOf(parent);\n\t\tif(index !== -1) {\n\t\t\treturn parent.findNextSiblingDomNode(index);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nFind the first DOM node generated by a widget or its children\n*/\nWidget.prototype.findFirstDomNode = function() {\n\t// Return the first dom node of this widget, if we've got one\n\tif(this.domNodes.length > 0) {\n\t\treturn this.domNodes[0];\n\t}\n\t// Otherwise, recursively call our children\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar domNode = this.children[t].findFirstDomNode();\n\t\tif(domNode) {\n\t\t\treturn domNode;\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRemove any DOM nodes created by this widget or its children\n*/\nWidget.prototype.removeChildDomNodes = function() {\n\t// If this widget has directly created DOM nodes, delete them and exit. This assumes that any child widgets are contained within the created DOM nodes, which would normally be the case\n\tif(this.domNodes.length > 0) {\n\t\t$tw.utils.each(this.domNodes,function(domNode) {\n\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t});\n\t\tthis.domNodes = [];\n\t} else {\n\t\t// Otherwise, ask the child widgets to delete their DOM nodes\n\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\tchildWidget.removeChildDomNodes();\n\t\t});\n\t}\n};\n\n/*\nInvoke the action widgets that are descendents of the current widget.\n*/\nWidget.prototype.invokeActions = function(triggeringWidget,event) {\n\tvar handled = false;\n\t// For each child widget\n\tfor(var t=0; t<this.children.length; t++) {\n\t\tvar child = this.children[t];\n\t\t// Invoke the child if it is an action widget\n\t\tif(child.invokeAction && child.invokeAction(triggeringWidget,event)) {\n\t\t\thandled = true;\n\t\t}\n\t\t// Propagate through through the child if it permits it\n\t\tif(child.allowActionPropagation() && child.invokeActions(triggeringWidget,event)) {\n\t\t\thandled = true;\n\t\t}\n\t}\n\treturn handled;\n};\n\n/*\nInvoke the action widgets defined in a string\n*/\nWidget.prototype.invokeActionString = function(actions,triggeringWidget,event) {\n\tactions = actions || \"\";\n\tvar parser = this.wiki.parseText(\"text/vnd.tiddlywiki\",actions,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document\n\t\t}),\n\t\twidgetNode = this.wiki.makeWidget(parser,{\n\t\t\tparentWidget: this,\n\t\t\tdocument: this.document\n\t\t});\n\tvar container = this.document.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn widgetNode.invokeActions(this,event);\n};\n\nWidget.prototype.allowActionPropagation = function() {\n\treturn true;\n};\n\nexports.widget = Widget;\n\n})();\n",
            "title": "$:/core/modules/widgets/widget.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/widgets/wikify.js": {
            "text": "/*\\\ntitle: $:/core/modules/widgets/wikify.js\ntype: application/javascript\nmodule-type: widget\n\nWidget to wikify text into a variable\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar Widget = require(\"$:/core/modules/widgets/widget.js\").widget;\n\nvar WikifyWidget = function(parseTreeNode,options) {\n\tthis.initialise(parseTreeNode,options);\n};\n\n/*\nInherit from the base widget class\n*/\nWikifyWidget.prototype = new Widget();\n\n/*\nRender this widget into the DOM\n*/\nWikifyWidget.prototype.render = function(parent,nextSibling) {\n\tthis.parentDomNode = parent;\n\tthis.computeAttributes();\n\tthis.execute();\n\tthis.renderChildren(parent,nextSibling);\n};\n\n/*\nCompute the internal state of the widget\n*/\nWikifyWidget.prototype.execute = function() {\n\t// Get our parameters\n\tthis.wikifyName = this.getAttribute(\"name\");\n\tthis.wikifyText = this.getAttribute(\"text\");\n\tthis.wikifyType = this.getAttribute(\"type\");\n\tthis.wikifyMode = this.getAttribute(\"mode\",\"block\");\n\tthis.wikifyOutput = this.getAttribute(\"output\",\"text\");\n\t// Create the parse tree\n\tthis.wikifyParser = this.wiki.parseText(this.wikifyType,this.wikifyText,{\n\t\t\tparseAsInline: this.wikifyMode === \"inline\"\n\t\t});\n\t// Create the widget tree \n\tthis.wikifyWidgetNode = this.wiki.makeWidget(this.wikifyParser,{\n\t\t\tdocument: $tw.fakeDocument,\n\t\t\tparentWidget: this\n\t\t});\n\t// Render the widget tree to the container\n\tthis.wikifyContainer = $tw.fakeDocument.createElement(\"div\");\n\tthis.wikifyWidgetNode.render(this.wikifyContainer,null);\n\tthis.wikifyResult = this.getResult();\n\t// Set context variable\n\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t// Construct the child widgets\n\tthis.makeChildWidgets();\n};\n\n/*\nReturn the result string\n*/\nWikifyWidget.prototype.getResult = function() {\n\tvar result;\n\tswitch(this.wikifyOutput) {\n\t\tcase \"text\":\n\t\t\tresult = this.wikifyContainer.textContent;\n\t\t\tbreak;\n\t\tcase \"html\":\n\t\t\tresult = this.wikifyContainer.innerHTML;\n\t\t\tbreak;\n\t\tcase \"parsetree\":\n\t\t\tresult = JSON.stringify(this.wikifyParser.tree,0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t\tcase \"widgettree\":\n\t\t\tresult = JSON.stringify(this.getWidgetTree(),0,$tw.config.preferences.jsonSpaces);\n\t\t\tbreak;\n\t}\n\treturn result;\n};\n\n/*\nReturn a string of the widget tree\n*/\nWikifyWidget.prototype.getWidgetTree = function() {\n\tvar copyNode = function(widgetNode,resultNode) {\n\t\t\tvar type = widgetNode.parseTreeNode.type;\n\t\t\tresultNode.type = type;\n\t\t\tswitch(type) {\n\t\t\t\tcase \"element\":\n\t\t\t\t\tresultNode.tag = widgetNode.parseTreeNode.tag;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"text\":\n\t\t\t\t\tresultNode.text = widgetNode.parseTreeNode.text;\n\t\t\t\t\tbreak;\t\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.attributes || {}).length > 0) {\n\t\t\t\tresultNode.attributes = {};\n\t\t\t\t$tw.utils.each(widgetNode.attributes,function(attr,attrName) {\n\t\t\t\t\tresultNode.attributes[attrName] = widgetNode.getAttribute(attrName);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif(Object.keys(widgetNode.children || {}).length > 0) {\n\t\t\t\tresultNode.children = [];\n\t\t\t\t$tw.utils.each(widgetNode.children,function(widgetChildNode) {\n\t\t\t\t\tvar node = {};\n\t\t\t\t\tresultNode.children.push(node);\n\t\t\t\t\tcopyNode(widgetChildNode,node);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tresults = {};\n\tcopyNode(this.wikifyWidgetNode,results);\n\treturn results;\n};\n\n/*\nSelectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering\n*/\nWikifyWidget.prototype.refresh = function(changedTiddlers) {\n\tvar changedAttributes = this.computeAttributes();\n\t// Refresh ourselves entirely if any of our attributes have changed\n\tif(changedAttributes.name || changedAttributes.text || changedAttributes.type || changedAttributes.mode || changedAttributes.output) {\n\t\tthis.refreshSelf();\n\t\treturn true;\n\t} else {\n\t\t// Refresh the widget tree\n\t\tif(this.wikifyWidgetNode.refresh(changedTiddlers)) {\n\t\t\t// Check if there was any change\n\t\t\tvar result = this.getResult();\n\t\t\tif(result !== this.wikifyResult) {\n\t\t\t\t// If so, save the change\n\t\t\t\tthis.wikifyResult = result;\n\t\t\t\tthis.setVariable(this.wikifyName,this.wikifyResult);\n\t\t\t\t// Refresh each of our child widgets\n\t\t\t\t$tw.utils.each(this.children,function(childWidget) {\n\t\t\t\t\tchildWidget.refreshSelf();\n\t\t\t\t});\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t// Just refresh the children\n\t\treturn this.refreshChildren(changedTiddlers);\n\t}\n};\n\nexports.wikify = WikifyWidget;\n\n})();\n",
            "title": "$:/core/modules/widgets/wikify.js",
            "type": "application/javascript",
            "module-type": "widget"
        },
        "$:/core/modules/wiki-bulkops.js": {
            "text": "/*\\\ntitle: $:/core/modules/wiki-bulkops.js\ntype: application/javascript\nmodule-type: wikimethod\n\nBulk tiddler operations such as rename.\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\n/*\nRename a tiddler, and relink any tags or lists that reference it.\n*/\nexports.renameTiddler = function(fromTitle,toTitle) {\n\tvar self = this;\n\tfromTitle = (fromTitle || \"\").trim();\n\ttoTitle = (toTitle || \"\").trim();\n\tif(fromTitle && toTitle && fromTitle !== toTitle) {\n\t\t// Rename the tiddler itself\n\t\tvar tiddler = this.getTiddler(fromTitle);\n\t\tthis.addTiddler(new $tw.Tiddler(tiddler,{title: toTitle},this.getModificationFields()));\n\t\tthis.deleteTiddler(fromTitle);\n\t\t// Rename any tags or lists that reference it\n\t\tthis.each(function(tiddler,title) {\n\t\t\tvar tags = (tiddler.fields.tags || []).slice(0),\n\t\t\t\tlist = (tiddler.fields.list || []).slice(0),\n\t\t\t\tisModified = false;\n\t\t\t// Rename tags\n\t\t\t$tw.utils.each(tags,function (title,index) {\n\t\t\t\tif(title === fromTitle) {\n\t\t\t\t\ttags[index] = toTitle;\n\t\t\t\t\tisModified = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\t// Rename lists\n\t\t\t$tw.utils.each(list,function (title,index) {\n\t\t\t\tif(title === fromTitle) {\n\t\t\t\t\tlist[index] = toTitle;\n\t\t\t\t\tisModified = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(isModified) {\n\t\t\t\tself.addTiddler(new $tw.Tiddler(tiddler,{tags: tags, list: list},self.getModificationFields()));\n\t\t\t}\n\t\t});\n\t}\n}\n\n})();\n",
            "title": "$:/core/modules/wiki-bulkops.js",
            "type": "application/javascript",
            "module-type": "wikimethod"
        },
        "$:/core/modules/wiki.js": {
            "text": "/*\\\ntitle: $:/core/modules/wiki.js\ntype: application/javascript\nmodule-type: wikimethod\n\nExtension methods for the $tw.Wiki object\n\nAdds the following properties to the wiki object:\n\n* `eventListeners` is a hashmap by type of arrays of listener functions\n* `changedTiddlers` is a hashmap describing changes to named tiddlers since wiki change events were last dispatched. Each entry is a hashmap containing two fields:\n\tmodified: true/false\n\tdeleted: true/false\n* `changeCount` is a hashmap by tiddler title containing a numerical index that starts at zero and is incremented each time a tiddler is created changed or deleted\n* `caches` is a hashmap by tiddler title containing a further hashmap of named cache objects. Caches are automatically cleared when a tiddler is modified or deleted\n* `globalCache` is a hashmap by cache name of cache objects that are cleared whenever any tiddler change occurs\n\n\\*/\n(function(){\n\n/*jslint node: true, browser: true */\n/*global $tw: false */\n\"use strict\";\n\nvar widget = require(\"$:/core/modules/widgets/widget.js\");\n\nvar USER_NAME_TITLE = \"$:/status/UserName\";\n\n/*\nGet the value of a text reference. Text references can have any of these forms:\n\t<tiddlertitle>\n\t<tiddlertitle>!!<fieldname>\n\t!!<fieldname> - specifies a field of the current tiddlers\n\t<tiddlertitle>##<index>\n*/\nexports.getTextReference = function(textRef,defaultText,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tif(tr.field) {\n\t\tvar tiddler = this.getTiddler(title);\n\t\tif(tr.field === \"title\") { // Special case so we can return the title of a non-existent tiddler\n\t\t\treturn title;\n\t\t} else if(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\treturn tiddler.getFieldString(tr.field);\n\t\t} else {\n\t\t\treturn defaultText;\n\t\t}\n\t} else if(tr.index) {\n\t\treturn this.extractTiddlerDataItem(title,tr.index,defaultText);\n\t} else {\n\t\treturn this.getTiddlerText(title,defaultText);\n\t}\n};\n\nexports.setTextReference = function(textRef,value,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle = tr.title || currTiddlerTitle;\n\tthis.setText(title,tr.field,tr.index,value);\n};\n\nexports.setText = function(title,field,index,value,options) {\n\toptions = options || {};\n\tvar creationFields = options.suppressTimestamp ? {} : this.getCreationFields(),\n\t\tmodificationFields = options.suppressTimestamp ? {} : this.getModificationFields();\n\t// Check if it is a reference to a tiddler field\n\tif(index) {\n\t\tvar data = this.getTiddlerData(title,Object.create(null));\n\t\tif(value !== undefined) {\n\t\t\tdata[index] = value;\n\t\t} else {\n\t\t\tdelete data[index];\n\t\t}\n\t\tthis.setTiddlerData(title,data,modificationFields);\n\t} else {\n\t\tvar tiddler = this.getTiddler(title),\n\t\t\tfields = {title: title};\n\t\tfields[field || \"text\"] = value;\n\t\tthis.addTiddler(new $tw.Tiddler(creationFields,tiddler,fields,modificationFields));\n\t}\n};\n\nexports.deleteTextReference = function(textRef,currTiddlerTitle) {\n\tvar tr = $tw.utils.parseTextReference(textRef),\n\t\ttitle,tiddler,fields;\n\t// Check if it is a reference to a tiddler\n\tif(tr.title && !tr.field) {\n\t\tthis.deleteTiddler(tr.title);\n\t// Else check for a field reference\n\t} else if(tr.field) {\n\t\ttitle = tr.title || currTiddlerTitle;\n\t\ttiddler = this.getTiddler(title);\n\t\tif(tiddler && $tw.utils.hop(tiddler.fields,tr.field)) {\n\t\t\tfields = Object.create(null);\n\t\t\tfields[tr.field] = undefined;\n\t\t\tthis.addTiddler(new $tw.Tiddler(tiddler,fields,this.getModificationFields()));\n\t\t}\n\t}\n};\n\nexports.addEventListener = function(type,listener) {\n\tthis.eventListeners = this.eventListeners || {};\n\tthis.eventListeners[type] = this.eventListeners[type]  || [];\n\tthis.eventListeners[type].push(listener);\t\n};\n\nexports.removeEventListener = function(type,listener) {\n\tvar listeners = this.eventListeners[type];\n\tif(listeners) {\n\t\tvar p = listeners.indexOf(listener);\n\t\tif(p !== -1) {\n\t\t\tlisteners.splice(p,1);\n\t\t}\n\t}\n};\n\nexports.dispatchEvent = function(type /*, args */) {\n\tvar args = Array.prototype.slice.call(arguments,1),\n\t\tlisteners = this.eventListeners[type];\n\tif(listeners) {\n\t\tfor(var p=0; p<listeners.length; p++) {\n\t\t\tvar listener = listeners[p];\n\t\t\tlistener.apply(listener,args);\n\t\t}\n\t}\n};\n\n/*\nCauses a tiddler to be marked as changed, incrementing the change count, and triggers event handlers.\nThis method should be called after the changes it describes have been made to the wiki.tiddlers[] array.\n\ttitle: Title of tiddler\n\tisDeleted: defaults to false (meaning the tiddler has been created or modified),\n\t\ttrue if the tiddler has been deleted\n*/\nexports.enqueueTiddlerEvent = function(title,isDeleted) {\n\t// Record the touch in the list of changed tiddlers\n\tthis.changedTiddlers = this.changedTiddlers || Object.create(null);\n\tthis.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);\n\tthis.changedTiddlers[title][isDeleted ? \"deleted\" : \"modified\"] = true;\n\t// Increment the change count\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\tthis.changeCount[title]++;\n\t} else {\n\t\tthis.changeCount[title] = 1;\n\t}\n\t// Trigger events\n\tthis.eventListeners = this.eventListeners || {};\n\tif(!this.eventsTriggered) {\n\t\tvar self = this;\n\t\t$tw.utils.nextTick(function() {\n\t\t\tvar changes = self.changedTiddlers;\n\t\t\tself.changedTiddlers = Object.create(null);\n\t\t\tself.eventsTriggered = false;\n\t\t\tif($tw.utils.count(changes) > 0) {\n\t\t\t\tself.dispatchEvent(\"change\",changes);\n\t\t\t}\n\t\t});\n\t\tthis.eventsTriggered = true;\n\t}\n};\n\nexports.getSizeOfTiddlerEventQueue = function() {\n\treturn $tw.utils.count(this.changedTiddlers);\n};\n\nexports.clearTiddlerEventQueue = function() {\n\tthis.changedTiddlers = Object.create(null);\n\tthis.changeCount = Object.create(null);\n};\n\nexports.getChangeCount = function(title) {\n\tthis.changeCount = this.changeCount || Object.create(null);\n\tif($tw.utils.hop(this.changeCount,title)) {\n\t\treturn this.changeCount[title];\n\t} else {\n\t\treturn 0;\n\t}\n};\n\n/*\nGenerate an unused title from the specified base\n*/\nexports.generateNewTitle = function(baseTitle,options) {\n\toptions = options || {};\n\tvar c = 0,\n\t\ttitle = baseTitle;\n\twhile(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {\n\t\ttitle = baseTitle + \n\t\t\t(options.prefix || \" \") + \n\t\t\t(++c);\n\t}\n\treturn title;\n};\n\nexports.isSystemTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/\") === 0;\n};\n\nexports.isTemporaryTiddler = function(title) {\n\treturn title && title.indexOf(\"$:/temp/\") === 0;\n};\n\nexports.isImageTiddler = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\t\t\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type || \"text/vnd.tiddlywiki\"];\n\t\treturn !!contentTypeInfo && contentTypeInfo.flags.indexOf(\"image\") !== -1;\n\t} else {\n\t\treturn null;\n\t}\n};\n\n/*\nLike addTiddler() except it will silently reject any plugin tiddlers that are older than the currently loaded version. Returns true if the tiddler was imported\n*/\nexports.importTiddler = function(tiddler) {\n\tvar existingTiddler = this.getTiddler(tiddler.fields.title);\n\t// Check if we're dealing with a plugin\n\tif(tiddler && tiddler.hasField(\"plugin-type\") && tiddler.hasField(\"version\") && existingTiddler && existingTiddler.hasField(\"plugin-type\") && existingTiddler.hasField(\"version\")) {\n\t\t// Reject the incoming plugin if it is older\n\t\tif(!$tw.utils.checkVersions(tiddler.fields.version,existingTiddler.fields.version)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\t// Fall through to adding the tiddler\n\tthis.addTiddler(tiddler);\n\treturn true;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is created\n*/\nexports.getCreationFields = function() {\n\tvar fields = {\n\t\t\tcreated: new Date()\n\t\t},\n\t\tcreator = this.getTiddlerText(USER_NAME_TITLE);\n\tif(creator) {\n\t\tfields.creator = creator;\n\t}\n\treturn fields;\n};\n\n/*\nReturn a hashmap of the fields that should be set when a tiddler is modified\n*/\nexports.getModificationFields = function() {\n\tvar fields = Object.create(null),\n\t\tmodifier = this.getTiddlerText(USER_NAME_TITLE);\n\tfields.modified = new Date();\n\tif(modifier) {\n\t\tfields.modifier = modifier;\n\t}\n\treturn fields;\n};\n\n/*\nReturn a sorted array of tiddler titles.  Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.getTiddlers = function(options) {\n\toptions = options || Object.create(null);\n\tvar self = this,\n\t\tsortField = options.sortField || \"title\",\n\t\ttiddlers = [], t, titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tif(options.includeSystem || !self.isSystemTiddler(title)) {\n\t\t\tif(!options.excludeTag || !tiddler.hasTag(options.excludeTag)) {\n\t\t\t\ttiddlers.push(tiddler);\n\t\t\t}\n\t\t}\n\t});\n\ttiddlers.sort(function(a,b) {\n\t\tvar aa = a.fields[sortField].toLowerCase() || \"\",\n\t\t\tbb = b.fields[sortField].toLowerCase() || \"\";\n\t\tif(aa < bb) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\tif(aa > bb) {\n\t\t\t\treturn 1;\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t});\n\tfor(t=0; t<tiddlers.length; t++) {\n\t\ttitles.push(tiddlers[t].fields.title);\n\t}\n\treturn titles;\n};\n\nexports.countTiddlers = function(excludeTag) {\n\tvar tiddlers = this.getTiddlers({excludeTag: excludeTag});\n\treturn $tw.utils.count(tiddlers);\n};\n\n/*\nReturns a function iterator(callback) that iterates through the specified titles, and invokes the callback with callback(tiddler,title)\n*/\nexports.makeTiddlerIterator = function(titles) {\n\tvar self = this;\n\tif(!$tw.utils.isArray(titles)) {\n\t\ttitles = Object.keys(titles);\n\t} else {\n\t\ttitles = titles.slice(0);\n\t}\n\treturn function(callback) {\n\t\ttitles.forEach(function(title) {\n\t\t\tcallback(self.getTiddler(title),title);\n\t\t});\n\t};\n};\n\n/*\nSort an array of tiddler titles by a specified field\n\ttitles: array of titles (sorted in place)\n\tsortField: name of field to sort by\n\tisDescending: true if the sort should be descending\n\tisCaseSensitive: true if the sort should consider upper and lower case letters to be different\n*/\nexports.sortTiddlers = function(titles,sortField,isDescending,isCaseSensitive,isNumeric) {\n\tvar self = this;\n\ttitles.sort(function(a,b) {\n\t\tvar x,y,\n\t\t\tcompareNumbers = function(x,y) {\n\t\t\t\tvar result = \n\t\t\t\t\tisNaN(x) && !isNaN(y) ? (isDescending ? -1 : 1) :\n\t\t\t\t\t!isNaN(x) && isNaN(y) ? (isDescending ? 1 : -1) :\n\t\t\t\t\t                        (isDescending ? y - x :  x - y);\n\t\t\t\treturn result;\n\t\t\t};\n\t\tif(sortField !== \"title\") {\n\t\t\tvar tiddlerA = self.getTiddler(a),\n\t\t\t\ttiddlerB = self.getTiddler(b);\n\t\t\tif(tiddlerA) {\n\t\t\t\ta = tiddlerA.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\ta = \"\";\n\t\t\t}\n\t\t\tif(tiddlerB) {\n\t\t\t\tb = tiddlerB.fields[sortField] || \"\";\n\t\t\t} else {\n\t\t\t\tb = \"\";\n\t\t\t}\n\t\t}\n\t\tx = Number(a);\n\t\ty = Number(b);\n\t\tif(isNumeric && (!isNaN(x) || !isNaN(y))) {\n\t\t\treturn compareNumbers(x,y);\n\t\t} else if($tw.utils.isDate(a) && $tw.utils.isDate(b)) {\n\t\t\treturn isDescending ? b - a : a - b;\n\t\t} else {\n\t\t\ta = String(a);\n\t\t\tb = String(b);\n\t\t\tif(!isCaseSensitive) {\n\t\t\t\ta = a.toLowerCase();\n\t\t\t\tb = b.toLowerCase();\n\t\t\t}\n\t\t\treturn isDescending ? b.localeCompare(a) : a.localeCompare(b);\n\t\t}\n\t});\n};\n\n/*\nFor every tiddler invoke a callback(title,tiddler) with `this` set to the wiki object. Options include:\nsortField: field to sort by\nexcludeTag: tag to exclude\nincludeSystem: whether to include system tiddlers (defaults to false)\n*/\nexports.forEachTiddler = function(/* [options,]callback */) {\n\tvar arg = 0,\n\t\toptions = arguments.length >= 2 ? arguments[arg++] : {},\n\t\tcallback = arguments[arg++],\n\t\ttitles = this.getTiddlers(options),\n\t\tt, tiddler;\n\tfor(t=0; t<titles.length; t++) {\n\t\ttiddler = this.getTiddler(titles[t]);\n\t\tif(tiddler) {\n\t\t\tcallback.call(this,tiddler.fields.title,tiddler);\n\t\t}\n\t}\n};\n\n/*\nReturn an array of tiddler titles that are directly linked from the specified tiddler\n*/\nexports.getTiddlerLinks = function(title) {\n\tvar self = this;\n\t// We'll cache the links so they only get computed if the tiddler changes\n\treturn this.getCacheForTiddler(title,\"links\",function() {\n\t\t// Parse the tiddler\n\t\tvar parser = self.parseTiddler(title);\n\t\t// Count up the links\n\t\tvar links = [],\n\t\t\tcheckParseTree = function(parseTree) {\n\t\t\t\tfor(var t=0; t<parseTree.length; t++) {\n\t\t\t\t\tvar parseTreeNode = parseTree[t];\n\t\t\t\t\tif(parseTreeNode.type === \"link\" && parseTreeNode.attributes.to && parseTreeNode.attributes.to.type === \"string\") {\n\t\t\t\t\t\tvar value = parseTreeNode.attributes.to.value;\n\t\t\t\t\t\tif(links.indexOf(value) === -1) {\n\t\t\t\t\t\t\tlinks.push(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(parseTreeNode.children) {\n\t\t\t\t\t\tcheckParseTree(parseTreeNode.children);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\tif(parser) {\n\t\t\tcheckParseTree(parser.tree);\n\t\t}\n\t\treturn links;\n\t});\n};\n\n/*\nReturn an array of tiddler titles that link to the specified tiddler\n*/\nexports.getTiddlerBacklinks = function(targetTitle) {\n\tvar self = this,\n\t\tbacklinks = [];\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\tif(links.indexOf(targetTitle) !== -1) {\n\t\t\tbacklinks.push(title);\n\t\t}\n\t});\n\treturn backlinks;\n};\n\n/*\nReturn a hashmap of tiddler titles that are referenced but not defined. Each value is the number of times the missing tiddler is referenced\n*/\nexports.getMissingTitles = function() {\n\tvar self = this,\n\t\tmissing = [];\n// We should cache the missing tiddler list, even if we recreate it every time any tiddler is modified\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tif((!self.tiddlerExists(link) && !self.isShadowTiddler(link)) && missing.indexOf(link) === -1) {\n\t\t\t\tmissing.push(link);\n\t\t\t}\n\t\t});\n\t});\n\treturn missing;\n};\n\nexports.getOrphanTitles = function() {\n\tvar self = this,\n\t\torphans = this.getTiddlers();\n\tthis.forEachTiddler(function(title,tiddler) {\n\t\tvar links = self.getTiddlerLinks(title);\n\t\t$tw.utils.each(links,function(link) {\n\t\t\tvar p = orphans.indexOf(link);\n\t\t\tif(p !== -1) {\n\t\t\t\torphans.splice(p,1);\n\t\t\t}\n\t\t});\n\t});\n\treturn orphans; // Todo\n};\n\n/*\nRetrieves a list of the tiddler titles that are tagged with a given tag\n*/\nexports.getTiddlersWithTag = function(tag) {\n\tvar self = this;\n\treturn this.getGlobalCache(\"taglist-\" + tag,function() {\n\t\tvar tagmap = self.getTagMap();\n\t\treturn self.sortByList(tagmap[tag],tag);\n\t});\n};\n\n/*\nGet a hashmap by tag of arrays of tiddler titles\n*/\nexports.getTagMap = function() {\n\tvar self = this;\n\treturn this.getGlobalCache(\"tagmap\",function() {\n\t\tvar tags = Object.create(null),\n\t\t\tstoreTags = function(tagArray,title) {\n\t\t\t\tif(tagArray) {\n\t\t\t\t\tfor(var index=0; index<tagArray.length; index++) {\n\t\t\t\t\t\tvar tag = tagArray[index];\n\t\t\t\t\t\tif($tw.utils.hop(tags,tag)) {\n\t\t\t\t\t\t\ttags[tag].push(title);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttags[tag] = [title];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\ttitle, tiddler;\n\t\t// Collect up all the tags\n\t\tself.eachShadow(function(tiddler,title) {\n\t\t\tif(!self.tiddlerExists(title)) {\n\t\t\t\ttiddler = self.getTiddler(title);\n\t\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t\t}\n\t\t});\n\t\tself.each(function(tiddler,title) {\n\t\t\tstoreTags(tiddler.fields.tags,title);\n\t\t});\n\t\treturn tags;\n\t});\n};\n\n/*\nLookup a given tiddler and return a list of all the tiddlers that include it in the specified list field\n*/\nexports.findListingsOfTiddler = function(targetTitle,fieldName) {\n\tfieldName = fieldName || \"list\";\n\tvar titles = [];\n\tthis.each(function(tiddler,title) {\n\t\tvar list = $tw.utils.parseStringArray(tiddler.fields[fieldName]);\n\t\tif(list && list.indexOf(targetTitle) !== -1) {\n\t\t\ttitles.push(title);\n\t\t}\n\t});\n\treturn titles;\n};\n\n/*\nSorts an array of tiddler titles according to an ordered list\n*/\nexports.sortByList = function(array,listTitle) {\n\tvar list = this.getTiddlerList(listTitle);\n\tif(!array || array.length === 0) {\n\t\treturn [];\n\t} else {\n\t\tvar titles = [], t, title;\n\t\t// First place any entries that are present in the list\n\t\tfor(t=0; t<list.length; t++) {\n\t\t\ttitle = list[t];\n\t\t\tif(array.indexOf(title) !== -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Then place any remaining entries\n\t\tfor(t=0; t<array.length; t++) {\n\t\t\ttitle = array[t];\n\t\t\tif(list.indexOf(title) === -1) {\n\t\t\t\ttitles.push(title);\n\t\t\t}\n\t\t}\n\t\t// Finally obey the list-before and list-after fields of each tiddler in turn\n\t\tvar sortedTitles = titles.slice(0);\n\t\tfor(t=0; t<sortedTitles.length; t++) {\n\t\t\ttitle = sortedTitles[t];\n\t\t\tvar currPos = titles.indexOf(title),\n\t\t\t\tnewPos = -1,\n\t\t\t\ttiddler = this.getTiddler(title);\n\t\t\tif(tiddler) {\n\t\t\t\tvar beforeTitle = tiddler.fields[\"list-before\"],\n\t\t\t\t\tafterTitle = tiddler.fields[\"list-after\"];\n\t\t\t\tif(beforeTitle === \"\") {\n\t\t\t\t\tnewPos = 0;\n\t\t\t\t} else if(beforeTitle) {\n\t\t\t\t\tnewPos = titles.indexOf(beforeTitle);\n\t\t\t\t} else if(afterTitle) {\n\t\t\t\t\tnewPos = titles.indexOf(afterTitle);\n\t\t\t\t\tif(newPos >= 0) {\n\t\t\t\t\t\t++newPos;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(newPos === -1) {\n\t\t\t\t\tnewPos = currPos;\n\t\t\t\t}\n\t\t\t\tif(newPos !== currPos) {\n\t\t\t\t\ttitles.splice(currPos,1);\n\t\t\t\t\tif(newPos >= currPos) {\n\t\t\t\t\t\tnewPos--;\n\t\t\t\t\t}\n\t\t\t\t\ttitles.splice(newPos,0,title);\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\treturn titles;\n\t}\n};\n\nexports.getSubTiddler = function(title,subTiddlerTitle) {\n\tvar bundleInfo = this.getPluginInfo(title) || this.getTiddlerDataCached(title);\n\tif(bundleInfo && bundleInfo.tiddlers) {\n\t\tvar subTiddler = bundleInfo.tiddlers[subTiddlerTitle];\n\t\tif(subTiddler) {\n\t\t\treturn new $tw.Tiddler(subTiddler);\n\t\t}\n\t}\n\treturn null;\n};\n\n/*\nRetrieve a tiddler as a JSON string of the fields\n*/\nexports.getTiddlerAsJson = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\tvar fields = Object.create(null);\n\t\t$tw.utils.each(tiddler.fields,function(value,name) {\n\t\t\tfields[name] = tiddler.getFieldString(name);\n\t\t});\n\t\treturn JSON.stringify(fields);\n\t} else {\n\t\treturn JSON.stringify({title: title});\n\t}\n};\n\n/*\nGet the content of a tiddler as a JavaScript object. How this is done depends on the type of the tiddler:\n\napplication/json: the tiddler JSON is parsed into an object\napplication/x-tiddler-dictionary: the tiddler is parsed as sequence of name:value pairs\n\nOther types currently just return null.\n\ntitleOrTiddler: string tiddler title or a tiddler object\ndefaultData: default data to be returned if the tiddler is missing or doesn't contain data\n\nNote that the same value is returned for repeated calls for the same tiddler data. The value is frozen to prevent modification; otherwise modifications would be visible to all callers\n*/\nexports.getTiddlerDataCached = function(titleOrTiddler,defaultData) {\n\tvar self = this,\n\t\ttiddler = titleOrTiddler;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler) {\n\t\treturn this.getCacheForTiddler(tiddler.fields.title,\"data\",function() {\n\t\t\t// Return the frozen value\n\t\t\tvar value = self.getTiddlerData(tiddler.fields.title,defaultData);\n\t\t\t$tw.utils.deepFreeze(value);\n\t\t\treturn value;\n\t\t});\n\t} else {\n\t\treturn defaultData;\n\t}\n};\n\n/*\nAlternative, uncached version of getTiddlerDataCached(). The return value can be mutated freely and reused\n*/\nexports.getTiddlerData = function(titleOrTiddler,defaultData) {\n\tvar tiddler = titleOrTiddler,\n\t\tdata;\n\tif(!(tiddler instanceof $tw.Tiddler)) {\n\t\ttiddler = this.getTiddler(tiddler);\t\n\t}\n\tif(tiddler && tiddler.fields.text) {\n\t\tswitch(tiddler.fields.type) {\n\t\t\tcase \"application/json\":\n\t\t\t\t// JSON tiddler\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse(tiddler.fields.text);\n\t\t\t\t} catch(ex) {\n\t\t\t\t\treturn defaultData;\n\t\t\t\t}\n\t\t\t\treturn data;\n\t\t\tcase \"application/x-tiddler-dictionary\":\n\t\t\t\treturn $tw.utils.parseFields(tiddler.fields.text);\n\t\t}\n\t}\n\treturn defaultData;\n};\n\n/*\nExtract an indexed field from within a data tiddler\n*/\nexports.extractTiddlerDataItem = function(titleOrTiddler,index,defaultText) {\n\tvar data = this.getTiddlerData(titleOrTiddler,Object.create(null)),\n\t\ttext;\n\tif(data && $tw.utils.hop(data,index)) {\n\t\ttext = data[index];\n\t}\n\tif(typeof text === \"string\" || typeof text === \"number\") {\n\t\treturn text.toString();\n\t} else {\n\t\treturn defaultText;\n\t}\n};\n\n/*\nSet a tiddlers content to a JavaScript object. Currently this is done by setting the tiddler's type to \"application/json\" and setting the text to the JSON text of the data.\ntitle: title of tiddler\ndata: object that can be serialised to JSON\nfields: optional hashmap of additional tiddler fields to be set\n*/\nexports.setTiddlerData = function(title,data,fields) {\n\tvar existingTiddler = this.getTiddler(title),\n\t\tnewFields = {\n\t\t\ttitle: title\n\t};\n\tif(existingTiddler && existingTiddler.fields.type === \"application/x-tiddler-dictionary\") {\n\t\tnewFields.text = $tw.utils.makeTiddlerDictionary(data);\n\t} else {\n\t\tnewFields.type = \"application/json\";\n\t\tnewFields.text = JSON.stringify(data,null,$tw.config.preferences.jsonSpaces);\n\t}\n\tthis.addTiddler(new $tw.Tiddler(this.getCreationFields(),existingTiddler,fields,newFields,this.getModificationFields()));\n};\n\n/*\nReturn the content of a tiddler as an array containing each line\n*/\nexports.getTiddlerList = function(title,field,index) {\n\tif(index) {\n\t\treturn $tw.utils.parseStringArray(this.extractTiddlerDataItem(title,index,\"\"));\n\t}\n\tfield = field || \"list\";\n\tvar tiddler = this.getTiddler(title);\n\tif(tiddler) {\n\t\treturn ($tw.utils.parseStringArray(tiddler.fields[field]) || []).slice(0);\n\t}\n\treturn [];\n};\n\n// Return a named global cache object. Global cache objects are cleared whenever a tiddler change occurs\nexports.getGlobalCache = function(cacheName,initializer) {\n\tthis.globalCache = this.globalCache || Object.create(null);\n\tif($tw.utils.hop(this.globalCache,cacheName)) {\n\t\treturn this.globalCache[cacheName];\n\t} else {\n\t\tthis.globalCache[cacheName] = initializer();\n\t\treturn this.globalCache[cacheName];\n\t}\n};\n\nexports.clearGlobalCache = function() {\n\tthis.globalCache = Object.create(null);\n};\n\n// Return the named cache object for a tiddler. If the cache doesn't exist then the initializer function is invoked to create it\nexports.getCacheForTiddler = function(title,cacheName,initializer) {\n\tthis.caches = this.caches || Object.create(null);\n\tvar caches = this.caches[title];\n\tif(caches && caches[cacheName]) {\n\t\treturn caches[cacheName];\n\t} else {\n\t\tif(!caches) {\n\t\t\tcaches = Object.create(null);\n\t\t\tthis.caches[title] = caches;\n\t\t}\n\t\tcaches[cacheName] = initializer();\n\t\treturn caches[cacheName];\n\t}\n};\n\n// Clear all caches associated with a particular tiddler, or, if the title is null, clear all the caches for all the tiddlers\nexports.clearCache = function(title) {\n\tif(title) {\n\t\tthis.caches = this.caches || Object.create(null);\n\t\tif($tw.utils.hop(this.caches,title)) {\n\t\t\tdelete this.caches[title];\n\t\t}\n\t} else {\n\t\tthis.caches = Object.create(null);\n\t}\n};\n\nexports.initParsers = function(moduleType) {\n\t// Install the parser modules\n\t$tw.Wiki.parsers = {};\n\tvar self = this;\n\t$tw.modules.forEachModuleOfType(\"parser\",function(title,module) {\n\t\tfor(var f in module) {\n\t\t\tif($tw.utils.hop(module,f)) {\n\t\t\t\t$tw.Wiki.parsers[f] = module[f]; // Store the parser class\n\t\t\t}\n\t\t}\n\t});\n};\n\n/*\nParse a block of text of a specified MIME type\n\ttype: content type of text to be parsed\n\ttext: text\n\toptions: see below\nOptions include:\n\tparseAsInline: if true, the text of the tiddler will be parsed as an inline run\n\t_canonical_uri: optional string of the canonical URI of this content\n*/\nexports.parseText = function(type,text,options) {\n\ttext = text || \"\";\n\toptions = options || {};\n\t// Select a parser\n\tvar Parser = $tw.Wiki.parsers[type];\n\tif(!Parser && $tw.utils.getFileExtensionInfo(type)) {\n\t\tParser = $tw.Wiki.parsers[$tw.utils.getFileExtensionInfo(type).type];\n\t}\n\tif(!Parser) {\n\t\tParser = $tw.Wiki.parsers[options.defaultType || \"text/vnd.tiddlywiki\"];\n\t}\n\tif(!Parser) {\n\t\treturn null;\n\t}\n\t// Return the parser instance\n\treturn new Parser(type,text,{\n\t\tparseAsInline: options.parseAsInline,\n\t\twiki: this,\n\t\t_canonical_uri: options._canonical_uri\n\t});\n};\n\n/*\nParse a tiddler according to its MIME type\n*/\nexports.parseTiddler = function(title,options) {\n\toptions = $tw.utils.extend({},options);\n\tvar cacheType = options.parseAsInline ? \"inlineParseTree\" : \"blockParseTree\",\n\t\ttiddler = this.getTiddler(title),\n\t\tself = this;\n\treturn tiddler ? this.getCacheForTiddler(title,cacheType,function() {\n\t\t\tif(tiddler.hasField(\"_canonical_uri\")) {\n\t\t\t\toptions._canonical_uri = tiddler.fields._canonical_uri;\n\t\t\t}\n\t\t\treturn self.parseText(tiddler.fields.type,tiddler.fields.text,options);\n\t\t}) : null;\n};\n\nexports.parseTextReference = function(title,field,index,options) {\n\tvar tiddler,text;\n\tif(options.subTiddler) {\n\t\ttiddler = this.getSubTiddler(title,options.subTiddler);\n\t} else {\n\t\ttiddler = this.getTiddler(title);\n\t\tif(field === \"text\" || (!field && !index)) {\n\t\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\t\treturn this.parseTiddler(title,options);\n\t\t}\n\t}\n\tif(field === \"text\" || (!field && !index)) {\n\t\tif(tiddler && tiddler.fields) {\n\t\t\treturn this.parseText(tiddler.fields.type || \"text/vnd.tiddlywiki\",tiddler.fields.text,options);\t\t\t\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t} else if(field) {\n\t\tif(field === \"title\") {\n\t\t\ttext = title;\n\t\t} else {\n\t\t\tif(!tiddler || !tiddler.hasField(field)) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\ttext = tiddler.fields[field];\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text.toString(),options);\n\t} else if(index) {\n\t\tthis.getTiddlerText(title); // Force the tiddler to be lazily loaded\n\t\ttext = this.extractTiddlerDataItem(tiddler,index,undefined);\n\t\tif(text === undefined) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.parseText(\"text/vnd.tiddlywiki\",text,options);\n\t}\n};\n\n/*\nMake a widget tree for a parse tree\nparser: parser object\noptions: see below\nOptions include:\ndocument: optional document to use\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.makeWidget = function(parser,options) {\n\toptions = options || {};\n\tvar widgetNode = {\n\t\t\ttype: \"widget\",\n\t\t\tchildren: []\n\t\t},\n\t\tcurrWidgetNode = widgetNode;\n\t// Create set variable widgets for each variable\n\t$tw.utils.each(options.variables,function(value,name) {\n\t\tvar setVariableWidget = {\n\t\t\ttype: \"set\",\n\t\t\tattributes: {\n\t\t\t\tname: {type: \"string\", value: name},\n\t\t\t\tvalue: {type: \"string\", value: value}\n\t\t\t},\n\t\t\tchildren: []\n\t\t};\n\t\tcurrWidgetNode.children = [setVariableWidget];\n\t\tcurrWidgetNode = setVariableWidget;\n\t});\n\t// Add in the supplied parse tree nodes\n\tcurrWidgetNode.children = parser ? parser.tree : [];\n\t// Create the widget\n\treturn new widget.widget(widgetNode,{\n\t\twiki: this,\n\t\tdocument: options.document || $tw.fakeDocument,\n\t\tparentWidget: options.parentWidget\n\t});\n};\n\n/*\nMake a widget tree for transclusion\ntitle: target tiddler title\noptions: as for wiki.makeWidget() plus:\noptions.field: optional field to transclude (defaults to \"text\")\noptions.mode: transclusion mode \"inline\" or \"block\"\noptions.children: optional array of children for the transclude widget\n*/\nexports.makeTranscludeWidget = function(title,options) {\n\toptions = options || {};\n\tvar parseTree = {tree: [{\n\t\t\ttype: \"element\",\n\t\t\ttag: \"div\",\n\t\t\tchildren: [{\n\t\t\t\ttype: \"transclude\",\n\t\t\t\tattributes: {\n\t\t\t\t\ttiddler: {\n\t\t\t\t\t\tname: \"tiddler\",\n\t\t\t\t\t\ttype: \"string\",\n\t\t\t\t\t\tvalue: title}},\n\t\t\t\tisBlock: !options.parseAsInline}]}\n\t]};\n\tif(options.field) {\n\t\tparseTree.tree[0].children[0].attributes.field = {type: \"string\", value: options.field};\n\t}\n\tif(options.mode) {\n\t\tparseTree.tree[0].children[0].attributes.mode = {type: \"string\", value: options.mode};\n\t}\n\tif(options.children) {\n\t\tparseTree.tree[0].children[0].children = options.children;\n\t}\n\treturn $tw.wiki.makeWidget(parseTree,options);\n};\n\n/*\nParse text in a specified format and render it into another format\n\toutputType: content type for the output\n\ttextType: content type of the input text\n\ttext: input text\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderText = function(outputType,textType,text,options) {\n\toptions = options || {};\n\tvar parser = this.parseText(textType,text,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : container.textContent;\n};\n\n/*\nParse text from a tiddler and render it into another format\n\toutputType: content type for the output\n\ttitle: title of the tiddler to be rendered\n\toptions: see below\nOptions include:\nvariables: hashmap of variables to set\nparentWidget: optional parent widget for the root node\n*/\nexports.renderTiddler = function(outputType,title,options) {\n\toptions = options || {};\n\tvar parser = this.parseTiddler(title,options),\n\t\twidgetNode = this.makeWidget(parser,options);\n\tvar container = $tw.fakeDocument.createElement(\"div\");\n\twidgetNode.render(container,null);\n\treturn outputType === \"text/html\" ? container.innerHTML : (outputType === \"text/plain-formatted\" ? container.formattedTextContent : container.textContent);\n};\n\n/*\nReturn an array of tiddler titles that match a search string\n\ttext: The text string to search for\n\toptions: see below\nOptions available:\n\tsource: an iterator function for the source tiddlers, called source(iterator), where iterator is called as iterator(tiddler,title)\n\texclude: An array of tiddler titles to exclude from the search\n\tinvert: If true returns tiddlers that do not contain the specified string\n\tcaseSensitive: If true forces a case sensitive search\n\tliteral: If true, searches for literal string, rather than separate search terms\n\tfield: If specified, restricts the search to the specified field\n*/\nexports.search = function(text,options) {\n\toptions = options || {};\n\tvar self = this,\n\t\tt,\n\t\tinvert = !!options.invert;\n\t// Convert the search string into a regexp for each term\n\tvar terms, searchTermsRegExps,\n\t\tflags = options.caseSensitive ? \"\" : \"i\";\n\tif(options.literal) {\n\t\tif(text.length === 0) {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [new RegExp(\"(\" + $tw.utils.escapeRegExp(text) + \")\",flags)];\n\t\t}\n\t} else {\n\t\tterms = text.split(/ +/);\n\t\tif(terms.length === 1 && terms[0] === \"\") {\n\t\t\tsearchTermsRegExps = null;\n\t\t} else {\n\t\t\tsearchTermsRegExps = [];\n\t\t\tfor(t=0; t<terms.length; t++) {\n\t\t\t\tsearchTermsRegExps.push(new RegExp(\"(\" + $tw.utils.escapeRegExp(terms[t]) + \")\",flags));\n\t\t\t}\n\t\t}\n\t}\n\t// Function to check a given tiddler for the search term\n\tvar searchTiddler = function(title) {\n\t\tif(!searchTermsRegExps) {\n\t\t\treturn true;\n\t\t}\n\t\tvar tiddler = self.getTiddler(title);\n\t\tif(!tiddler) {\n\t\t\ttiddler = new $tw.Tiddler({title: title, text: \"\", type: \"text/vnd.tiddlywiki\"});\n\t\t}\n\t\tvar contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type] || $tw.config.contentTypeInfo[\"text/vnd.tiddlywiki\"],\n\t\t\tmatch;\n\t\tfor(var t=0; t<searchTermsRegExps.length; t++) {\n\t\t\tmatch = false;\n\t\t\tif(options.field) {\n\t\t\t\tmatch = searchTermsRegExps[t].test(tiddler.getFieldString(options.field));\n\t\t\t} else {\n\t\t\t\t// Search title, tags and body\n\t\t\t\tif(contentTypeInfo.encoding === \"utf8\") {\n\t\t\t\t\tmatch = match || searchTermsRegExps[t].test(tiddler.fields.text);\n\t\t\t\t}\n\t\t\t\tvar tags = tiddler.fields.tags ? tiddler.fields.tags.join(\"\\0\") : \"\";\n\t\t\t\tmatch = match || searchTermsRegExps[t].test(tags) || searchTermsRegExps[t].test(tiddler.fields.title);\n\t\t\t}\n\t\t\tif(!match) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t};\n\t// Loop through all the tiddlers doing the search\n\tvar results = [],\n\t\tsource = options.source || this.each;\n\tsource(function(tiddler,title) {\n\t\tif(searchTiddler(title) !== options.invert) {\n\t\t\tresults.push(title);\n\t\t}\n\t});\n\t// Remove any of the results we have to exclude\n\tif(options.exclude) {\n\t\tfor(t=0; t<options.exclude.length; t++) {\n\t\t\tvar p = results.indexOf(options.exclude[t]);\n\t\t\tif(p !== -1) {\n\t\t\t\tresults.splice(p,1);\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\n/*\nTrigger a load for a tiddler if it is skinny. Returns the text, or undefined if the tiddler is missing, null if the tiddler is being lazily loaded.\n*/\nexports.getTiddlerText = function(title,defaultText) {\n\tvar tiddler = this.getTiddler(title);\n\t// Return undefined if the tiddler isn't found\n\tif(!tiddler) {\n\t\treturn defaultText;\n\t}\n\tif(tiddler.fields.text !== undefined) {\n\t\t// Just return the text if we've got it\n\t\treturn tiddler.fields.text;\n\t} else {\n\t\t// Tell any listeners about the need to lazily load this tiddler\n\t\tthis.dispatchEvent(\"lazyLoad\",title);\n\t\t// Indicate that the text is being loaded\n\t\treturn null;\n\t}\n};\n\n/*\nRead an array of browser File objects, invoking callback(tiddlerFieldsArray) once they're all read\n*/\nexports.readFiles = function(files,callback) {\n\tvar result = [],\n\t\toutstanding = files.length;\n\tfor(var f=0; f<files.length; f++) {\n\t\tthis.readFile(files[f],function(tiddlerFieldsArray) {\n\t\t\tresult.push.apply(result,tiddlerFieldsArray);\n\t\t\tif(--outstanding === 0) {\n\t\t\t\tcallback(result);\n\t\t\t}\n\t\t});\n\t}\n\treturn files.length;\n};\n\n/*\nRead a browser File object, invoking callback(tiddlerFieldsArray) with an array of tiddler fields objects\n*/\nexports.readFile = function(file,callback) {\n\t// Get the type, falling back to the filename extension\n\tvar self = this,\n\t\ttype = file.type;\n\tif(type === \"\" || !type) {\n\t\tvar dotPos = file.name.lastIndexOf(\".\");\n\t\tif(dotPos !== -1) {\n\t\t\tvar fileExtensionInfo = $tw.utils.getFileExtensionInfo(file.name.substr(dotPos));\n\t\t\tif(fileExtensionInfo) {\n\t\t\t\ttype = fileExtensionInfo.type;\n\t\t\t}\n\t\t}\n\t}\n\t// Figure out if we're reading a binary file\n\tvar contentTypeInfo = $tw.config.contentTypeInfo[type],\n\t\tisBinary = contentTypeInfo ? contentTypeInfo.encoding === \"base64\" : false;\n\t// Log some debugging information\n\tif($tw.log.IMPORT) {\n\t\tconsole.log(\"Importing file '\" + file.name + \"', type: '\" + type + \"', isBinary: \" + isBinary);\n\t}\n\t// Create the FileReader\n\tvar reader = new FileReader();\n\t// Onload\n\treader.onload = function(event) {\n\t\t// Deserialise the file contents\n\t\tvar text = event.target.result,\n\t\t\ttiddlerFields = {title: file.name || \"Untitled\", type: type};\n\t\t// Are we binary?\n\t\tif(isBinary) {\n\t\t\t// The base64 section starts after the first comma in the data URI\n\t\t\tvar commaPos = text.indexOf(\",\");\n\t\t\tif(commaPos !== -1) {\n\t\t\t\ttiddlerFields.text = text.substr(commaPos+1);\n\t\t\t\tcallback([tiddlerFields]);\n\t\t\t}\n\t\t} else {\n\t\t\t// Check whether this is an encrypted TiddlyWiki file\n\t\t\tvar encryptedJson = $tw.utils.extractEncryptedStoreArea(text);\n\t\t\tif(encryptedJson) {\n\t\t\t\t// If so, attempt to decrypt it with the current password\n\t\t\t\t$tw.utils.decryptStoreAreaInteractive(encryptedJson,function(tiddlers) {\n\t\t\t\t\tcallback(tiddlers);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// Otherwise, just try to deserialise any tiddlers in the file\n\t\t\t\tcallback(self.deserializeTiddlers(type,text,tiddlerFields));\n\t\t\t}\n\t\t}\n\t};\n\t// Kick off the read\n\tif(isBinary) {\n\t\treader.readAsDataURL(file);\n\t} else {\n\t\treader.readAsText(file);\n\t}\n};\n\n/*\nFind any existing draft of a specified tiddler\n*/\nexports.findDraft = function(targetTitle) {\n\tvar draftTitle = undefined;\n\tthis.forEachTiddler({includeSystem: true},function(title,tiddler) {\n\t\tif(tiddler.fields[\"draft.title\"] && tiddler.fields[\"draft.of\"] === targetTitle) {\n\t\t\tdraftTitle = title;\n\t\t}\n\t});\n\treturn draftTitle;\n}\n\n/*\nCheck whether the specified draft tiddler has been modified.\nIf the original tiddler doesn't exist, create  a vanilla tiddler variable,\nto check if additional fields have been added.\n*/\nexports.isDraftModified = function(title) {\n\tvar tiddler = this.getTiddler(title);\n\tif(!tiddler.isDraft()) {\n\t\treturn false;\n\t}\n\tvar ignoredFields = [\"created\", \"modified\", \"title\", \"draft.title\", \"draft.of\"],\n\t\torigTiddler = this.getTiddler(tiddler.fields[\"draft.of\"]) || new $tw.Tiddler({text:\"\", tags:[]}),\n\t\ttitleModified = tiddler.fields[\"draft.title\"] !== tiddler.fields[\"draft.of\"];\n\treturn titleModified || !tiddler.isEqual(origTiddler,ignoredFields);\n};\n\n/*\nAdd a new record to the top of the history stack\ntitle: a title string or an array of title strings\nfromPageRect: page coordinates of the origin of the navigation\nhistoryTitle: title of history tiddler (defaults to $:/HistoryList)\n*/\nexports.addToHistory = function(title,fromPageRect,historyTitle) {\n\tvar story = new $tw.Story({wiki: this, historyTitle: historyTitle});\n\tstory.addToHistory(title,fromPageRect);\n};\n\n/*\nInvoke the available upgrader modules\ntitles: array of tiddler titles to be processed\ntiddlers: hashmap by title of tiddler fields of pending import tiddlers. These can be modified by the upgraders. An entry with no fields indicates a tiddler that was pending import has been suppressed. When entries are added to the pending import the tiddlers hashmap may have entries that are not present in the titles array\nReturns a hashmap of messages keyed by tiddler title.\n*/\nexports.invokeUpgraders = function(titles,tiddlers) {\n\t// Collect up the available upgrader modules\n\tvar self = this;\n\tif(!this.upgraderModules) {\n\t\tthis.upgraderModules = [];\n\t\t$tw.modules.forEachModuleOfType(\"upgrader\",function(title,module) {\n\t\t\tif(module.upgrade) {\n\t\t\t\tself.upgraderModules.push(module);\n\t\t\t}\n\t\t});\n\t}\n\t// Invoke each upgrader in turn\n\tvar messages = {};\n\tfor(var t=0; t<this.upgraderModules.length; t++) {\n\t\tvar upgrader = this.upgraderModules[t],\n\t\t\tupgraderMessages = upgrader.upgrade(this,titles,tiddlers);\n\t\t$tw.utils.extend(messages,upgraderMessages);\n\t}\n\treturn messages;\n};\n\n})();\n",
            "title": "$:/core/modules/wiki.js",
            "type": "application/javascript",
            "module-type": "wikimethod"
        },
        "$:/palettes/Blanca": {
            "title": "$:/palettes/Blanca",
            "name": "Blanca",
            "description": "A clean white palette to let you focus",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #66cccc\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ffffff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #7897f3\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ccc\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #ffffff\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #7897f3\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #eeeeee\ntab-border-selected: #cccccc\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffeedd\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: #eee\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #ff9900\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/Blue": {
            "title": "$:/palettes/Blue",
            "name": "Blue",
            "description": "A blue theme",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour foreground>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333353\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #ddddff\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: <<colour page-background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #5959c0\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: #ccccdd\ntab-border-selected: #ccccdd\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #eeeeff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #666666\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #ffffff\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #ffffff\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #5959c0\ntoolbar-new-button: #5eb95e\ntoolbar-options-button: rgb(128, 88, 165)\ntoolbar-save-button: #0e90d2\ntoolbar-info-button: #0e90d2\ntoolbar-edit-button: rgb(243, 123, 29)\ntoolbar-close-button: #dd514c\ntoolbar-delete-button: #dd514c\ntoolbar-cancel-button: rgb(243, 123, 29)\ntoolbar-done-button: #5eb95e\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/Muted": {
            "title": "$:/palettes/Muted",
            "name": "Muted",
            "description": "Bright tiddlers on a muted background",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #6f6f70\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #29a6ee\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #c2c1c2\nsidebar-foreground-shadow: rgba(255,255,255,0)\nsidebar-foreground: #d3d2d4\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #6f6f70\nsidebar-tab-background: #666667\nsidebar-tab-border-selected: #999\nsidebar-tab-border: #515151\nsidebar-tab-divider: #999\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: #999\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #d1d0d2\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #d5ad34\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/ContrastLight": {
            "title": "$:/palettes/ContrastLight",
            "name": "Contrast (Light)",
            "description": "High contrast and unambiguous (light version)",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #fff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #000\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #000\ntag-foreground: #fff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/ContrastDark": {
            "title": "$:/palettes/ContrastDark",
            "name": "Contrast (Dark)",
            "description": "High contrast and unambiguous (dark version)",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #f00\nalert-border: <<colour background>>\nalert-highlight: <<colour foreground>>\nalert-muted-foreground: #800\nbackground: #000\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: <<colour background>>\nbutton-foreground: <<colour foreground>>\nbutton-border: <<colour foreground>>\ncode-background: <<colour background>>\ncode-border: <<colour foreground>>\ncode-foreground: <<colour foreground>>\ndirty-indicator: #f00\ndownload-background: #080\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: <<colour foreground>>\ndropdown-tab-background: <<colour foreground>>\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #00a\nexternal-link-foreground: #00e\nforeground: #fff\nmessage-background: <<colour foreground>>\nmessage-border: <<colour background>>\nmessage-foreground: <<colour background>>\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: <<colour foreground>>\nmodal-footer-background: <<colour background>>\nmodal-footer-border: <<colour foreground>>\nmodal-header-border: <<colour foreground>>\nmuted-foreground: <<colour foreground>>\nnotification-background: <<colour background>>\nnotification-border: <<colour foreground>>\npage-background: <<colour background>>\npre-background: <<colour background>>\npre-border: <<colour foreground>>\nprimary: #00f\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: <<colour background>>\nsidebar-controls-foreground: <<colour foreground>>\nsidebar-foreground-shadow: rgba(0,0,0, 0)\nsidebar-foreground: <<colour foreground>>\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: <<colour foreground>>\nsidebar-tab-background-selected: <<colour background>>\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: <<colour foreground>>\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: <<colour foreground>>\nsidebar-tiddler-link-foreground: <<colour primary>>\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: <<colour background>>\ntab-background: <<colour foreground>>\ntab-border-selected: <<colour foreground>>\ntab-border: <<colour foreground>>\ntab-divider: <<colour foreground>>\ntab-foreground-selected: <<colour foreground>>\ntab-foreground: <<colour background>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #fff\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour foreground>>\ntiddler-controls-foreground-hover: #ddd\ntiddler-controls-foreground-selected: #fdd\ntiddler-controls-foreground: <<colour foreground>>\ntiddler-editor-background: <<colour background>>\ntiddler-editor-border-image: <<colour foreground>>\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: <<colour background>>\ntiddler-editor-fields-odd: <<colour background>>\ntiddler-info-background: <<colour background>>\ntiddler-info-border: <<colour foreground>>\ntiddler-info-tab-background: <<colour background>>\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: <<colour foreground>>\ntiddler-title-foreground: <<colour foreground>>\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: <<colour foreground>>\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/DarkPhotos": {
            "created": "20150402111612188",
            "description": "Good with dark photo backgrounds",
            "modified": "20150402112344080",
            "name": "DarkPhotos",
            "tags": "$:/tags/Palette",
            "title": "$:/palettes/DarkPhotos",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background: \nbutton-foreground: \nbutton-border: \ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #ddd\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #336438\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #ccf\nsidebar-controls-foreground: #fff\nsidebar-foreground-shadow: rgba(0,0,0, 0.5)\nsidebar-foreground: #fff\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #eee\nsidebar-tab-background-selected: rgba(255,255,255, 0.8)\nsidebar-tab-background: rgba(255,255,255, 0.4)\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: rgba(255,255,255, 0.2)\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #aaf\nsidebar-tiddler-link-foreground: #ddf\nsite-title-foreground: #fff\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button: \ntoolbar-options-button: \ntoolbar-save-button: \ntoolbar-info-button: \ntoolbar-edit-button: \ntoolbar-close-button: \ntoolbar-delete-button: \ntoolbar-cancel-button: \ntoolbar-done-button: \nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/Rocker": {
            "title": "$:/palettes/Rocker",
            "name": "Rocker",
            "description": "A dark theme",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #999999\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #000\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #cc0000\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #ffffff\nsidebar-foreground-shadow: rgba(255,255,255, 0.0)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #000\nsidebar-tab-background: <<colour tab-background>>\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: <<colour tab-divider>>\nsidebar-tab-foreground-selected: \nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #ffbb99\nsidebar-tiddler-link-foreground: #cc0000\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ffbb99\ntag-foreground: #000\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #cc0000\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/SolarFlare": {
            "title": "$:/palettes/SolarFlare",
            "name": "Solar Flare",
            "description": "Warm, relaxing earth colours",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": ": Background Tones\n\nbase03: #002b36\nbase02: #073642\n\n: Content Tones\n\nbase01: #586e75\nbase00: #657b83\nbase0: #839496\nbase1: #93a1a1\n\n: Background Tones\n\nbase2: #eee8d5\nbase3: #fdf6e3\n\n: Accent Colors\n\nyellow: #b58900\norange: #cb4b16\nred: #dc322f\nmagenta: #d33682\nviolet: #6c71c4\nblue: #268bd2\ncyan: #2aa198\ngreen: #859900\n\n: Additional Tones (RA)\n\nbase10: #c0c4bb\nviolet-muted: #7c81b0\nblue-muted: #4e7baa\n\nyellow-hot: #ffcc44\norange-hot: #eb6d20\nred-hot: #ff2222\nblue-hot: #2298ee\ngreen-hot: #98ee22\n\n: Palette\n\n: Do not use colour macro for background and foreground\nbackground: #fdf6e3\n    download-foreground: <<colour background>>\n    dragger-foreground: <<colour background>>\n    dropdown-background: <<colour background>>\n    modal-background: <<colour background>>\n    sidebar-foreground-shadow: <<colour background>>\n    tiddler-background: <<colour background>>\n    tiddler-border: <<colour background>>\n    tiddler-link-background: <<colour background>>\n    tab-background-selected: <<colour background>>\n        dropdown-tab-background-selected: <<colour tab-background-selected>>\nforeground: #657b83\n    dragger-background: <<colour foreground>>\n    tab-foreground: <<colour foreground>>\n        tab-foreground-selected: <<colour tab-foreground>>\n            sidebar-tab-foreground-selected: <<colour tab-foreground-selected>>\n        sidebar-tab-foreground: <<colour tab-foreground>>\n    sidebar-button-foreground: <<colour foreground>>\n    sidebar-controls-foreground: <<colour foreground>>\n    sidebar-foreground: <<colour foreground>>\n: base03\n: base02\n: base01\n    alert-muted-foreground: <<colour base01>>\n: base00\n    code-foreground: <<colour base00>>\n    message-foreground: <<colour base00>>\n    tag-foreground: <<colour base00>>\n: base0\n    sidebar-tiddler-link-foreground: <<colour base0>>\n: base1\n    muted-foreground: <<colour base1>>\n        blockquote-bar: <<colour muted-foreground>>\n        dropdown-border: <<colour muted-foreground>>\n        sidebar-muted-foreground: <<colour muted-foreground>>\n        tiddler-title-foreground: <<colour muted-foreground>>\n            site-title-foreground: <<colour tiddler-title-foreground>>\n: base2\n    modal-footer-background: <<colour base2>>\n    page-background: <<colour base2>>\n        modal-backdrop: <<colour page-background>>\n        notification-background: <<colour page-background>>\n        code-background: <<colour page-background>>\n            code-border: <<colour code-background>>\n        pre-background: <<colour page-background>>\n            pre-border: <<colour pre-background>>\n        sidebar-tab-background-selected: <<colour page-background>>\n    table-header-background: <<colour base2>>\n    tag-background: <<colour base2>>\n    tiddler-editor-background: <<colour base2>>\n    tiddler-info-background: <<colour base2>>\n    tiddler-info-tab-background: <<colour base2>>\n    tab-background: <<colour base2>>\n        dropdown-tab-background: <<colour tab-background>>\n: base3\n    alert-background: <<colour base3>>\n    message-background: <<colour base3>>\n: yellow\n: orange\n: red\n: magenta\n    alert-highlight: <<colour magenta>>\n: violet\n    external-link-foreground: <<colour violet>>\n: blue\n: cyan\n: green\n: base10\n    tiddler-controls-foreground: <<colour base10>>\n: violet-muted\n    external-link-foreground-visited: <<colour violet-muted>>\n: blue-muted\n    primary: <<colour blue-muted>>\n        download-background: <<colour primary>>\n        tiddler-link-foreground: <<colour primary>>\n\nalert-border: #b99e2f\ndirty-indicator: #ff0000\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nmessage-border: #cfd6e6\nmodal-border: #999999\nsidebar-controls-foreground-hover:\nsidebar-muted-foreground-hover:\nsidebar-tab-background: #ded8c5\nsidebar-tiddler-link-foreground-hover:\nstatic-alert-foreground: #aaaaaa\ntab-border: #cccccc\n    modal-footer-border: <<colour tab-border>>\n    modal-header-border: <<colour tab-border>>\n    notification-border: <<colour tab-border>>\n    sidebar-tab-border: <<colour tab-border>>\n    tab-border-selected: <<colour tab-border>>\n        sidebar-tab-border-selected: <<colour tab-border-selected>>\ntab-divider: #d8d8d8\n    sidebar-tab-divider: <<colour tab-divider>>\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-border: #dddddd\ntiddler-subtitle-foreground: #c0c0c0\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/palettes/Vanilla": {
            "title": "$:/palettes/Vanilla",
            "name": "Vanilla",
            "description": "Pale and unobtrusive",
            "tags": "$:/tags/Palette",
            "type": "application/x-tiddler-dictionary",
            "text": "alert-background: #ffe476\nalert-border: #b99e2f\nalert-highlight: #881122\nalert-muted-foreground: #b99e2f\nbackground: #ffffff\nblockquote-bar: <<colour muted-foreground>>\nbutton-background:\nbutton-foreground:\nbutton-border:\ncode-background: #f7f7f9\ncode-border: #e1e1e8\ncode-foreground: #dd1144\ndirty-indicator: #ff0000\ndownload-background: #34c734\ndownload-foreground: <<colour background>>\ndragger-background: <<colour foreground>>\ndragger-foreground: <<colour background>>\ndropdown-background: <<colour background>>\ndropdown-border: <<colour muted-foreground>>\ndropdown-tab-background-selected: #fff\ndropdown-tab-background: #ececec\ndropzone-background: rgba(0,200,0,0.7)\nexternal-link-background-hover: inherit\nexternal-link-background-visited: inherit\nexternal-link-background: inherit\nexternal-link-foreground-hover: inherit\nexternal-link-foreground-visited: #0000aa\nexternal-link-foreground: #0000ee\nforeground: #333333\nmessage-background: #ecf2ff\nmessage-border: #cfd6e6\nmessage-foreground: #547599\nmodal-backdrop: <<colour foreground>>\nmodal-background: <<colour background>>\nmodal-border: #999999\nmodal-footer-background: #f5f5f5\nmodal-footer-border: #dddddd\nmodal-header-border: #eeeeee\nmuted-foreground: #bbb\nnotification-background: #ffffdd\nnotification-border: #999999\npage-background: #f4f4f4\npre-background: #f5f5f5\npre-border: #cccccc\nprimary: #5778d8\nsidebar-button-foreground: <<colour foreground>>\nsidebar-controls-foreground-hover: #000000\nsidebar-controls-foreground: #aaaaaa\nsidebar-foreground-shadow: rgba(255,255,255, 0.8)\nsidebar-foreground: #acacac\nsidebar-muted-foreground-hover: #444444\nsidebar-muted-foreground: #c0c0c0\nsidebar-tab-background-selected: #f4f4f4\nsidebar-tab-background: #e0e0e0\nsidebar-tab-border-selected: <<colour tab-border-selected>>\nsidebar-tab-border: <<colour tab-border>>\nsidebar-tab-divider: #e4e4e4\nsidebar-tab-foreground-selected:\nsidebar-tab-foreground: <<colour tab-foreground>>\nsidebar-tiddler-link-foreground-hover: #444444\nsidebar-tiddler-link-foreground: #999999\nsite-title-foreground: <<colour tiddler-title-foreground>>\nstatic-alert-foreground: #aaaaaa\ntab-background-selected: #ffffff\ntab-background: #d8d8d8\ntab-border-selected: #d8d8d8\ntab-border: #cccccc\ntab-divider: #d8d8d8\ntab-foreground-selected: <<colour tab-foreground>>\ntab-foreground: #666666\ntable-border: #dddddd\ntable-footer-background: #a8a8a8\ntable-header-background: #f0f0f0\ntag-background: #ec6\ntag-foreground: #ffffff\ntiddler-background: <<colour background>>\ntiddler-border: <<colour background>>\ntiddler-controls-foreground-hover: #888888\ntiddler-controls-foreground-selected: #444444\ntiddler-controls-foreground: #cccccc\ntiddler-editor-background: #f8f8f8\ntiddler-editor-border-image: #ffffff\ntiddler-editor-border: #cccccc\ntiddler-editor-fields-even: #e0e8e0\ntiddler-editor-fields-odd: #f0f4f0\ntiddler-info-background: #f8f8f8\ntiddler-info-border: #dddddd\ntiddler-info-tab-background: #f8f8f8\ntiddler-link-background: <<colour background>>\ntiddler-link-foreground: <<colour primary>>\ntiddler-subtitle-foreground: #c0c0c0\ntiddler-title-foreground: #182955\ntoolbar-new-button:\ntoolbar-options-button:\ntoolbar-save-button:\ntoolbar-info-button:\ntoolbar-edit-button:\ntoolbar-close-button:\ntoolbar-delete-button:\ntoolbar-cancel-button:\ntoolbar-done-button:\nuntagged-background: #999999\nvery-muted-foreground: #888888\n"
        },
        "$:/core/readme": {
            "title": "$:/core/readme",
            "text": "This plugin contains TiddlyWiki's core components, comprising:\n\n* JavaScript code modules\n* Icons\n* Templates needed to create TiddlyWiki's user interface\n* British English (''en-GB'') translations of the localisable strings used by the core\n"
        },
        "$:/core/templates/MOTW.html": {
            "title": "$:/core/templates/MOTW.html",
            "text": "\\rules only filteredtranscludeinline transcludeinline entity\n<!-- The following comment is called a MOTW comment and is necessary for the TiddlyIE Internet Explorer extension -->\n<!-- saved from url=(0021)http://tiddlywiki.com -->&#13;&#10;"
        },
        "$:/core/templates/alltiddlers.template.html": {
            "title": "$:/core/templates/alltiddlers.template.html",
            "type": "text/vnd.tiddlywiki-html",
            "text": "<!-- This template is provided for backwards compatibility with older versions of TiddlyWiki -->\n\n<$set name=\"exportFilter\" value=\"[!is[system]sort[title]]\">\n\n{{$:/core/templates/exporters/StaticRiver}}\n\n</$set>\n"
        },
        "$:/core/templates/canonical-uri-external-image": {
            "title": "$:/core/templates/canonical-uri-external-image",
            "text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external images.\n\nChange the `./images/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./images/<$view field=\"title\" format=\"doubleurlencoded\"/>"
        },
        "$:/core/templates/canonical-uri-external-text": {
            "title": "$:/core/templates/canonical-uri-external-text",
            "text": "<!--\n\nThis template is used to assign the ''_canonical_uri'' field to external text files.\n\nChange the `./text/` part to a different base URI. The URI can be relative or absolute.\n\n-->\n./text/<$view field=\"title\" format=\"doubleurlencoded\"/>.tid"
        },
        "$:/core/templates/css-tiddler": {
            "title": "$:/core/templates/css-tiddler",
            "text": "<!--\n\nThis template is used for saving CSS tiddlers as a style tag with data attributes representing the tiddler fields.\n\n-->`<style`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/css\">`<$view field=\"text\" format=\"text\" />`</style>`"
        },
        "$:/core/templates/exporters/CsvFile": {
            "title": "$:/core/templates/exporters/CsvFile",
            "tags": "$:/tags/Exporter",
            "description": "{{$:/language/Exporters/CsvFile}}",
            "extension": ".csv",
            "text": "\\define renderContent()\n<$text text=<<csvtiddlers filter:\"\"\"$(exportFilter)$\"\"\" format:\"quoted-comma-sep\">>/>\n\\end\n<<renderContent>>\n"
        },
        "$:/core/templates/exporters/JsonFile": {
            "title": "$:/core/templates/exporters/JsonFile",
            "tags": "$:/tags/Exporter",
            "description": "{{$:/language/Exporters/JsonFile}}",
            "extension": ".json",
            "text": "\\define renderContent()\n<$text text=<<jsontiddlers filter:\"\"\"$(exportFilter)$\"\"\">>/>\n\\end\n<<renderContent>>\n"
        },
        "$:/core/templates/exporters/StaticRiver": {
            "title": "$:/core/templates/exporters/StaticRiver",
            "tags": "$:/tags/Exporter",
            "description": "{{$:/language/Exporters/StaticRiver}}",
            "extension": ".html",
            "text": "\\define tv-wikilink-template() #$uri_encoded$\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n<section class=\"tc-story-river\">\n{{$:/core/templates/exporters/StaticRiver/Content||$:/core/templates/html-tiddler}}\n</section>\n</body>\n</html>\n"
        },
        "$:/core/templates/exporters/StaticRiver/Content": {
            "title": "$:/core/templates/exporters/StaticRiver/Content",
            "text": "\\define renderContent()\n{{{ $(exportFilter)$ ||$:/core/templates/static-tiddler}}}\n\\end\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n<<renderContent>>\n</$importvariables>\n"
        },
        "$:/core/templates/exporters/TidFile": {
            "title": "$:/core/templates/exporters/TidFile",
            "tags": "$:/tags/Exporter",
            "description": "{{$:/language/Exporters/TidFile}}",
            "extension": ".tid",
            "text": "\\define renderContent()\n{{{ $(exportFilter)$ +[limit[1]] ||$:/core/templates/tid-tiddler}}}\n\\end\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\"><<renderContent>></$importvariables>"
        },
        "$:/core/templates/html-div-tiddler": {
            "title": "$:/core/templates/html-div-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers as an HTML DIV tag with attributes representing the tiddler fields.\n\n-->`<div`<$fields template=' $name$=\"$encoded_value$\"'></$fields>`>\n<pre>`<$view field=\"text\" format=\"htmlencoded\" />`</pre>\n</div>`\n"
        },
        "$:/core/templates/html-tiddler": {
            "title": "$:/core/templates/html-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers as raw HTML\n\n--><$view field=\"text\" format=\"htmlwikified\" />"
        },
        "$:/core/templates/javascript-tiddler": {
            "title": "$:/core/templates/javascript-tiddler",
            "text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields.\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\">`<$view field=\"text\" format=\"text\" />`</script>`"
        },
        "$:/core/templates/module-tiddler": {
            "title": "$:/core/templates/module-tiddler",
            "text": "<!--\n\nThis template is used for saving JavaScript tiddlers as a script tag with data attributes representing the tiddler fields. The body of the tiddler is wrapped in a call to the `$tw.modules.define` function in order to define the body of the tiddler as a module\n\n-->`<script`<$fields template=' data-tiddler-$name$=\"$encoded_value$\"'></$fields>` type=\"text/javascript\" data-module=\"yes\">$tw.modules.define(\"`<$view field=\"title\" format=\"jsencoded\" />`\",\"`<$view field=\"module-type\" format=\"jsencoded\" />`\",function(module,exports,require) {`<$view field=\"text\" format=\"text\" />`});\n</script>`"
        },
        "$:/core/templates/plain-text-tiddler": {
            "title": "$:/core/templates/plain-text-tiddler",
            "text": "<$view field=\"text\" format=\"text\" />"
        },
        "$:/core/templates/raw-static-tiddler": {
            "title": "$:/core/templates/raw-static-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers as static HTML\n\n--><$view field=\"text\" format=\"plainwikified\" />"
        },
        "$:/core/save/all": {
            "title": "$:/core/save/all",
            "text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
        },
        "$:/core/save/empty": {
            "title": "$:/core/save/empty",
            "text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]]\n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
        },
        "$:/core/save/lazy-all": {
            "title": "$:/core/save/lazy-all",
            "text": "\\define saveTiddlerFilter()\n[is[system]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] \n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
        },
        "$:/core/save/lazy-images": {
            "title": "$:/core/save/lazy-images",
            "text": "\\define saveTiddlerFilter()\n[is[tiddler]] -[prefix[$:/state/popup/]] -[[$:/HistoryList]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[!is[system]is[image]] +[sort[title]] \n\\end\n{{$:/core/templates/tiddlywiki5.html}}\n"
        },
        "$:/core/templates/single.tiddler.window": {
            "title": "$:/core/templates/single.tiddler.window",
            "text": "<$set name=\"themeTitle\" value={{$:/view}}>\n\n<$set name=\"tempCurrentTiddler\" value=<<currentTiddler>>>\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$set name=\"currentTiddler\" value=<<tempCurrentTiddler>>>\n\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\">\n\n<$transclude mode=\"block\"/>\n\n</$navigator>\n\n</$importvariables>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n"
        },
        "$:/core/templates/split-recipe": {
            "title": "$:/core/templates/split-recipe",
            "text": "<$list filter=\"[!is[system]]\">\ntiddler: <$view field=\"title\" format=\"urlencoded\"/>.tid\n</$list>\n"
        },
        "$:/core/templates/static-tiddler": {
            "title": "$:/core/templates/static-tiddler",
            "text": "<a name=<<currentTiddler>>>\n<$transclude tiddler=\"$:/core/ui/ViewTemplate\"/>\n</a>"
        },
        "$:/core/templates/static.area": {
            "title": "$:/core/templates/static.area",
            "text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n{{{ [all[shadows+tiddlers]tag[$:/tags/RawStaticContent]!has[draft.of]] ||$:/core/templates/raw-static-tiddler}}}\n{{$:/core/templates/static.content||$:/core/templates/html-tiddler}}\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\nThis file contains an encrypted ~TiddlyWiki. Enable ~JavaScript and enter the decryption password when prompted.\n</$reveal>\n"
        },
        "$:/core/templates/static.content": {
            "title": "$:/core/templates/static.content",
            "type": "text/vnd.tiddlywiki",
            "text": "<!-- For Google, and people without JavaScript-->\nThis [[TiddlyWiki|http://tiddlywiki.com]] contains the following tiddlers:\n\n<ul>\n<$list filter=<<saveTiddlerFilter>>>\n<li><$view field=\"title\" format=\"text\"></$view></li>\n</$list>\n</ul>\n"
        },
        "$:/core/templates/static.template.css": {
            "title": "$:/core/templates/static.template.css",
            "text": "{{$:/boot/boot.css||$:/core/templates/plain-text-tiddler}}\n\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n"
        },
        "$:/core/templates/static.template.html": {
            "title": "$:/core/templates/static.template.html",
            "type": "text/vnd.tiddlywiki-html",
            "text": "\\define tv-wikilink-template() static/$uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<style type=\"text/css\">\n{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}\n</style>\n</head>\n<body class=\"tc-body\">\n{{$:/StaticBanner||$:/core/templates/html-tiddler}}\n{{$:/core/ui/PageTemplate||$:/core/templates/html-tiddler}}\n</body>\n</html>\n"
        },
        "$:/core/templates/static.tiddler.html": {
            "title": "$:/core/templates/static.tiddler.html",
            "text": "\\define tv-wikilink-template() $uri_doubleencoded$.html\n\\define tv-config-toolbar-icons() no\n\\define tv-config-toolbar-text() no\n\\define tv-config-toolbar-class() tc-btn-invisible\n`<!doctype html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"`{{$:/core/templates/version}}`\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\">\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<link rel=\"stylesheet\" href=\"static.css\">\n<title>`<$view field=\"caption\"><$view field=\"title\"/></$view>: {{$:/core/wiki/title}}`</title>\n</head>\n<body class=\"tc-body\">\n`{{$:/StaticBanner||$:/core/templates/html-tiddler}}`\n<section class=\"tc-story-river\">\n`<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n<$view tiddler=\"$:/core/ui/ViewTemplate\" format=\"htmlwikified\"/>\n</$importvariables>`\n</section>\n</body>\n</html>\n`"
        },
        "$:/core/templates/store.area.template.html": {
            "title": "$:/core/templates/store.area.template.html",
            "text": "<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n`<div id=\"storeArea\" style=\"display:none;\">`\n<$list filter=<<saveTiddlerFilter>> template=\"$:/core/templates/html-div-tiddler\"/>\n`</div>`\n</$reveal>\n<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n`<!--~~ Encrypted tiddlers ~~-->`\n`<pre id=\"encryptedStoreArea\" type=\"text/plain\" style=\"display:none;\">`\n<$encrypt filter=<<saveTiddlerFilter>>/>\n`</pre>`\n</$reveal>"
        },
        "$:/core/templates/tid-tiddler": {
            "title": "$:/core/templates/tid-tiddler",
            "text": "<!--\n\nThis template is used for saving tiddlers in TiddlyWeb *.tid format\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>`\n`<$view field=\"text\" format=\"text\" />"
        },
        "$:/core/templates/tiddler-metadata": {
            "title": "$:/core/templates/tiddler-metadata",
            "text": "<!--\n\nThis template is used for saving tiddler metadata *.meta files\n\n--><$fields exclude='text bag' template='$name$: $value$\n'></$fields>"
        },
        "$:/core/templates/tiddlywiki5.html": {
            "title": "$:/core/templates/tiddlywiki5.html",
            "text": "\\rules only filteredtranscludeinline transcludeinline\n<!doctype html>\n{{$:/core/templates/MOTW.html}}<html>\n<head>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\t\t<!-- Force IE standards mode for Intranet and HTA - should be the first meta -->\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />\n<meta name=\"application-name\" content=\"TiddlyWiki\" />\n<meta name=\"generator\" content=\"TiddlyWiki\" />\n<meta name=\"tiddlywiki-version\" content=\"{{$:/core/templates/version}}\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n<meta name=\"mobile-web-app-capable\" content=\"yes\"/>\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<meta name=\"copyright\" content=\"{{$:/core/copyright.txt}}\" />\n<link id=\"faviconLink\" rel=\"shortcut icon\" href=\"favicon.ico\">\n<title>{{$:/core/wiki/title}}</title>\n<!--~~ This is a Tiddlywiki file. The points of interest in the file are marked with this pattern ~~-->\n\n<!--~~ Raw markup ~~-->\n{{{ [all[shadows+tiddlers]tag[$:/core/wiki/rawmarkup]] [all[shadows+tiddlers]tag[$:/tags/RawMarkup]] ||$:/core/templates/plain-text-tiddler}}}\n</head>\n<body class=\"tc-body\">\n<!--~~ Static styles ~~-->\n<div id=\"styleArea\">\n{{$:/boot/boot.css||$:/core/templates/css-tiddler}}\n</div>\n<!--~~ Static content for Google and browsers without JavaScript ~~-->\n<noscript>\n<div id=\"splashArea\">\n{{$:/core/templates/static.area}}\n</div>\n</noscript>\n<!--~~ Ordinary tiddlers ~~-->\n{{$:/core/templates/store.area.template.html}}\n<!--~~ Library modules ~~-->\n<div id=\"libraryModules\" style=\"display:none;\">\n{{{ [is[system]type[application/javascript]library[yes]] ||$:/core/templates/javascript-tiddler}}}\n</div>\n<!--~~ Boot kernel prologue ~~-->\n<div id=\"bootKernelPrefix\" style=\"display:none;\">\n{{ $:/boot/bootprefix.js ||$:/core/templates/javascript-tiddler}}\n</div>\n<!--~~ Boot kernel ~~-->\n<div id=\"bootKernel\" style=\"display:none;\">\n{{ $:/boot/boot.js ||$:/core/templates/javascript-tiddler}}\n</div>\n</body>\n</html>\n"
        },
        "$:/core/templates/version": {
            "title": "$:/core/templates/version",
            "text": "<<version>>"
        },
        "$:/core/templates/wikified-tiddler": {
            "title": "$:/core/templates/wikified-tiddler",
            "text": "<$transclude />"
        },
        "$:/core/ui/AboveStory/tw2-plugin-check": {
            "title": "$:/core/ui/AboveStory/tw2-plugin-check",
            "tags": "$:/tags/AboveStory",
            "text": "\\define lingo-base() $:/language/AboveStory/ClassicPlugin/\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]limit[1]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n<ul>\n\n<$list filter=\"[all[system+tiddlers]tag[systemConfig]limit[1]]\">\n\n<li>\n\n<$link><$view field=\"title\"/></$link>\n\n</li>\n\n</$list>\n\n</ul>\n\n</div>\n\n</$list>\n"
        },
        "$:/core/ui/AdvancedSearch/Filter": {
            "title": "$:/core/ui/AdvancedSearch/Filter",
            "tags": "$:/tags/AdvancedSearch",
            "caption": "{{$:/language/Search/Filter/Caption}}",
            "text": "\\define lingo-base() $:/language/Search/\n<<lingo Filter/Hint>>\n\n<div class=\"tc-search tc-advanced-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]\"><$transclude/></$list>\n</div>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\n<div class=\"tc-search-results\">\n<<lingo Filter/Matches>>\n<$list filter={{$:/temp/advancedsearch}} template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$set>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear": {
            "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/clear",
            "tags": "$:/tags/AdvancedSearch/FilterButton",
            "text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete": {
            "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/delete",
            "tags": "$:/tags/AdvancedSearch/FilterButton",
            "text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button popup=<<qualify \"$:/state/filterDeleteDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/delete-button}}\n</$button>\n</$reveal>\n\n<$reveal state=<<qualify \"$:/state/filterDeleteDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<div class=\"tc-dropdown-item-plain\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter={{$:/temp/advancedsearch}}/>\"\"\">\nAre you sure you wish to delete <<resultCount>> tiddler(s)?\n</$set>\n</div>\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn\">\n<$action-deletetiddler $filter={{$:/temp/advancedsearch}}/>\nDelete these tiddlers\n</$button>\n</div>\n</div>\n</div>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown": {
            "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown",
            "tags": "$:/tags/AdvancedSearch/FilterButton",
            "text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/filterDropdown\">> class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</span>\n\n<$reveal state=<<qualify \"$:/state/filterDropdown\">> type=\"popup\" position=\"belowleft\" animate=\"yes\">\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Filter]]\"><$link to={{!!filter}}><$transclude field=\"description\"/></$link>\n</$list>\n</div>\n</div>\n</$linkcatcher>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Filter/FilterButtons/export": {
            "title": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/export",
            "tags": "$:/tags/AdvancedSearch/FilterButton",
            "text": "<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$macrocall $name=\"exportButton\" exportFilter={{$:/temp/advancedsearch}} lingoBase=\"$:/language/Buttons/ExportTiddlers/\"/>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Shadows": {
            "title": "$:/core/ui/AdvancedSearch/Shadows",
            "tags": "$:/tags/AdvancedSearch",
            "caption": "{{$:/language/Search/Shadows/Caption}}",
            "text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Shadows/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo Shadows/Matches>>\n\n<$list filter=\"[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/Standard": {
            "title": "$:/core/ui/AdvancedSearch/Standard",
            "tags": "$:/tags/AdvancedSearch",
            "caption": "{{$:/language/Search/Standard/Caption}}",
            "text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo Standard/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$set name=\"searchTiddler\" value=\"$:/temp/advancedsearch\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude/>\n</$list>\n\"\"\">\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n</$list>\n</$set>\n</$reveal>\n"
        },
        "$:/core/ui/AdvancedSearch/System": {
            "title": "$:/core/ui/AdvancedSearch/System",
            "tags": "$:/tags/AdvancedSearch",
            "caption": "{{$:/language/Search/System/Caption}}",
            "text": "\\define lingo-base() $:/language/Search/\n<$linkcatcher to=\"$:/temp/advancedsearch\">\n\n<<lingo System/Hint>>\n\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/advancedsearch\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n</div>\n\n</$linkcatcher>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"nomatch\" text=\"\">\n\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]\"/>\"\"\">\n\n<div class=\"tc-search-results\">\n\n<<lingo System/Matches>>\n\n<$list filter=\"[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n</div>\n\n</$set>\n\n</$reveal>\n\n<$reveal state=\"$:/temp/advancedsearch\" type=\"match\" text=\"\">\n\n</$reveal>\n"
        },
        "$:/AdvancedSearch": {
            "title": "$:/AdvancedSearch",
            "icon": "$:/core/images/advanced-search-button",
            "color": "#bbb",
            "text": "<div class=\"tc-advanced-search\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]\" \"$:/core/ui/AdvancedSearch/System\">>\n</div>\n"
        },
        "$:/core/ui/AlertTemplate": {
            "title": "$:/core/ui/AlertTemplate",
            "text": "<div class=\"tc-alert\">\n<div class=\"tc-alert-toolbar\">\n<$button class=\"tc-btn-invisible\"><$action-deletetiddler $tiddler=<<currentTiddler>>/>{{$:/core/images/delete-button}}</$button>\n</div>\n<div class=\"tc-alert-subtitle\">\n<$view field=\"component\"/> - <$view field=\"modified\" format=\"date\" template=\"0hh:0mm:0ss DD MM YYYY\"/> <$reveal type=\"nomatch\" state=\"!!count\" text=\"\"><span class=\"tc-alert-highlight\">({{$:/language/Count}}: <$view field=\"count\"/>)</span></$reveal>\n</div>\n<div class=\"tc-alert-body\">\n\n<$transclude/>\n\n</div>\n</div>\n"
        },
        "$:/core/ui/BinaryWarning": {
            "title": "$:/core/ui/BinaryWarning",
            "text": "\\define lingo-base() $:/language/BinaryWarning/\n<div class=\"tc-binary-warning\">\n\n<<lingo Prompt>>\n\n</div>\n"
        },
        "$:/core/ui/Components/tag-link": {
            "title": "$:/core/ui/Components/tag-link",
            "text": "<$link>\n<$set name=\"backgroundColor\" value={{!!color}}>\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\"/>\n</span>\n</$set>\n</$link>"
        },
        "$:/core/ui/ControlPanel/Advanced": {
            "title": "$:/core/ui/ControlPanel/Advanced",
            "tags": "$:/tags/ControlPanel/Info",
            "caption": "{{$:/language/ControlPanel/Advanced/Caption}}",
            "text": "{{$:/language/ControlPanel/Advanced/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Advanced]!has[draft.of]]\" \"$:/core/ui/ControlPanel/TiddlerFields\">>\n</div>\n"
        },
        "$:/core/ui/ControlPanel/Appearance": {
            "title": "$:/core/ui/ControlPanel/Appearance",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Appearance/Caption}}",
            "text": "{{$:/language/ControlPanel/Appearance/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Appearance]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Theme\">>\n</div>\n"
        },
        "$:/core/ui/ControlPanel/Basics": {
            "title": "$:/core/ui/ControlPanel/Basics",
            "tags": "$:/tags/ControlPanel/Info",
            "caption": "{{$:/language/ControlPanel/Basics/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Basics/\n\n\\define show-filter-count(filter)\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" $value=\"\"\"$filter$\"\"\"/>\n<$action-setfield $tiddler=\"$:/state/tab--1498284803\" $value=\"$:/core/ui/AdvancedSearch/Filter\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n''<$count filter=\"\"\"$filter$\"\"\"/>''\n{{$:/core/images/advanced-search-button}}\n</$button>\n\\end\n\n|<<lingo Version/Prompt>> |''<<version>>'' |\n|<$link to=\"$:/SiteTitle\"><<lingo Title/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteTitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/SiteSubtitle\"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler=\"$:/SiteSubtitle\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/status/UserName\"><<lingo Username/Prompt>></$link> |<$edit-text tiddler=\"$:/status/UserName\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/AnimationDuration\"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler=\"$:/config/AnimationDuration\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/DefaultTiddlers\"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag=\"textarea\" tiddler=\"$:/DefaultTiddlers\" class=\"tc-edit-texteditor\"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |\n|<$link to=\"$:/config/NewJournal/Title\"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Title\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/config/NewJournal/Tags\"><<lingo NewJournal/Tags/Prompt>></$link> |<$edit-text tiddler=\"$:/config/NewJournal/Tags\" default=\"\" tag=\"input\"/> |\n|<<lingo Language/Prompt>> |{{$:/snippets/minilanguageswitcher}} |\n|<<lingo Tiddlers/Prompt>> |<<show-filter-count \"[!is[system]sort[title]]\">> |\n|<<lingo Tags/Prompt>> |<<show-filter-count \"[tags[]sort[title]]\">> |\n|<<lingo SystemTiddlers/Prompt>> |<<show-filter-count \"[is[system]sort[title]]\">> |\n|<<lingo ShadowTiddlers/Prompt>> |<<show-filter-count \"[all[shadows]sort[title]]\">> |\n|<<lingo OverriddenShadowTiddlers/Prompt>> |<<show-filter-count \"[is[tiddler]is[shadow]sort[title]]\">> |\n"
        },
        "$:/core/ui/ControlPanel/EditorTypes": {
            "title": "$:/core/ui/ControlPanel/EditorTypes",
            "tags": "$:/tags/ControlPanel/Advanced",
            "caption": "{{$:/language/ControlPanel/EditorTypes/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/EditorTypes/\n\n<<lingo Hint>>\n\n<table>\n<tbody>\n<tr>\n<th><<lingo Type/Caption>></th>\n<th><<lingo Editor/Caption>></th>\n</tr>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/config/EditorTypeMappings/]sort[title]]\">\n<tr>\n<td>\n<$link>\n<$list filter=\"[all[current]removeprefix[$:/config/EditorTypeMappings/]]\">\n<$text text={{!!title}}/>\n</$list>\n</$link>\n</td>\n<td>\n<$view field=\"text\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/ControlPanel/Info": {
            "title": "$:/core/ui/ControlPanel/Info",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Info/Caption}}",
            "text": "{{$:/language/ControlPanel/Info/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Info]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Basics\">>\n</div>\n"
        },
        "$:/core/ui/ControlPanel/KeyboardShortcuts": {
            "title": "$:/core/ui/ControlPanel/KeyboardShortcuts",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/KeyboardShortcuts/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/KeyboardShortcuts/\n\n\\define new-shortcut(title)\n<div class=\"tc-dropdown-item-plain\">\n<$edit-shortcut tiddler=\"$title$\" placeholder={{$:/language/ControlPanel/KeyboardShortcuts/Add/Prompt}} style=\"width:auto;\"/> <$button>\n<<lingo Add/Caption>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"[{$title$}]\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"$title$\"\n/>\n</$button>\n</div>\n\\end\n\n\\define shortcut-list-item(caption)\n<td>\n</td>\n<td style=\"text-align:right;font-size:0.7em;\">\n<<lingo Platform/$caption$>>\n</td>\n<td>\n<div style=\"position:relative;\">\n<$button popup=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> class=\"tc-btn-invisible\">\n{{$:/core/images/edit-button}}\n</$button>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutTitle)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\n<$reveal state=<<qualify \"$:/state/dropdown/$(shortcutTitle)$\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-block-dropdown-wrapper\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown tc-popup-keep\">\n<$list filter=\"[list[$(shortcutTitle)$!!text]sort[title]]\" variable=\"shortcut\" emptyMessage=\"\"\"\n<div class=\"tc-dropdown-item-plain\">\n//<<lingo NoShortcuts/Caption>>//\n</div>\n\"\"\">\n<div class=\"tc-dropdown-item-plain\">\n<$button class=\"tc-btn-invisible\" tooltip=<<lingo Remove/Hint>>>\n<$action-listops\n\t$tiddler=\"$(shortcutTitle)$\"\n\t$field=\"text\"\n\t$subfilter=\"+[remove<shortcut>]\"\n/>\n&times;\n</$button>\n<kbd>\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts=<<shortcut>>/>\n</kbd>\n</div>\n</$list>\n<hr/>\n<$macrocall $name=\"new-shortcut\" title=<<qualify \"$:/state/new-shortcut/$(shortcutTitle)$\">>/>\n</div>\n</div>\n</$reveal>\n</div>\n</td>\n\\end\n\n\\define shortcut-list(caption,prefix)\n<tr>\n<$list filter=\"[all[tiddlers+shadows][$prefix$$(shortcutName)$]]\" variable=\"shortcutTitle\">\n<<shortcut-list-item \"$caption$\">>\n</$list>\n</tr>\n\\end\n\n\\define shortcut-editor()\n<<shortcut-list \"All\" \"$:/config/shortcuts/\">>\n<<shortcut-list \"Mac\" \"$:/config/shortcuts-mac/\">>\n<<shortcut-list \"NonMac\" \"$:/config/shortcuts-not-mac/\">>\n<<shortcut-list \"Linux\" \"$:/config/shortcuts-linux/\">>\n<<shortcut-list \"NonLinux\" \"$:/config/shortcuts-not-linux/\">>\n<<shortcut-list \"Windows\" \"$:/config/shortcuts-windows/\">>\n<<shortcut-list \"NonWindows\" \"$:/config/shortcuts-not-windows/\">>\n\\end\n\n\\define shortcut-preview()\n<$macrocall $name=\"displayshortcuts\" $output=\"text/html\" shortcuts={{$(shortcutPrefix)$$(shortcutName)$}} prefix=\"<kbd>\" separator=\"</kbd> <kbd>\" suffix=\"</kbd>\"/>\n\\end\n\n\\define shortcut-item-inner()\n<tr>\n<td>\n<$reveal type=\"nomatch\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"open\"\n/>\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<dropdownStateTitle>> text=\"open\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield\n\t$tiddler=<<dropdownStateTitle>>\n\t$value=\"close\"\n/>\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n''<$text text=<<shortcutName>>/>''\n</td>\n<td>\n<$transclude tiddler=\"$:/config/ShortcutInfo/$(shortcutName)$\"/>\n</td>\n<td>\n<$list filter=\"$:/config/shortcuts/ $:/config/shortcuts-mac/ $:/config/shortcuts-not-mac/ $:/config/shortcuts-linux/ $:/config/shortcuts-not-linux/ $:/config/shortcuts-windows/ $:/config/shortcuts-not-windows/\" variable=\"shortcutPrefix\">\n<<shortcut-preview>>\n</$list>\n</td>\n</tr>\n<$set name=\"dropdownState\" value={{$(dropdownStateTitle)$}}>\n<$list filter=\"[<dropdownState>prefix[open]]\" variable=\"listItem\">\n<<shortcut-editor>>\n</$list>\n</$set>\n\\end\n\n\\define shortcut-item()\n<$set name=\"dropdownStateTitle\" value=<<qualify \"$:/state/dropdown/keyboardshortcut/$(shortcutName)$\">>>\n<<shortcut-item-inner>>\n</$set>\n\\end\n\n<table>\n<tbody>\n<$list filter=\"[all[shadows+tiddlers]removeprefix[$:/config/ShortcutInfo/]]\" variable=\"shortcutName\">\n<<shortcut-item>>\n</$list>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/ControlPanel/LoadedModules": {
            "title": "$:/core/ui/ControlPanel/LoadedModules",
            "tags": "$:/tags/ControlPanel/Advanced",
            "caption": "{{$:/language/ControlPanel/LoadedModules/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/\n<<lingo LoadedModules/Hint>>\n\n{{$:/snippets/modules}}\n"
        },
        "$:/core/ui/ControlPanel/Modals/AddPlugins": {
            "title": "$:/core/ui/ControlPanel/Modals/AddPlugins",
            "subtitle": "{{$:/core/images/download-button}} {{$:/language/ControlPanel/Plugins/Add/Caption}}",
            "text": "\\define install-plugin-button()\n<$button>\n<$action-sendmessage $message=\"tm-load-plugin-from-library\" url={{!!url}} title={{$(assetInfo)$!!original-title}}/>\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\" emptyMessage=\"\"\"{{$:/language/ControlPanel/Plugins/Install/Caption}}\"\"\">\n{{$:/language/ControlPanel/Plugins/Reinstall/Caption}}\n</$list>\n</$button>\n\\end\n\n\\define popup-state-macro()\n$:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$\n\\end\n\n\\define display-plugin-info(type)\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<div class=\"tc-plugin-info\">\n<div class=\"tc-plugin-info-chunk tc-small-icon\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<$list filter=\"[<assetInfo>has[icon]]\" emptyMessage=\"\"\"<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\"\"\">\n<img src={{$(assetInfo)$!!icon}}/>\n</$list>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<h1><$view tiddler=<<assetInfo>> field=\"description\"/></h1>\n<h2><$view tiddler=<<assetInfo>> field=\"original-title\"/></h2>\n<div><em><$view tiddler=<<assetInfo>> field=\"version\"/></em></div>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<<install-plugin-button>>\n</div>\n</div>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>>>\n<div class=\"tc-plugin-info-dropdown\">\n<div class=\"tc-plugin-info-dropdown-message\">\n<$list filter=\"[<assetInfo>get[original-title]get[version]]\" variable=\"installedVersion\" emptyMessage=\"\"\"{{$:/language/ControlPanel/Plugins/NotInstalled/Hint}}\"\"\">\n<em>\n{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}\n</em>\n</$list>\n</div>\n<div class=\"tc-plugin-info-dropdown-body\">\n<$transclude tiddler=<<assetInfo>> field=\"readme\" mode=\"block\"/>\n</div>\n</div>\n</$reveal>\n</$set>\n\\end\n\n\\define load-plugin-library-button()\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-load-plugin-library\" url={{!!url}} infoTitlePrefix=\"$:/temp/RemoteAssetInfo/\"/>\n{{$:/core/images/chevron-right}} {{$:/language/ControlPanel/Plugins/OpenPluginLibrary}}\n</$button>\n\\end\n\n\\define display-server-assets(type)\n{{$:/language/Search/Search}}: <$edit-text tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" default=\"\" type=\"search\" tag=\"input\"/>\n<$reveal state=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"\"\"$:/temp/RemoteAssetSearch/$(currentTiddler)$\"\"\" $field=\"text\" $value=\"\"/>\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n<div class=\"tc-plugin-library-listing\">\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[description]]\" variable=\"assetInfo\">\n<<display-plugin-info \"$type$\">>\n</$list>\n</div>\n\\end\n\n\\define display-server-connection()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/ServerConnection]suffix{!!url}]\" variable=\"connectionTiddler\" emptyMessage=<<load-plugin-library-button>>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Add/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Add/Themes]] [[$:/core/ui/ControlPanel/Plugins/Add/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Add/Plugins\">>\n\n</$list>\n\\end\n\n\\define plugin-library-listing()\n<$list filter=\"[all[tiddlers+shadows]tag[$:/tags/PluginLibrary]]\">\n<div class=\"tc-plugin-library\">\n\n!! <$link><$transclude field=\"caption\"><$view field=\"title\"/></$transclude></$link>\n\n//<$view field=\"url\"/>//\n\n<$transclude/>\n\n<<display-server-connection>>\n</div>\n</$list>\n\\end\n\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<div>\n<<plugin-library-listing>>\n</div>\n\n</$importvariables>\n"
        },
        "$:/core/ui/ControlPanel/Palette": {
            "title": "$:/core/ui/ControlPanel/Palette",
            "tags": "$:/tags/ControlPanel/Appearance",
            "caption": "{{$:/language/ControlPanel/Palette/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Palette/\n\n{{$:/snippets/paletteswitcher}}\n\n<$reveal type=\"nomatch\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"yes\"><<lingo ShowEditor/Caption>></$button>\n\n</$reveal>\n\n<$reveal type=\"match\" state=\"$:/state/ShowPaletteEditor\" text=\"yes\">\n\n<$button set=\"$:/state/ShowPaletteEditor\" setTo=\"no\"><<lingo HideEditor/Caption>></$button>\n{{$:/snippets/paletteeditor}}\n\n</$reveal>\n\n"
        },
        "$:/core/ui/ControlPanel/Parsing": {
            "title": "$:/core/ui/ControlPanel/Parsing",
            "tags": "$:/tags/ControlPanel/Advanced",
            "caption": "{{$:/language/ControlPanel/Parsing/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Parsing/\n\n\\define parsing-inner(typeCap)\n<li>\n<$checkbox tiddler=\"\"\"$:/config/WikiParserRules/$typeCap$/$(currentTiddler)$\"\"\" field=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"> ''<$text text=<<currentTiddler>>/>'': </$checkbox>\n</li>\n\\end\n\n\\define parsing-outer(typeLower,typeCap)\n<ul>\n<$list filter=\"[wikiparserrules[$typeLower$]]\">\n<<parsing-inner typeCap:\"$typeCap$\">>\n</$list>\n</ul>\n\\end\n\n<<lingo Hint>>\n\n! <<lingo Pragma/Caption>>\n\n<<parsing-outer typeLower:\"pragma\" typeCap:\"Pragma\">>\n\n! <<lingo Inline/Caption>>\n\n<<parsing-outer typeLower:\"inline\" typeCap:\"Inline\">>\n\n! <<lingo Block/Caption>>\n\n<<parsing-outer typeLower:\"block\" typeCap:\"Block\">>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Add/Languages": {
            "title": "$:/core/ui/ControlPanel/Plugins/Add/Languages",
            "caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[language]]\"/>)",
            "text": "<<display-server-assets language>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Add/Plugins": {
            "title": "$:/core/ui/ControlPanel/Plugins/Add/Plugins",
            "caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}}  (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[plugin]]\"/>)",
            "text": "<<display-server-assets plugin>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Add/Themes": {
            "title": "$:/core/ui/ControlPanel/Plugins/Add/Themes",
            "caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}}  (<$count filter=\"[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[theme]]\"/>)",
            "text": "<<display-server-assets theme>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/AddPlugins": {
            "title": "$:/core/ui/ControlPanel/Plugins/AddPlugins",
            "text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n<$button message=\"tm-modal\" param=\"$:/core/ui/ControlPanel/Modals/AddPlugins\" tooltip={{$:/language/ControlPanel/Plugins/Add/Hint}} class=\"tc-btn-big-green\" style=\"background:blue;\">\n{{$:/core/images/download-button}} <<lingo Add/Caption>>\n</$button>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Installed/Languages": {
            "title": "$:/core/ui/ControlPanel/Plugins/Installed/Languages",
            "caption": "{{$:/language/ControlPanel/Plugins/Languages/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[language]]\"/>)",
            "text": "<<plugin-table language>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Installed/Plugins": {
            "title": "$:/core/ui/ControlPanel/Plugins/Installed/Plugins",
            "caption": "{{$:/language/ControlPanel/Plugins/Plugins/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[plugin]]\"/>)",
            "text": "<<plugin-table plugin>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins/Installed/Themes": {
            "title": "$:/core/ui/ControlPanel/Plugins/Installed/Themes",
            "caption": "{{$:/language/ControlPanel/Plugins/Themes/Caption}} (<$count filter=\"[!has[draft.of]plugin-type[theme]]\"/>)",
            "text": "<<plugin-table theme>>\n"
        },
        "$:/core/ui/ControlPanel/Plugins": {
            "title": "$:/core/ui/ControlPanel/Plugins",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Plugins/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Plugins/\n\n\\define popup-state-macro()\n$(qualified-state)$-$(currentTiddler)$\n\\end\n\n\\define tabs-state-macro()\n$(popup-state)$-$(pluginInfoType)$\n\\end\n\n\\define plugin-icon-title()\n$(currentTiddler)$/icon\n\\end\n\n\\define plugin-disable-title()\n$:/config/Plugins/Disabled/$(currentTiddler)$\n\\end\n\n\\define plugin-table-body(type,disabledMessage)\n<div class=\"tc-plugin-info-chunk tc-small-icon\">\n<$reveal type=\"nomatch\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"yes\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<popup-state>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<popup-state>> setTo=\"no\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<plugin-icon-title>>>\n<$transclude tiddler=\"$:/core/images/plugin-generic-$type$\"/>\n</$transclude>\n</div>\n<div class=\"tc-plugin-info-chunk\">\n<h1>\n''<$view field=\"description\"><$view field=\"title\"/></$view>'' $disabledMessage$\n</h1>\n<h2>\n<$view field=\"title\"/>\n</h2>\n<h2>\n<div><em><$view field=\"version\"/></em></div>\n</h2>\n</div>\n\\end\n\n\\define plugin-table(type)\n<$set name=\"qualified-state\" value=<<qualify \"$:/state/plugin-info\">>>\n<$list filter=\"[!has[draft.of]plugin-type[$type$]sort[description]]\" emptyMessage=<<lingo \"Empty/Hint\">>>\n<$set name=\"popup-state\" value=<<popup-state-macro>>>\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info\">\n<<plugin-table-body type:\"$type$\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$link to={{!!title}} class=\"tc-plugin-info tc-plugin-info-disabled\">\n<<plugin-table-body type:\"$type$\" disabledMessage:\"<$macrocall $name='lingo' title='Disabled/Status'/>\">>\n</$link>\n</$reveal>\n<$reveal type=\"match\" text=\"yes\" state=<<popup-state>>>\n<div class=\"tc-plugin-info-dropdown\">\n<div class=\"tc-plugin-info-dropdown-body\">\n<$list filter=\"[all[current]] -[[$:/core]]\">\n<div style=\"float:right;\">\n<$reveal type=\"nomatch\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"yes\" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}>\n<<lingo Disable/Caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<plugin-disable-title>> text=\"yes\">\n<$button set=<<plugin-disable-title>> setTo=\"no\" tooltip={{$:/language/ControlPanel/Plugins/Enable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}>\n<<lingo Enable/Caption>>\n</$button>\n</$reveal>\n</div>\n</$list>\n<$reveal type=\"nomatch\" text=\"\" state=\"!!list\">\n<$macrocall $name=\"tabs\" state=<<tabs-state-macro>> tabsList={{!!list}} default=\"readme\" template=\"$:/core/ui/PluginInfo\"/>\n</$reveal>\n<$reveal type=\"match\" text=\"\" state=\"!!list\">\n<<lingo NoInformation/Hint>>\n</$reveal>\n</div>\n</div>\n</$reveal>\n</$set>\n</$list>\n</$set>\n\\end\n\n{{$:/core/ui/ControlPanel/Plugins/AddPlugins}}\n\n<<lingo Installed/Hint>>\n\n<<tabs \"[[$:/core/ui/ControlPanel/Plugins/Installed/Plugins]] [[$:/core/ui/ControlPanel/Plugins/Installed/Themes]] [[$:/core/ui/ControlPanel/Plugins/Installed/Languages]]\" \"$:/core/ui/ControlPanel/Plugins/Installed/Plugins\">>\n"
        },
        "$:/core/ui/ControlPanel/Saving": {
            "title": "$:/core/ui/ControlPanel/Saving",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Saving/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Saving/\n\\define backupURL()\nhttp://$(userName)$.tiddlyspot.com/backup/\n\\end\n\\define backupLink()\n<$reveal type=\"nomatch\" state=\"$:/UploadName\" text=\"\">\n<$set name=\"userName\" value={{$:/UploadName}}>\n<$reveal type=\"match\" state=\"$:/UploadURL\" text=\"\">\n<<backupURL>>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/UploadURL\" text=\"\">\n<$macrocall $name=resolvePath source={{$:/UploadBackupDir}} root={{$:/UploadURL}}>>\n</$reveal>\n</$set>\n</$reveal>\n\\end\n! <<lingo TiddlySpot/Heading>>\n\n<<lingo TiddlySpot/Description>>\n\n|<<lingo TiddlySpot/UserName>> |<$edit-text tiddler=\"$:/UploadName\" default=\"\" tag=\"input\"/> |\n|<<lingo TiddlySpot/Password>> |<$password name=\"upload\"/> |\n|<<lingo TiddlySpot/Backups>> |<<backupLink>> |\n\n''<<lingo TiddlySpot/Advanced/Heading>>''\n\n|<<lingo TiddlySpot/ServerURL>>  |<$edit-text tiddler=\"$:/UploadURL\" default=\"\" tag=\"input\"/> |\n|<<lingo TiddlySpot/Filename>> |<$edit-text tiddler=\"$:/UploadFilename\" default=\"index.html\" tag=\"input\"/> |\n|<<lingo TiddlySpot/UploadDir>> |<$edit-text tiddler=\"$:/UploadDir\" default=\".\" tag=\"input\"/> |\n|<<lingo TiddlySpot/BackupDir>> |<$edit-text tiddler=\"$:/UploadBackupDir\" default=\".\" tag=\"input\"/> |\n\n<<lingo TiddlySpot/Hint>>"
        },
        "$:/core/ui/ControlPanel/Settings/AutoSave": {
            "title": "$:/core/ui/ControlPanel/Settings/AutoSave",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/AutoSave/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/AutoSave/\n\n<$link to=\"$:/config/AutoSave\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"yes\"> <<lingo Enabled/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/AutoSave\" value=\"no\"> <<lingo Disabled/Description>> </$radio>\n"
        },
        "$:/core/buttonstyles/Borderless": {
            "title": "$:/core/buttonstyles/Borderless",
            "tags": "$:/tags/ToolbarButtonStyle",
            "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Borderless}}",
            "text": "tc-btn-invisible"
        },
        "$:/core/buttonstyles/Boxed": {
            "title": "$:/core/buttonstyles/Boxed",
            "tags": "$:/tags/ToolbarButtonStyle",
            "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Boxed}}",
            "text": "tc-btn-boxed"
        },
        "$:/core/buttonstyles/Rounded": {
            "title": "$:/core/buttonstyles/Rounded",
            "tags": "$:/tags/ToolbarButtonStyle",
            "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Styles/Rounded}}",
            "text": "tc-btn-rounded"
        },
        "$:/core/ui/ControlPanel/Settings/CamelCase": {
            "title": "$:/core/ui/ControlPanel/Settings/CamelCase",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/CamelCase/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/CamelCase/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/WikiParserRules/Inline/wikilink\" field=\"text\" checked=\"enable\" unchecked=\"disable\" default=\"enable\"> <$link to=\"$:/config/WikiParserRules/Inline/wikilink\"><<lingo Description>></$link> </$checkbox>\n"
        },
        "$:/core/ui/ControlPanel/Settings/DefaultSidebarTab": {
            "caption": "{{$:/language/ControlPanel/Settings/DefaultSidebarTab/Caption}}",
            "tags": "$:/tags/ControlPanel/Settings",
            "title": "$:/core/ui/ControlPanel/Settings/DefaultSidebarTab",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/DefaultSidebarTab/\n\n<$link to=\"$:/config/DefaultSidebarTab\"><<lingo Hint>></$link>\n\n<$select tiddler=\"$:/config/DefaultSidebarTab\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\">\n<option value=<<currentTiddler>>><$transclude field=\"caption\"><$text text=<<currentTiddler>>/></$transclude></option>\n</$list>\n</$select>\n"
        },
        "$:/core/ui/ControlPanel/Settings/EditorToolbar": {
            "title": "$:/core/ui/ControlPanel/Settings/EditorToolbar",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/EditorToolbar/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/EditorToolbar/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/TextEditor/EnableToolbar\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/TextEditor/EnableToolbar\"><<lingo Description>></$link> </$checkbox>\n\n"
        },
        "$:/core/ui/ControlPanel/Settings/LinkToBehaviour": {
            "title": "$:/core/ui/ControlPanel/Settings/LinkToBehaviour",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/LinkToBehaviour/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/LinkToBehaviour/\n\n<$link to=\"$:/config/Navigation/openLinkFromInsideRiver\"><<lingo \"InsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromInsideRiver\">\n  <option value=\"above\"><<lingo \"OpenAbove\">></option>\n  <option value=\"below\"><<lingo \"OpenBelow\">></option>\n  <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n  <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n\n<$link to=\"$:/config/Navigation/openLinkFromOutsideRiver\"><<lingo \"OutsideRiver/Hint\">></$link>\n\n<$select tiddler=\"$:/config/Navigation/openLinkFromOutsideRiver\">\n  <option value=\"top\"><<lingo \"OpenAtTop\">></option>\n  <option value=\"bottom\"><<lingo \"OpenAtBottom\">></option>\n</$select>\n"
        },
        "$:/core/ui/ControlPanel/Settings/MissingLinks": {
            "title": "$:/core/ui/ControlPanel/Settings/MissingLinks",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/MissingLinks/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/MissingLinks/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/MissingLinks\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/MissingLinks\"><<lingo Description>></$link> </$checkbox>\n\n"
        },
        "$:/core/ui/ControlPanel/Settings/NavigationAddressBar": {
            "title": "$:/core/ui/ControlPanel/Settings/NavigationAddressBar",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/NavigationAddressBar/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationAddressBar/\n\n<$link to=\"$:/config/Navigation/UpdateAddressBar\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permaview\"> <<lingo Permaview/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"permalink\"> <<lingo Permalink/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateAddressBar\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
        },
        "$:/core/ui/ControlPanel/Settings/NavigationHistory": {
            "title": "$:/core/ui/ControlPanel/Settings/NavigationHistory",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/NavigationHistory/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/NavigationHistory/\n<$link to=\"$:/config/Navigation/UpdateHistory\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Navigation/UpdateHistory\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
        },
        "$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation": {
            "title": "$:/core/ui/ControlPanel/Settings/PerformanceInstrumentation",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/PerformanceInstrumentation/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/PerformanceInstrumentation/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Performance/Instrumentation\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Performance/Instrumentation\"><<lingo Description>></$link> </$checkbox>\n"
        },
        "$:/core/ui/ControlPanel/Settings/TitleLinks": {
            "title": "$:/core/ui/ControlPanel/Settings/TitleLinks",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/TitleLinks/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/TitleLinks/\n<$link to=\"$:/config/Tiddlers/TitleLinks\"><<lingo Hint>></$link>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"yes\"> <<lingo Yes/Description>> </$radio>\n\n<$radio tiddler=\"$:/config/Tiddlers/TitleLinks\" value=\"no\"> <<lingo No/Description>> </$radio>\n"
        },
        "$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle": {
            "title": "$:/core/ui/ControlPanel/Settings/ToolbarButtonStyle",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtonStyle/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtonStyle/\n<$link to=\"$:/config/Toolbar/ButtonClass\"><<lingo \"Hint\">></$link>\n\n<$select tiddler=\"$:/config/Toolbar/ButtonClass\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ToolbarButtonStyle]]\">\n<option value={{!!text}}>{{!!caption}}</option>\n</$list>\n</$select>\n"
        },
        "$:/core/ui/ControlPanel/Settings/ToolbarButtons": {
            "title": "$:/core/ui/ControlPanel/Settings/ToolbarButtons",
            "tags": "$:/tags/ControlPanel/Settings",
            "caption": "{{$:/language/ControlPanel/Settings/ToolbarButtons/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/ToolbarButtons/\n<<lingo Hint>>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Icons\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"yes\"> <$link to=\"$:/config/Toolbar/Icons\"><<lingo Icons/Description>></$link> </$checkbox>\n\n<$checkbox tiddler=\"$:/config/Toolbar/Text\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"no\"> <$link to=\"$:/config/Toolbar/Text\"><<lingo Text/Description>></$link> </$checkbox>\n"
        },
        "$:/core/ui/ControlPanel/Settings": {
            "title": "$:/core/ui/ControlPanel/Settings",
            "tags": "$:/tags/ControlPanel",
            "caption": "{{$:/language/ControlPanel/Settings/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/Settings/\n\n<<lingo Hint>>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Settings]]\">\n\n<div style=\"border-top:1px solid #eee;\">\n\n!! <$link><$transclude field=\"caption\"/></$link>\n\n<$transclude/>\n\n</div>\n\n</$list>\n"
        },
        "$:/core/ui/ControlPanel/StoryView": {
            "title": "$:/core/ui/ControlPanel/StoryView",
            "tags": "$:/tags/ControlPanel/Appearance",
            "caption": "{{$:/language/ControlPanel/StoryView/Caption}}",
            "text": "{{$:/snippets/viewswitcher}}\n"
        },
        "$:/core/ui/ControlPanel/Theme": {
            "title": "$:/core/ui/ControlPanel/Theme",
            "tags": "$:/tags/ControlPanel/Appearance",
            "caption": "{{$:/language/ControlPanel/Theme/Caption}}",
            "text": "{{$:/snippets/themeswitcher}}\n"
        },
        "$:/core/ui/ControlPanel/TiddlerFields": {
            "title": "$:/core/ui/ControlPanel/TiddlerFields",
            "tags": "$:/tags/ControlPanel/Advanced",
            "caption": "{{$:/language/ControlPanel/TiddlerFields/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/\n\n<<lingo TiddlerFields/Hint>>\n\n{{$:/snippets/allfields}}"
        },
        "$:/core/ui/ControlPanel/Toolbars/EditToolbar": {
            "title": "$:/core/ui/ControlPanel/Toolbars/EditToolbar",
            "tags": "$:/tags/ControlPanel/Toolbars",
            "caption": "{{$:/language/ControlPanel/Toolbars/EditToolbar/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\end\n\n{{$:/language/ControlPanel/Toolbars/EditToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>> field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/ControlPanel/Toolbars/EditorToolbar": {
            "title": "$:/core/ui/ControlPanel/Toolbars/EditorToolbar",
            "tags": "$:/tags/ControlPanel/Toolbars",
            "caption": "{{$:/language/ControlPanel/Toolbars/EditorToolbar/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\n\\define config-title()\n$:/config/EditorToolbarButtons/Visibility/$(listItem)$\n\\end\n\n\\define toolbar-button()\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"> <$transclude tiddler={{$(listItem)$!!icon}}/> <$transclude tiddler=<<listItem>> field=\"caption\"/> -- <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i></$checkbox>\n\\end\n\n{{$:/language/ControlPanel/Toolbars/EditorToolbar/Hint}}\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<<toolbar-button>>\n\n</$list>\n"
        },
        "$:/core/ui/ControlPanel/Toolbars/PageControls": {
            "title": "$:/core/ui/ControlPanel/Toolbars/PageControls",
            "tags": "$:/tags/ControlPanel/Toolbars",
            "caption": "{{$:/language/ControlPanel/Toolbars/PageControls/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n{{$:/language/ControlPanel/Toolbars/PageControls/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>> field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/ControlPanel/Toolbars/ViewToolbar": {
            "title": "$:/core/ui/ControlPanel/Toolbars/ViewToolbar",
            "tags": "$:/tags/ControlPanel/Toolbars",
            "caption": "{{$:/language/ControlPanel/Toolbars/ViewToolbar/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n\n{{$:/language/ControlPanel/Toolbars/ViewToolbar/Hint}}\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>> field=\"caption\"/> <i class=\"tc-muted\">-- <$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/ControlPanel/Toolbars": {
            "title": "$:/core/ui/ControlPanel/Toolbars",
            "tags": "$:/tags/ControlPanel/Appearance",
            "caption": "{{$:/language/ControlPanel/Toolbars/Caption}}",
            "text": "{{$:/language/ControlPanel/Toolbars/Hint}}\n\n<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel/Toolbars]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Toolbars/ViewToolbar\" \"$:/state/tabs/controlpanel/toolbars\" \"tc-vertical\">>\n</div>\n"
        },
        "$:/ControlPanel": {
            "title": "$:/ControlPanel",
            "icon": "$:/core/images/options-button",
            "color": "#bbb",
            "text": "<div class=\"tc-control-panel\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/ControlPanel]!has[draft.of]]\" \"$:/core/ui/ControlPanel/Info\">>\n</div>\n"
        },
        "$:/core/ui/DefaultSearchResultList": {
            "title": "$:/core/ui/DefaultSearchResultList",
            "tags": "$:/tags/SearchResults",
            "caption": "{{$:/language/Search/DefaultResults/Caption}}",
            "text": "\\define searchResultList()\n//<small>{{$:/language/Search/Matches/Title}}</small>//\n\n<$list filter=\"[!is[system]search:title{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n//<small>{{$:/language/Search/Matches/All}}</small>//\n\n<$list filter=\"[!is[system]search{$(searchTiddler)$}sort[title]limit[250]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n\n\\end\n<<searchResultList>>\n"
        },
        "$:/core/ui/EditTemplate/body/preview/output": {
            "title": "$:/core/ui/EditTemplate/body/preview/output",
            "tags": "$:/tags/EditPreview",
            "caption": "{{$:/language/EditTemplate/Body/Preview/Type/Output}}",
            "text": "<$set name=\"tv-tiddler-preview\" value=\"yes\">\n\n<$transclude />\n\n</$set>\n"
        },
        "$:/core/ui/EditTemplate/body/editor": {
            "title": "$:/core/ui/EditTemplate/body/editor",
            "text": "<$edit\n\n  field=\"text\"\n  class=\"tc-edit-texteditor\"\n  placeholder={{$:/language/EditTemplate/Body/Placeholder}}\n\n><$set\n\n  name=\"targetTiddler\"\n  value=<<currentTiddler>>\n\n><$list\n\n  filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]]\"\n\n><$reveal\n\n  type=\"nomatch\"\n  state=<<config-visibility-title>>\n  text=\"hide\"\n  class=\"tc-text-editor-toolbar-item-wrapper\"\n\n><$transclude\n\n  tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\"\n  mode=\"inline\"\n\n/></$reveal></$list></$set></$edit>\n"
        },
        "$:/core/ui/EditTemplate/body/toolbar/button": {
            "title": "$:/core/ui/EditTemplate/body/toolbar/button",
            "text": "\\define toolbar-button-icon()\n<$list\n\n  filter=\"[all[current]!has[custom-icon]]\"\n  variable=\"no-custom-icon\"\n\n><$transclude\n\n  tiddler={{!!icon}}\n\n/></$list>\n\\end\n\n\\define toolbar-button-tooltip()\n{{!!description}}<$macrocall $name=\"displayshortcuts\" $output=\"text/plain\" shortcuts={{!!shortcuts}} prefix=\"` - [\" separator=\"] [\" suffix=\"]`\"/>\n\\end\n\n\\define toolbar-button()\n<$list\n\n  filter={{!!condition}}\n  variable=\"list-condition\"\n\n><$wikify\n\n  name=\"tooltip-text\"\n  text=<<toolbar-button-tooltip>>\n  mode=\"inline\"\n  output=\"text\"\n\n><$list\n\n  filter=\"[all[current]!has[dropdown]]\"\n  variable=\"no-dropdown\"\n\n><$button\n\n  class=\"tc-btn-invisible $(buttonClasses)$\"\n  tooltip=<<tooltip-text>>\n\n><span\n\n  data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n  tiddler=<<currentTiddler>>\n  field=\"text\"\n\n/></$button></$list><$list\n\n  filter=\"[all[current]has[dropdown]]\"\n  variable=\"dropdown\"\n\n><$set\n\n  name=\"dropdown-state\"\n  value=<<qualify \"$:/state/EditorToolbarDropdown\">>\n\n><$button\n\n  popup=<<dropdown-state>>\n  class=\"tc-popup-keep tc-btn-invisible $(buttonClasses)$\"\n  selectedClass=\"tc-selected\"\n  tooltip=<<tooltip-text>>\n\n><span\n\n  data-tw-keyboard-shortcut={{!!shortcuts}}\n\n/><<toolbar-button-icon>><$transclude\n\n  tiddler=<<currentTiddler>>\n  field=\"text\"\n\n/></$button><$reveal\n\n  state=<<dropdown-state>>\n  type=\"popup\"\n  position=\"below\"\n  animate=\"yes\"\n  tag=\"span\"\n\n><div\n\n  class=\"tc-drop-down tc-popup-keep\"\n\n><$transclude\n\n  tiddler={{!!dropdown}}\n  mode=\"block\"\n\n/></div></$reveal></$set></$list></$wikify></$list>\n\\end\n\n\\define toolbar-button-outer()\n<$set\n\n  name=\"buttonClasses\"\n  value={{!!button-classes}}\n\n><<toolbar-button>></$set>\n\\end\n\n<<toolbar-button-outer>>"
        },
        "$:/core/ui/EditTemplate/body": {
            "title": "$:/core/ui/EditTemplate/body",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/EditTemplate/Body/\n\\define config-visibility-title()\n$:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$\n\\end\n<$list filter=\"[is[current]has[_canonical_uri]]\">\n\n<div class=\"tc-message-box\">\n\n<<lingo External/Hint>>\n\n<a href={{!!_canonical_uri}}><$text text={{!!_canonical_uri}}/></a>\n\n<$edit-text field=\"_canonical_uri\" class=\"tc-edit-fields\"></$edit-text>\n\n</div>\n\n</$list>\n\n<$list filter=\"[is[current]!has[_canonical_uri]]\">\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\">\n\n<div class=\"tc-tiddler-preview\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n<div class=\"tc-tiddler-preview-preview\">\n\n<$transclude tiddler={{$:/state/editpreviewtype}} mode=\"inline\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/preview/output\" mode=\"inline\"/>\n\n</$transclude>\n\n</div>\n\n</div>\n\n</$reveal>\n\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/editor\" mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n"
        },
        "$:/core/ui/EditTemplate/controls": {
            "title": "$:/core/ui/EditTemplate/controls",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define config-title()\n$:/config/EditToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title tc-tiddler-edit-title\">\n<$view field=\"title\"/>\n<span class=\"tc-tiddler-controls tc-titlebar\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list></span>\n<div style=\"clear: both;\"></div>\n</div>\n"
        },
        "$:/core/ui/EditTemplate/fields": {
            "title": "$:/core/ui/EditTemplate/fields",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/EditTemplate/\n\\define config-title()\n$:/config/EditTemplateFields/Visibility/$(currentField)$\n\\end\n\n\\define config-filter()\n[[hide]] -[title{$(config-title)$}]\n\\end\n\n\\define new-field-inner()\n<$reveal type=\"nomatch\" text=\"\" default=<<name>>>\n<$button>\n<$action-sendmessage $message=\"tm-add-field\" $name=<<name>> $value=<<value>>/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" text=\"\" default=<<name>>>\n<$button>\n<<lingo Fields/Add/Button>>\n</$button>\n</$reveal>\n\\end\n\n\\define new-field()\n<$set name=\"name\" value={{$:/temp/newfieldname}}>\n<$set name=\"value\" value={{$:/temp/newfieldvalue}}>\n<<new-field-inner>>\n</$set>\n</$set>\n\\end\n\n<div class=\"tc-edit-fields\">\n<table class=\"tc-edit-fields\">\n<tbody>\n<$list filter=\"[all[current]fields[]] +[sort[title]]\" variable=\"currentField\">\n<$list filter=<<config-filter>> variable=\"temp\">\n<tr class=\"tc-edit-field\">\n<td class=\"tc-edit-field-name\">\n<$text text=<<currentField>>/>:</td>\n<td class=\"tc-edit-field-value\">\n<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}}/>\n</td>\n<td class=\"tc-edit-field-remove\">\n<$button class=\"tc-btn-invisible\" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>\n<$action-deletefield $field=<<currentField>>/>\n{{$:/core/images/delete-button}}\n</$button>\n</td>\n</tr>\n</$list>\n</$list>\n</tbody>\n</table>\n</div>\n\n<$fieldmangler>\n<div class=\"tc-edit-field-add\">\n<em class=\"tc-edit\">\n<<lingo Fields/Add/Prompt>>\n</em>\n<span class=\"tc-edit-field-add-name\">\n<$edit-text tiddler=\"$:/temp/newfieldname\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} focusPopup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-edit-texteditor tc-popup-handle\"/>\n</span>\n<$button popup=<<qualify \"$:/state/popup/field-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/field-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"$:/temp/newfieldname\">\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/User>>\n</div>\n<$list filter=\"[!is[shadow]!is[system]fields[]sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type\"  variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n<div class=\"tc-dropdown-item\">\n<<lingo Fields/Add/Dropdown/System>>\n</div>\n<$list filter=\"[fields[]sort[]] -[!is[shadow]!is[system]fields[]]\" variable=\"currentField\">\n<$link to=<<currentField>>>\n<<currentField>>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n<span class=\"tc-edit-field-add-value\">\n<$edit-text tiddler=\"$:/temp/newfieldvalue\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class=\"tc-edit-texteditor\"/>\n</span>\n<span class=\"tc-edit-field-add-button\">\n<$macrocall $name=\"new-field\"/>\n</span>\n</div>\n</$fieldmangler>\n\n"
        },
        "$:/core/ui/EditTemplate/shadow": {
            "title": "$:/core/ui/EditTemplate/shadow",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/EditTemplate/Shadow/\n\\define pluginLinkBody()\n<$link to=\"\"\"$(pluginTitle)$\"\"\">\n<$text text=\"\"\"$(pluginTitle)$\"\"\"/>\n</$link>\n\\end\n<$list filter=\"[all[current]get[draft.of]is[shadow]!is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo Warning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>\n\n<$list filter=\"[all[current]get[draft.of]is[shadow]is[tiddler]]\">\n\n<$list filter=\"[all[current]shadowsource[]]\" variable=\"pluginTitle\">\n\n<$set name=\"pluginLink\" value=<<pluginLinkBody>>>\n<div class=\"tc-message-box\">\n\n<<lingo OverriddenWarning>>\n\n</div>\n</$set>\n</$list>\n\n</$list>"
        },
        "$:/core/ui/EditTemplate/tags": {
            "title": "$:/core/ui/EditTemplate/tags",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/EditTemplate/\n\\define tag-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\\define tag-body-inner(colour,fallbackTarget,colourA,colourB)\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<span style=<<tag-styles>> class=\"tc-tag-label\">\n<$view field=\"title\" format=\"text\" />\n<$button message=\"tm-remove-tag\" param={{!!title}} class=\"tc-btn-invisible tc-remove-tag-button\">&times;</$button>\n</span>\n</$vars>\n\\end\n\\define tag-body(colour,palette)\n<$macrocall $name=\"tag-body-inner\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}}/>\n\\end\n<div class=\"tc-edit-tags\">\n<$fieldmangler>\n<$list filter=\"[all[current]tags[]sort[title]]\" storyview=\"pop\">\n<$macrocall $name=\"tag-body\" colour={{!!color}} palette={{$:/palette}}/>\n</$list>\n\n<div class=\"tc-edit-add-tag\">\n<span class=\"tc-add-tag-name\">\n<$edit-text tiddler=\"$:/temp/NewTagName\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} focusPopup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-edit-texteditor tc-popup-handle\"/>\n</span> <$button popup=<<qualify \"$:/state/popup/tags-auto-complete\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <span class=\"tc-add-tag-button\">\n<$button message=\"tm-add-tag\" param={{$:/temp/NewTagName}} set=\"$:/temp/NewTagName\" setTo=\"\" class=\"\">\n<<lingo Tags/Add/Button>>\n</$button>\n</span>\n</div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/tags-auto-complete\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown\">\n<$linkcatcher set=\"$:/temp/NewTagName\" setTo=\"\" message=\"tm-add-tag\">\n<$list filter=\"[tags[]!is[system]search:title{$:/temp/NewTagName}sort[]]\">\n{{||$:/core/ui/Components/tag-link}}\n</$list>\n<hr>\n<$list filter=\"[tags[]is[system]search:title{$:/temp/NewTagName}sort[]]\">\n{{||$:/core/ui/Components/tag-link}}\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n</$fieldmangler>\n</div>"
        },
        "$:/core/ui/EditTemplate/title": {
            "title": "$:/core/ui/EditTemplate/title",
            "tags": "$:/tags/EditTemplate",
            "text": "<$vars pattern=\"\"\"[\\|\\[\\]{}]\"\"\" bad-chars=\"\"\"`| [ ] { }`\"\"\">\n\n<$list filter=\"[is[current]regexp:draft.title<pattern>]\" variable=\"listItem\">\n\n<div class=\"tc-message-box\">\n\n{{$:/language/EditTemplate/Title/BadCharacterWarning}}\n\n</div>\n\n</$list>\n\n</$vars>\n\n<$edit-text field=\"draft.title\" class=\"tc-titlebar tc-edit-texteditor\" focus=\"true\"/>\n"
        },
        "$:/core/ui/EditTemplate/type": {
            "title": "$:/core/ui/EditTemplate/type",
            "tags": "$:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/EditTemplate/\n<div class=\"tc-type-selector\"><$fieldmangler>\n<em class=\"tc-edit\"><<lingo Type/Prompt>></em> <$edit-text field=\"type\" tag=\"input\" default=\"\" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-edit-typeeditor tc-popup-handle\"/> <$button popup=<<qualify \"$:/state/popup/type-dropdown\">> class=\"tc-btn-invisible tc-btn-dropdown\" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <$button message=\"tm-remove-field\" param=\"type\" class=\"tc-btn-invisible tc-btn-icon\" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}</$button>\n</$fieldmangler></div>\n\n<div class=\"tc-block-dropdown-wrapper\">\n<$reveal state=<<qualify \"$:/state/popup/type-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n<div class=\"tc-block-dropdown tc-edit-type-dropdown\">\n<$linkcatcher to=\"!!type\">\n<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group]]'>\n<div class=\"tc-dropdown-item\">\n<$text text={{!!group}}/>\n</div>\n<$list filter=\"[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]]\"><$link to={{!!name}}><$view field=\"description\"/> (<$view field=\"name\"/>)</$link>\n</$list>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>"
        },
        "$:/core/ui/EditTemplate": {
            "title": "$:/core/ui/EditTemplate",
            "text": "\\define frame-classes()\ntc-tiddler-frame tc-tiddler-edit-frame $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$\n\\end\n<div class=<<frame-classes>>>\n<$set name=\"storyTiddler\" value=<<currentTiddler>>>\n<$keyboard key=\"((cancel-edit-tiddler))\" message=\"tm-cancel-tiddler\">\n<$keyboard key=\"((save-tiddler))\" message=\"tm-save-tiddler\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditTemplate]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n</$list>\n</$keyboard>\n</$keyboard>\n</$set>\n</div>\n"
        },
        "$:/core/ui/Buttons/cancel": {
            "title": "$:/core/ui/Buttons/cancel",
            "tags": "$:/tags/EditToolbar",
            "caption": "{{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}",
            "description": "{{$:/language/Buttons/Cancel/Hint}}",
            "text": "<$button message=\"tm-cancel-tiddler\" tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/cancel-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/delete": {
            "title": "$:/core/ui/Buttons/delete",
            "tags": "$:/tags/EditToolbar $:/tags/ViewToolbar",
            "caption": "{{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}",
            "description": "{{$:/language/Buttons/Delete/Hint}}",
            "text": "<$button message=\"tm-delete-tiddler\" tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/delete-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/save": {
            "title": "$:/core/ui/Buttons/save",
            "tags": "$:/tags/EditToolbar",
            "caption": "{{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}",
            "description": "{{$:/language/Buttons/Save/Hint}}",
            "text": "<$fieldmangler><$button tooltip={{$:/language/Buttons/Save/Hint}} aria-label={{$:/language/Buttons/Save/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-add-tag\" $param={{$:/temp/NewTagName}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/NewTagName\"/>\n<$action-sendmessage $message=\"tm-add-field\" $name={{$:/temp/newfieldname}} $value={{$:/temp/newfieldvalue}}/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldname\"/>\n<$action-deletetiddler $tiddler=\"$:/temp/newfieldvalue\"/>\n<$action-sendmessage $message=\"tm-save-tiddler\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/done-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Save/Caption}}/></span>\n</$list>\n</$button>\n</$fieldmangler>\n"
        },
        "$:/core/ui/EditorToolbar/bold": {
            "title": "$:/core/ui/EditorToolbar/bold",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/bold",
            "caption": "{{$:/language/Buttons/Bold/Caption}}",
            "description": "{{$:/language/Buttons/Bold/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((bold))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"''\"\n\tsuffix=\"''\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/clear-dropdown": {
            "title": "$:/core/ui/EditorToolbar/clear-dropdown",
            "text": "''{{$:/language/Buttons/Clear/Hint}}''\n\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"clear\"\n\tcolour=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n\n</div>\n"
        },
        "$:/core/ui/EditorToolbar/clear": {
            "title": "$:/core/ui/EditorToolbar/clear",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/erase",
            "caption": "{{$:/language/Buttons/Clear/Caption}}",
            "description": "{{$:/language/Buttons/Clear/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/clear-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/editor-height-dropdown": {
            "title": "$:/core/ui/EditorToolbar/editor-height-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/EditorHeight/\n''<<lingo Hint>>''\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"auto\"> {{$:/core/images/auto-height}} <<lingo Caption/Auto>></$radio>\n\n<$radio tiddler=\"$:/config/TextEditor/EditorHeight/Mode\" value=\"fixed\"> {{$:/core/images/fixed-height}} <<lingo Caption/Fixed>> <$edit-text tag=\"input\" tiddler=\"$:/config/TextEditor/EditorHeight/Height\" default=\"100px\"/></$radio>\n"
        },
        "$:/core/ui/EditorToolbar/editor-height": {
            "title": "$:/core/ui/EditorToolbar/editor-height",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/fixed-height",
            "custom-icon": "yes",
            "caption": "{{$:/language/Buttons/EditorHeight/Caption}}",
            "description": "{{$:/language/Buttons/EditorHeight/Hint}}",
            "condition": "[<targetTiddler>!is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/editor-height-dropdown",
            "text": "<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"fixed\">\n{{$:/core/images/fixed-height}}\n</$reveal>\n<$reveal tag=\"span\" state=\"$:/config/TextEditor/EditorHeight/Mode\" type=\"match\" text=\"auto\">\n{{$:/core/images/auto-height}}\n</$reveal>\n"
        },
        "$:/core/ui/EditorToolbar/excise-dropdown": {
            "title": "$:/core/ui/EditorToolbar/excise-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/Excise/\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<<lingo Caption/NewTitle>> <$edit-text tag=\"input\" tiddler=\"$config-title$/new-title\" default=\"\" focus=\"true\"/>\n\n<$set name=\"new-title\" value={{$config-title$/new-title}}>\n<$list filter=\"\"\"[<new-title>is[tiddler]]\"\"\">\n<div class=\"tc-error\">\n<<lingo Caption/TiddlerExists>>\n</div>\n</$list>\n</$set>\n\n<$checkbox tiddler=\"\"\"$config-title$/tagnew\"\"\" field=\"text\" checked=\"yes\" unchecked=\"no\" default=\"false\"> <<lingo Caption/Tag>></$checkbox>\n\n<<lingo Caption/Replace>> <$select tiddler=\"\"\"$config-title$/type\"\"\" default=\"transclude\">\n<option value=\"link\"><<lingo Caption/Replace/Link>></option>\n<option value=\"transclude\"><<lingo Caption/Replace/Transclusion>></option>\n<option value=\"macro\"><<lingo Caption/Replace/Macro>></option>\n</$select>\n\n<$reveal state=\"\"\"$config-title$/type\"\"\" type=\"match\" text=\"macro\">\n<<lingo Caption/MacroName>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/macro-title\"\"\" default=\"translink\"/>\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"excise\"\n\ttitle={{$config-title$/new-title}}\n\ttype={{$config-title$/type}}\n\tmacro={{$config-title$/macro-title}}\n\ttagnew={{$config-title$/tagnew}}\n/>\n<$action-deletetiddler\n\t$tiddler=<<qualify \"$:/state/Excise/NewTitle\">>\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Excise>>\n</$button>\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Excise/\">>/>\n"
        },
        "$:/core/ui/EditorToolbar/excise": {
            "title": "$:/core/ui/EditorToolbar/excise",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/excise",
            "caption": "{{$:/language/Buttons/Excise/Caption}}",
            "description": "{{$:/language/Buttons/Excise/Hint}}",
            "condition": "[<targetTiddler>!is[image]]",
            "shortcuts": "((excise))",
            "dropdown": "$:/core/ui/EditorToolbar/excise-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/heading-1": {
            "title": "$:/core/ui/EditorToolbar/heading-1",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-1",
            "caption": "{{$:/language/Buttons/Heading1/Caption}}",
            "description": "{{$:/language/Buttons/Heading1/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "button-classes": "tc-text-editor-toolbar-item-start-group",
            "shortcuts": "((heading-1))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"1\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/heading-2": {
            "title": "$:/core/ui/EditorToolbar/heading-2",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-2",
            "caption": "{{$:/language/Buttons/Heading2/Caption}}",
            "description": "{{$:/language/Buttons/Heading2/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((heading-2))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"2\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/heading-3": {
            "title": "$:/core/ui/EditorToolbar/heading-3",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-3",
            "caption": "{{$:/language/Buttons/Heading3/Caption}}",
            "description": "{{$:/language/Buttons/Heading3/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((heading-3))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"3\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/heading-4": {
            "title": "$:/core/ui/EditorToolbar/heading-4",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-4",
            "caption": "{{$:/language/Buttons/Heading4/Caption}}",
            "description": "{{$:/language/Buttons/Heading4/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((heading-4))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"4\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/heading-5": {
            "title": "$:/core/ui/EditorToolbar/heading-5",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-5",
            "caption": "{{$:/language/Buttons/Heading5/Caption}}",
            "description": "{{$:/language/Buttons/Heading5/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((heading-5))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"5\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/heading-6": {
            "title": "$:/core/ui/EditorToolbar/heading-6",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/heading-6",
            "caption": "{{$:/language/Buttons/Heading6/Caption}}",
            "description": "{{$:/language/Buttons/Heading6/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((heading-6))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"!\"\n\tcount=\"6\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/italic": {
            "title": "$:/core/ui/EditorToolbar/italic",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/italic",
            "caption": "{{$:/language/Buttons/Italic/Caption}}",
            "description": "{{$:/language/Buttons/Italic/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((italic))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"//\"\n\tsuffix=\"//\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/line-width-dropdown": {
            "title": "$:/core/ui/EditorToolbar/line-width-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/LineWidth/\n\n\\define toolbar-line-width-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(line-width)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/LineWidth\"\n\t$value=\"$(line-width)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; margin: 4px calc(80px - $(line-width)$); background-color: #000; width: calc(100px + $(line-width)$ * 2); height: $(line-width)$; border-radius: 120px; vertical-align: middle;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(line-width)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/LineWidth\" type=\"match\" text=\"\"\"$(line-width)$\"\"\" tag=\"span\">\n\n<$entity entity=\"&nbsp;\"/>\n\n<$entity entity=\"&#x2713;\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/LineWidths}} variable=\"line-width\">\n\n<<toolbar-line-width-inner>>\n\n</$list>\n"
        },
        "$:/core/ui/EditorToolbar/line-width": {
            "title": "$:/core/ui/EditorToolbar/line-width",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/line-width",
            "caption": "{{$:/language/Buttons/LineWidth/Caption}}",
            "description": "{{$:/language/Buttons/LineWidth/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/line-width-dropdown",
            "text": "<$text text={{$:/config/BitmapEditor/LineWidth}}/>"
        },
        "$:/core/ui/EditorToolbar/link-dropdown": {
            "title": "$:/core/ui/EditorToolbar/link-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/Link/\n\n\\define link-actions()\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"make-link\"\n\ttext={{$(linkTiddler)$}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<searchTiddler>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<linkTiddler>>\n/>\n\\end\n\n\\define body(config-title)\n''<<lingo Hint>>''\n\n<$vars searchTiddler=\"\"\"$config-title$/search\"\"\" linkTiddler=\"\"\"$config-title$/link\"\"\">\n\n<$edit-text tiddler=<<searchTiddler>> type=\"search\" tag=\"input\" focus=\"true\" placeholder={{$:/language/Search/Search}} default=\"\"/>\n<$reveal tag=\"span\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n<$button class=\"tc-btn-invisible\" style=\"width: auto; display: inline-block; background-colour: inherit;\">\n<$action-setfield $tiddler=<<searchTiddler>> text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n</$reveal>\n\n<$reveal tag=\"div\" state=<<searchTiddler>> type=\"nomatch\" text=\"\">\n\n<$linkcatcher actions=<<link-actions>> to=<<linkTiddler>>>\n\n{{$:/core/ui/SearchResults}}\n\n</$linkcatcher>\n\n</$reveal>\n\n</$vars>\n\n\\end\n\n<$macrocall $name=\"body\" config-title=<<qualify \"$:/state/Link/\">>/>\n"
        },
        "$:/core/ui/EditorToolbar/link": {
            "title": "$:/core/ui/EditorToolbar/link",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/link",
            "caption": "{{$:/language/Buttons/Link/Caption}}",
            "description": "{{$:/language/Buttons/Link/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "button-classes": "tc-text-editor-toolbar-item-start-group",
            "shortcuts": "((link))",
            "dropdown": "$:/core/ui/EditorToolbar/link-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/list-bullet": {
            "title": "$:/core/ui/EditorToolbar/list-bullet",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/list-bullet",
            "caption": "{{$:/language/Buttons/ListBullet/Caption}}",
            "description": "{{$:/language/Buttons/ListBullet/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((list-bullet))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"*\"\n\tcount=\"1\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/list-number": {
            "title": "$:/core/ui/EditorToolbar/list-number",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/list-number",
            "caption": "{{$:/language/Buttons/ListNumber/Caption}}",
            "description": "{{$:/language/Buttons/ListNumber/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((list-number))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"prefix-lines\"\n\tcharacter=\"#\"\n\tcount=\"1\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/mono-block": {
            "title": "$:/core/ui/EditorToolbar/mono-block",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/mono-block",
            "caption": "{{$:/language/Buttons/MonoBlock/Caption}}",
            "description": "{{$:/language/Buttons/MonoBlock/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "button-classes": "tc-text-editor-toolbar-item-start-group",
            "shortcuts": "((mono-block))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n```\"\n\tsuffix=\"```\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/mono-line": {
            "title": "$:/core/ui/EditorToolbar/mono-line",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/mono-line",
            "caption": "{{$:/language/Buttons/MonoLine/Caption}}",
            "description": "{{$:/language/Buttons/MonoLine/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((mono-line))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"`\"\n\tsuffix=\"`\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/more-dropdown": {
            "title": "$:/core/ui/EditorToolbar/more-dropdown",
            "text": "\\define config-title()\n$:/config/EditorToolbarButtons/Visibility/$(toolbarItem)$\n\\end\n\n\\define conditional-button()\n<$list filter={{$(toolbarItem)$!!condition}} variable=\"condition\">\n<$transclude tiddler=\"$:/core/ui/EditTemplate/body/toolbar/button\" mode=\"inline\"/> <$transclude tiddler=<<toolbarItem>> field=\"description\"/>\n</$list>\n\\end\n\n<div class=\"tc-text-editor-toolbar-more\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditorToolbar]!has[draft.of]] -[[$:/core/ui/EditorToolbar/more]]\">\n<$reveal type=\"match\" state=<<config-visibility-title>> text=\"hide\" tag=\"div\">\n<<conditional-button>>\n</$reveal>\n</$list>\n</div>\n"
        },
        "$:/core/ui/EditorToolbar/more": {
            "title": "$:/core/ui/EditorToolbar/more",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/down-arrow",
            "caption": "{{$:/language/Buttons/More/Caption}}",
            "description": "{{$:/language/Buttons/More/Hint}}",
            "condition": "[<targetTiddler>]",
            "dropdown": "$:/core/ui/EditorToolbar/more-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/opacity-dropdown": {
            "title": "$:/core/ui/EditorToolbar/opacity-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/Opacity/\n\n\\define toolbar-opacity-inner()\n<$button tag=\"a\" tooltip=\"\"\"$(opacity)$\"\"\">\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Opacity\"\n\t$value=\"$(opacity)$\"\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(current-paint-colour)$; opacity: $(opacity)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\n<span style=\"margin-left: 8px;\">\n\n<$text text=\"\"\"$(opacity)$\"\"\"/>\n\n<$reveal state=\"$:/config/BitmapEditor/Opacity\" type=\"match\" text=\"\"\"$(opacity)$\"\"\" tag=\"span\">\n\n<$entity entity=\"&nbsp;\"/>\n\n<$entity entity=\"&#x2713;\"/>\n\n</$reveal>\n\n</span>\n\n</$button>\n\\end\n\n\\define toolbar-opacity()\n''<<lingo Hint>>''\n\n<$list filter={{$:/config/BitmapEditor/Opacities}} variable=\"opacity\">\n\n<<toolbar-opacity-inner>>\n\n</$list>\n\\end\n\n<$set name=\"current-paint-colour\" value={{$:/config/BitmapEditor/Colour}}>\n\n<$set name=\"current-opacity\" value={{$:/config/BitmapEditor/Opacity}}>\n\n<<toolbar-opacity>>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/EditorToolbar/opacity": {
            "title": "$:/core/ui/EditorToolbar/opacity",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/opacity",
            "caption": "{{$:/language/Buttons/Opacity/Caption}}",
            "description": "{{$:/language/Buttons/Opacity/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/opacity-dropdown",
            "text": "<$text text={{$:/config/BitmapEditor/Opacity}}/>\n"
        },
        "$:/core/ui/EditorToolbar/paint-dropdown": {
            "title": "$:/core/ui/EditorToolbar/paint-dropdown",
            "text": "''{{$:/language/Buttons/Paint/Hint}}''\n\n<$macrocall $name=\"colour-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/config/BitmapEditor/Colour\"\n\t$value=<<colour-picker-value>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
        },
        "$:/core/ui/EditorToolbar/paint": {
            "title": "$:/core/ui/EditorToolbar/paint",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/paint",
            "caption": "{{$:/language/Buttons/Paint/Caption}}",
            "description": "{{$:/language/Buttons/Paint/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/paint-dropdown",
            "text": "\\define toolbar-paint()\n<div style=\"display: inline-block; vertical-align: middle; background-color: $(colour-picker-value)$; width: 1em; height: 1em; border-radius: 50%;\"/>\n\\end\n<$set name=\"colour-picker-value\" value={{$:/config/BitmapEditor/Colour}}>\n<<toolbar-paint>>\n</$set>\n"
        },
        "$:/core/ui/EditorToolbar/picture-dropdown": {
            "title": "$:/core/ui/EditorToolbar/picture-dropdown",
            "text": "\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n''{{$:/language/Buttons/Picture/Hint}}''\n\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext=<<replacement-text>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n\"\"\"/>\n"
        },
        "$:/core/ui/EditorToolbar/picture": {
            "title": "$:/core/ui/EditorToolbar/picture",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/picture",
            "caption": "{{$:/language/Buttons/Picture/Caption}}",
            "description": "{{$:/language/Buttons/Picture/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((picture))",
            "dropdown": "$:/core/ui/EditorToolbar/picture-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/preview-type-dropdown": {
            "title": "$:/core/ui/EditorToolbar/preview-type-dropdown",
            "text": "\\define preview-type-button()\n<$button tag=\"a\">\n\n<$action-setfield $tiddler=\"$:/state/editpreviewtype\" $value=\"$(previewType)$\"/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$transclude tiddler=<<previewType>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<previewType>> field=\"title\" mode=\"inline\"/>\n\n</$transclude> \n\n<$reveal tag=\"span\" state=\"$:/state/editpreviewtype\" type=\"match\" text=<<previewType>> default=\"$:/core/ui/EditTemplate/body/preview/output\">\n\n<$entity entity=\"&nbsp;\"/>\n\n<$entity entity=\"&#x2713;\"/>\n\n</$reveal>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]]\" variable=\"previewType\">\n\n<<preview-type-button>>\n\n</$list>\n"
        },
        "$:/core/ui/EditorToolbar/preview-type": {
            "title": "$:/core/ui/EditorToolbar/preview-type",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/chevron-down",
            "caption": "{{$:/language/Buttons/PreviewType/Caption}}",
            "description": "{{$:/language/Buttons/PreviewType/Hint}}",
            "condition": "[all[shadows+tiddlers]tag[$:/tags/EditPreview]!has[draft.of]butfirst[]limit[1]]",
            "button-classes": "tc-text-editor-toolbar-item-adjunct",
            "dropdown": "$:/core/ui/EditorToolbar/preview-type-dropdown"
        },
        "$:/core/ui/EditorToolbar/preview": {
            "title": "$:/core/ui/EditorToolbar/preview",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/preview-open",
            "custom-icon": "yes",
            "caption": "{{$:/language/Buttons/Preview/Caption}}",
            "description": "{{$:/language/Buttons/Preview/Hint}}",
            "condition": "[<targetTiddler>]",
            "button-classes": "tc-text-editor-toolbar-item-start-group",
            "shortcuts": "((preview))",
            "text": "<$reveal state=\"$:/state/showeditpreview\" type=\"match\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-open}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"no\"/>\n</$reveal>\n<$reveal state=\"$:/state/showeditpreview\" type=\"nomatch\" text=\"yes\" tag=\"span\">\n{{$:/core/images/preview-closed}}\n<$action-setfield $tiddler=\"$:/state/showeditpreview\" $value=\"yes\"/>\n</$reveal>\n"
        },
        "$:/core/ui/EditorToolbar/quote": {
            "title": "$:/core/ui/EditorToolbar/quote",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/quote",
            "caption": "{{$:/language/Buttons/Quote/Caption}}",
            "description": "{{$:/language/Buttons/Quote/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((quote))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-lines\"\n\tprefix=\"\n<<<\"\n\tsuffix=\"<<<\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/size-dropdown": {
            "title": "$:/core/ui/EditorToolbar/size-dropdown",
            "text": "\\define lingo-base() $:/language/Buttons/Size/\n\n\\define toolbar-button-size-preset(config-title)\n<$set name=\"width\" filter=\"$(sizePair)$ +[first[]]\">\n\n<$set name=\"height\" filter=\"$(sizePair)$ +[last[]]\">\n\n<$button tag=\"a\">\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n\t$value=<<width>>\n/>\n\n<$action-setfield\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n\t$value=<<height>>\n/>\n\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/presets-popup\"\"\"\n/>\n\n<$text text=<<width>>/> &times; <$text text=<<height>>/>\n\n</$button>\n\n</$set>\n\n</$set>\n\\end\n\n\\define toolbar-button-size(config-title)\n''{{$:/language/Buttons/Size/Hint}}''\n\n<<lingo Caption/Width>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-width\"\"\" default=<<tv-bitmap-editor-width>> focus=\"true\" size=\"8\"/> <<lingo Caption/Height>> <$edit-text tag=\"input\" tiddler=\"\"\"$config-title$/new-height\"\"\" default=<<tv-bitmap-editor-height>> size=\"8\"/> <$button popup=\"\"\"$config-title$/presets-popup\"\"\" class=\"tc-btn-invisible tc-popup-keep\" style=\"width: auto; display: inline-block; background-colour: inherit;\" selectedClass=\"tc-selected\">\n{{$:/core/images/down-arrow}}\n</$button>\n\n<$reveal tag=\"span\" state=\"\"\"$config-title$/presets-popup\"\"\" type=\"popup\" position=\"belowleft\" animate=\"yes\">\n\n<div class=\"tc-drop-down tc-popup-keep\">\n\n<$list filter={{$:/config/BitmapEditor/ImageSizes}} variable=\"sizePair\">\n\n<$macrocall $name=\"toolbar-button-size-preset\" config-title=\"$config-title$\"/>\n\n</$list>\n\n</div>\n\n</$reveal>\n\n<$button>\n<$action-sendmessage\n\t$message=\"tm-edit-bitmap-operation\"\n\t$param=\"resize\"\n\twidth={{$config-title$/new-width}}\n\theight={{$config-title$/new-height}}\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-width\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=\"\"\"$config-title$/new-height\"\"\"\n/>\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n<<lingo Caption/Resize>>\n</$button>\n\\end\n\n<$macrocall $name=\"toolbar-button-size\" config-title=<<qualify \"$:/state/Size/\">>/>\n"
        },
        "$:/core/ui/EditorToolbar/size": {
            "title": "$:/core/ui/EditorToolbar/size",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/size",
            "caption": "{{$:/language/Buttons/Size/Caption}}",
            "description": "{{$:/language/Buttons/Size/Hint}}",
            "condition": "[<targetTiddler>is[image]]",
            "dropdown": "$:/core/ui/EditorToolbar/size-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/stamp-dropdown": {
            "title": "$:/core/ui/EditorToolbar/stamp-dropdown",
            "text": "\\define toolbar-button-stamp-inner()\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"replace-selection\"\n\ttext={{$(snippetTitle)$}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<$view tiddler=<<snippetTitle>> field=\"caption\" mode=\"inline\">\n\n<$view tiddler=<<snippetTitle>> field=\"title\" mode=\"inline\"/>\n\n</$view>\n\n</$button>\n\\end\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TextEditor/Snippet]!has[draft.of]sort[caption]]\" variable=\"snippetTitle\">\n\n<<toolbar-button-stamp-inner>>\n\n</$list>\n\n----\n\n<$button tag=\"a\">\n\n<$action-sendmessage\n\t$message=\"tm-new-tiddler\"\n\ttags=\"$:/tags/TextEditor/Snippet\"\n\tcaption={{$:/language/Buttons/Stamp/New/Title}}\n\ttext={{$:/language/Buttons/Stamp/New/Text}}\n/>\n\n<$action-deletetiddler\n\t$tiddler=<<dropdown-state>>\n/>\n\n<em>\n\n<$text text={{$:/language/Buttons/Stamp/Caption/New}}/>\n\n</em>\n\n</$button>\n"
        },
        "$:/core/ui/EditorToolbar/stamp": {
            "title": "$:/core/ui/EditorToolbar/stamp",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/stamp",
            "caption": "{{$:/language/Buttons/Stamp/Caption}}",
            "description": "{{$:/language/Buttons/Stamp/Hint}}",
            "condition": "[<targetTiddler>!is[image]]",
            "shortcuts": "((stamp))",
            "dropdown": "$:/core/ui/EditorToolbar/stamp-dropdown",
            "text": ""
        },
        "$:/core/ui/EditorToolbar/strikethrough": {
            "title": "$:/core/ui/EditorToolbar/strikethrough",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/strikethrough",
            "caption": "{{$:/language/Buttons/Strikethrough/Caption}}",
            "description": "{{$:/language/Buttons/Strikethrough/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((strikethrough))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"~~\"\n\tsuffix=\"~~\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/subscript": {
            "title": "$:/core/ui/EditorToolbar/subscript",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/subscript",
            "caption": "{{$:/language/Buttons/Subscript/Caption}}",
            "description": "{{$:/language/Buttons/Subscript/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((subscript))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\",,\"\n\tsuffix=\",,\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/superscript": {
            "title": "$:/core/ui/EditorToolbar/superscript",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/superscript",
            "caption": "{{$:/language/Buttons/Superscript/Caption}}",
            "description": "{{$:/language/Buttons/Superscript/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((superscript))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"^^\"\n\tsuffix=\"^^\"\n/>\n"
        },
        "$:/core/ui/EditorToolbar/underline": {
            "title": "$:/core/ui/EditorToolbar/underline",
            "tags": "$:/tags/EditorToolbar",
            "icon": "$:/core/images/underline",
            "caption": "{{$:/language/Buttons/Underline/Caption}}",
            "description": "{{$:/language/Buttons/Underline/Hint}}",
            "condition": "[<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]",
            "shortcuts": "((underline))",
            "text": "<$action-sendmessage\n\t$message=\"tm-edit-text-operation\"\n\t$param=\"wrap-selection\"\n\tprefix=\"__\"\n\tsuffix=\"__\"\n/>\n"
        },
        "$:/core/Filters/AllTags": {
            "title": "$:/core/Filters/AllTags",
            "tags": "$:/tags/Filter",
            "filter": "[tags[]!is[system]sort[title]]",
            "description": "{{$:/language/Filters/AllTags}}",
            "text": ""
        },
        "$:/core/Filters/AllTiddlers": {
            "title": "$:/core/Filters/AllTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[!is[system]sort[title]]",
            "description": "{{$:/language/Filters/AllTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/Drafts": {
            "title": "$:/core/Filters/Drafts",
            "tags": "$:/tags/Filter",
            "filter": "[has[draft.of]sort[title]]",
            "description": "{{$:/language/Filters/Drafts}}",
            "text": ""
        },
        "$:/core/Filters/Missing": {
            "title": "$:/core/Filters/Missing",
            "tags": "$:/tags/Filter",
            "filter": "[all[missing]sort[title]]",
            "description": "{{$:/language/Filters/Missing}}",
            "text": ""
        },
        "$:/core/Filters/Orphans": {
            "title": "$:/core/Filters/Orphans",
            "tags": "$:/tags/Filter",
            "filter": "[all[orphans]sort[title]]",
            "description": "{{$:/language/Filters/Orphans}}",
            "text": ""
        },
        "$:/core/Filters/OverriddenShadowTiddlers": {
            "title": "$:/core/Filters/OverriddenShadowTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[is[shadow]]",
            "description": "{{$:/language/Filters/OverriddenShadowTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/RecentSystemTiddlers": {
            "title": "$:/core/Filters/RecentSystemTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[has[modified]!sort[modified]limit[50]]",
            "description": "{{$:/language/Filters/RecentSystemTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/RecentTiddlers": {
            "title": "$:/core/Filters/RecentTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[!is[system]has[modified]!sort[modified]limit[50]]",
            "description": "{{$:/language/Filters/RecentTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/ShadowTiddlers": {
            "title": "$:/core/Filters/ShadowTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[all[shadows]sort[title]]",
            "description": "{{$:/language/Filters/ShadowTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/SystemTags": {
            "title": "$:/core/Filters/SystemTags",
            "tags": "$:/tags/Filter",
            "filter": "[all[shadows+tiddlers]tags[]is[system]sort[title]]",
            "description": "{{$:/language/Filters/SystemTags}}",
            "text": ""
        },
        "$:/core/Filters/SystemTiddlers": {
            "title": "$:/core/Filters/SystemTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[is[system]sort[title]]",
            "description": "{{$:/language/Filters/SystemTiddlers}}",
            "text": ""
        },
        "$:/core/Filters/TypedTiddlers": {
            "title": "$:/core/Filters/TypedTiddlers",
            "tags": "$:/tags/Filter",
            "filter": "[!is[system]has[type]each[type]sort[type]] -[type[text/vnd.tiddlywiki]]",
            "description": "{{$:/language/Filters/TypedTiddlers}}",
            "text": ""
        },
        "$:/core/ui/ImportListing": {
            "title": "$:/core/ui/ImportListing",
            "text": "\\define lingo-base() $:/language/Import/\n\\define messageField()\nmessage-$(payloadTiddler)$\n\\end\n\\define selectionField()\nselection-$(payloadTiddler)$\n\\end\n\\define previewPopupState()\n$(currentTiddler)$!!popup-$(payloadTiddler)$\n\\end\n<table>\n<tbody>\n<tr>\n<th>\n<<lingo Listing/Select/Caption>>\n</th>\n<th>\n<<lingo Listing/Title/Caption>>\n</th>\n<th>\n<<lingo Listing/Status/Caption>>\n</th>\n</tr>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" variable=\"payloadTiddler\">\n<tr>\n<td>\n<$checkbox field=<<selectionField>> checked=\"checked\" unchecked=\"unchecked\" default=\"checked\"/>\n</td>\n<td>\n<$reveal type=\"nomatch\" state=<<previewPopupState>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<previewPopupState>> setTo=\"yes\">\n{{$:/core/images/right-arrow}}&nbsp;<$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<previewPopupState>> text=\"yes\">\n<$button class=\"tc-btn-invisible tc-btn-dropdown\" set=<<previewPopupState>> setTo=\"no\">\n{{$:/core/images/down-arrow}}&nbsp;<$text text=<<payloadTiddler>>/>\n</$button>\n</$reveal>\n</td>\n<td>\n<$view field=<<messageField>>/>\n</td>\n</tr>\n<tr>\n<td colspan=\"3\">\n<$reveal type=\"match\" text=\"yes\" state=<<previewPopupState>>>\n<$transclude subtiddler=<<payloadTiddler>> mode=\"block\"/>\n</$reveal>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/ListItemTemplate": {
            "title": "$:/core/ui/ListItemTemplate",
            "text": "<div class=\"tc-menu-list-item\">\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</div>"
        },
        "$:/core/ui/MissingTemplate": {
            "title": "$:/core/ui/MissingTemplate",
            "text": "<div class=\"tc-tiddler-missing\">\n<$button popup=<<qualify \"$:/state/popup/missing\">> class=\"tc-btn-invisible tc-missing-tiddler-label\">\n<$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/missing\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<hr>\n<$list filter=\"[all[current]backlinks[]sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n</div>\n"
        },
        "$:/core/ui/MoreSideBar/All": {
            "title": "$:/core/ui/MoreSideBar/All",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/All/Caption}}",
            "text": "<$list filter={{$:/core/Filters/AllTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Drafts": {
            "title": "$:/core/ui/MoreSideBar/Drafts",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Drafts/Caption}}",
            "text": "<$list filter={{$:/core/Filters/Drafts!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Missing": {
            "title": "$:/core/ui/MoreSideBar/Missing",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Missing/Caption}}",
            "text": "<$list filter={{$:/core/Filters/Missing!!filter}} template=\"$:/core/ui/MissingTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Orphans": {
            "title": "$:/core/ui/MoreSideBar/Orphans",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Orphans/Caption}}",
            "text": "<$list filter={{$:/core/Filters/Orphans!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Recent": {
            "title": "$:/core/ui/MoreSideBar/Recent",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Recent/Caption}}",
            "text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
        },
        "$:/core/ui/MoreSideBar/Shadows": {
            "title": "$:/core/ui/MoreSideBar/Shadows",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Shadows/Caption}}",
            "text": "<$list filter={{$:/core/Filters/ShadowTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/System": {
            "title": "$:/core/ui/MoreSideBar/System",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/System/Caption}}",
            "text": "<$list filter={{$:/core/Filters/SystemTiddlers!!filter}} template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/MoreSideBar/Tags": {
            "title": "$:/core/ui/MoreSideBar/Tags",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Tags/Caption}}",
            "text": "<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n{{$:/core/ui/Buttons/tag-manager}}\n\n</$set>\n\n</$set>\n\n</$set>\n\n<$list filter={{$:/core/Filters/AllTags!!filter}}>\n\n<$transclude tiddler=\"$:/core/ui/TagTemplate\"/>\n\n</$list>\n\n<hr class=\"tc-untagged-separator\">\n\n{{$:/core/ui/UntaggedTemplate}}\n"
        },
        "$:/core/ui/MoreSideBar/Types": {
            "title": "$:/core/ui/MoreSideBar/Types",
            "tags": "$:/tags/MoreSideBar",
            "caption": "{{$:/language/SideBar/Types/Caption}}",
            "text": "<$list filter={{$:/core/Filters/TypedTiddlers!!filter}}>\n<div class=\"tc-menu-list-item\">\n<$view field=\"type\"/>\n<$list filter=\"[type{!!type}!is[system]sort[title]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}><$view field=\"title\"/></$link>\n</div>\n</$list>\n</div>\n</$list>\n"
        },
        "$:/core/ui/Buttons/advanced-search": {
            "title": "$:/core/ui/Buttons/advanced-search",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/advanced-search-button}} {{$:/language/Buttons/AdvancedSearch/Caption}}",
            "description": "{{$:/language/Buttons/AdvancedSearch/Hint}}",
            "text": "\\define control-panel-button(class)\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/advanced-search-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/AdvancedSearch]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
        },
        "$:/core/ui/Buttons/close-all": {
            "title": "$:/core/ui/Buttons/close-all",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/close-all-button}} {{$:/language/Buttons/CloseAll/Caption}}",
            "description": "{{$:/language/Buttons/CloseAll/Hint}}",
            "text": "<$button message=\"tm-close-all-tiddlers\" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/close-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseAll/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/control-panel": {
            "title": "$:/core/ui/Buttons/control-panel",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}}",
            "description": "{{$:/language/Buttons/ControlPanel/Hint}}",
            "text": "\\define control-panel-button(class)\n<$button to=\"$:/ControlPanel\" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/options-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/ControlPanel]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
        },
        "$:/core/ui/Buttons/encryption": {
            "title": "$:/core/ui/Buttons/encryption",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/locked-padlock}} {{$:/language/Buttons/Encryption/Caption}}",
            "description": "{{$:/language/Buttons/Encryption/Hint}}",
            "text": "<$reveal type=\"match\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-clear-password\" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/locked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/isEncrypted\" text=\"yes\">\n<$button message=\"tm-set-password\" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/unlocked-padlock}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/></span>\n</$list>\n</$button>\n</$reveal>"
        },
        "$:/core/ui/Buttons/export-page": {
            "title": "$:/core/ui/Buttons/export-page",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}",
            "description": "{{$:/language/Buttons/ExportPage/Hint}}",
            "text": "<$macrocall $name=\"exportButton\" exportFilter=\"[!is[system]sort[title]]\" lingoBase=\"$:/language/Buttons/ExportPage/\"/>"
        },
        "$:/core/ui/Buttons/fold-all": {
            "title": "$:/core/ui/Buttons/fold-all",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/fold-all-button}} {{$:/language/Buttons/FoldAll/Caption}}",
            "description": "{{$:/language/Buttons/FoldAll/Hint}}",
            "text": "<$button tooltip={{$:/language/Buttons/FoldAll/Hint}} aria-label={{$:/language/Buttons/FoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FoldAll/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/full-screen": {
            "title": "$:/core/ui/Buttons/full-screen",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/full-screen-button}} {{$:/language/Buttons/FullScreen/Caption}}",
            "description": "{{$:/language/Buttons/FullScreen/Hint}}",
            "text": "<$button message=\"tm-full-screen\" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/full-screen-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FullScreen/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/home": {
            "title": "$:/core/ui/Buttons/home",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/home-button}} {{$:/language/Buttons/Home/Caption}}",
            "description": "{{$:/language/Buttons/Home/Hint}}",
            "text": "<$button message=\"tm-home\" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/home-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Home/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/import": {
            "title": "$:/core/ui/Buttons/import",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/import-button}} {{$:/language/Buttons/Import/Caption}}",
            "description": "{{$:/language/Buttons/Import/Hint}}",
            "text": "<div class=\"tc-file-input-wrapper\">\n<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/import-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Import/Caption}}/></span>\n</$list>\n</$button>\n<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>\n</div>"
        },
        "$:/core/ui/Buttons/language": {
            "title": "$:/core/ui/Buttons/language",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}",
            "description": "{{$:/language/Buttons/Language/Hint}}",
            "text": "\\define flag-title()\n$(languagePluginTitle)$/icon\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/language\">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value={{$:/language}}>\n<$image source=<<flag-title>>/>\n</$set>\n</span>\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Language/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/language\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down tc-drop-down-language-chooser\">\n<$linkcatcher to=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<$link>\n<span class=\"tc-drop-down-bullet\">\n<$reveal type=\"match\" state=\"$:/language\" text=<<currentTiddler>>>\n&bull;\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/language\" text=<<currentTiddler>>>\n&nbsp;\n</$reveal>\n</span>\n<span class=\"tc-image-button\">\n<$set name=\"languagePluginTitle\" value=<<currentTiddler>>>\n<$transclude subtiddler=<<flag-title>>>\n<$list filter=\"[all[current]field:title[$:/languages/en-GB]]\">\n<$transclude tiddler=\"$:/languages/en-GB/icon\"/>\n</$list>\n</$transclude>\n</$set>\n</span>\n<$view field=\"description\">\n<$view field=\"name\">\n<$view field=\"title\"/>\n</$view>\n</$view>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>"
        },
        "$:/core/ui/Buttons/more-page-actions": {
            "title": "$:/core/ui/Buttons/more-page-actions",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
            "description": "{{$:/language/Buttons/More/Hint}}",
            "text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button><$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
        },
        "$:/core/ui/Buttons/new-image": {
            "title": "$:/core/ui/Buttons/new-image",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/new-image-button}} {{$:/language/Buttons/NewImage/Caption}}",
            "description": "{{$:/language/Buttons/NewImage/Hint}}",
            "text": "<$button tooltip={{$:/language/Buttons/NewImage/Hint}} aria-label={{$:/language/Buttons/NewImage/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" type=\"image/jpeg\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-image-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewImage/Caption}}/></span>\n</$list>\n</$button>\n"
        },
        "$:/core/ui/Buttons/new-journal": {
            "title": "$:/core/ui/Buttons/new-journal",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournal/Caption}}",
            "description": "{{$:/language/Buttons/NewJournal/Hint}}",
            "text": "\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<now \"$(journalTitleTemplate)$\">> tags=\"$(journalTags)$\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournal/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<<journalButton>>\n</$set></$set>"
        },
        "$:/core/ui/Buttons/new-tiddler": {
            "title": "$:/core/ui/Buttons/new-tiddler",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/new-button}} {{$:/language/Buttons/NewTiddler/Caption}}",
            "description": "{{$:/language/Buttons/NewTiddler/Hint}}",
            "text": "<$button message=\"tm-new-tiddler\" tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewTiddler/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/palette": {
            "title": "$:/core/ui/Buttons/palette",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/palette}} {{$:/language/Buttons/Palette/Caption}}",
            "description": "{{$:/language/Buttons/Palette/Hint}}",
            "text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/palette\">> tooltip={{$:/language/Buttons/Palette/Hint}} aria-label={{$:/language/Buttons/Palette/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/palette}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Palette/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/palette\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\" style=\"font-size:0.7em;\">\n{{$:/snippets/paletteswitcher}}\n</div>\n</$reveal>"
        },
        "$:/core/ui/Buttons/refresh": {
            "title": "$:/core/ui/Buttons/refresh",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/refresh-button}} {{$:/language/Buttons/Refresh/Caption}}",
            "description": "{{$:/language/Buttons/Refresh/Hint}}",
            "text": "<$button message=\"tm-browser-refresh\" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/refresh-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Refresh/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/save-wiki": {
            "title": "$:/core/ui/Buttons/save-wiki",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Caption}}",
            "description": "{{$:/language/Buttons/SaveWiki/Hint}}",
            "text": "<$button message=\"tm-save-wiki\" param={{$:/config/SaveWikiButton/Template}} tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<<tv-config-toolbar-class>>>\n<span class=\"tc-dirty-indicator\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/save-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/SaveWiki/Caption}}/></span>\n</$list>\n</span>\n</$button>"
        },
        "$:/core/ui/Buttons/storyview": {
            "title": "$:/core/ui/Buttons/storyview",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/storyview-classic}} {{$:/language/Buttons/StoryView/Caption}}",
            "description": "{{$:/language/Buttons/StoryView/Hint}}",
            "text": "\\define icon()\n$:/core/images/storyview-$(storyview)$\n\\end\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/storyview\">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n<$set name=\"storyview\" value={{$:/view}}>\n<$transclude tiddler=<<icon>>/>\n</$set>\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/storyview\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/view\">\n<$list filter=\"[storyviews[]]\" variable=\"storyview\">\n<$link to=<<storyview>>>\n<span class=\"tc-drop-down-bullet\">\n<$reveal type=\"match\" state=\"$:/view\" text=<<storyview>>>\n&bull;\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/view\" text=<<storyview>>>\n&nbsp;\n</$reveal>\n</span>\n<$transclude tiddler=<<icon>>/>\n<$text text=<<storyview>>/></$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>"
        },
        "$:/core/ui/Buttons/tag-manager": {
            "title": "$:/core/ui/Buttons/tag-manager",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}}",
            "description": "{{$:/language/Buttons/TagManager/Hint}}",
            "text": "\\define control-panel-button(class)\n<$button to=\"$:/TagManager\" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=\"\"\"$(tv-config-toolbar-class)$ $class$\"\"\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/tag-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/TagManager/Caption}}/></span>\n</$list>\n</$button>\n\\end\n\n<$list filter=\"[list[$:/StoryList]] +[field:title[$:/TagManager]]\" emptyMessage=<<control-panel-button>>>\n<<control-panel-button \"tc-selected\">>\n</$list>\n"
        },
        "$:/core/ui/Buttons/theme": {
            "title": "$:/core/ui/Buttons/theme",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}}",
            "description": "{{$:/language/Buttons/Theme/Hint}}",
            "text": "<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/theme\">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/theme-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/theme\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\" variable=\"themeTitle\">\n<$link to=<<themeTitle>>>\n<span class=\"tc-drop-down-bullet\">\n<$reveal type=\"match\" state=\"$:/theme\" text=<<themeTitle>>>\n&bull;\n</$reveal>\n<$reveal type=\"nomatch\" state=\"$:/theme\" text=<<themeTitle>>>\n&nbsp;\n</$reveal>\n</span>\n<$view tiddler=<<themeTitle>> field=\"name\"/>\n</$link>\n</$list>\n</$linkcatcher>\n</div>\n</$reveal>"
        },
        "$:/core/ui/Buttons/unfold-all": {
            "title": "$:/core/ui/Buttons/unfold-all",
            "tags": "$:/tags/PageControls",
            "caption": "{{$:/core/images/unfold-all-button}} {{$:/language/Buttons/UnfoldAll/Caption}}",
            "description": "{{$:/language/Buttons/UnfoldAll/Hint}}",
            "text": "<$button tooltip={{$:/language/Buttons/UnfoldAll/Hint}} aria-label={{$:/language/Buttons/UnfoldAll/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-unfold-all-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-all-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/UnfoldAll/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/PageTemplate/pagecontrols": {
            "title": "$:/core/ui/PageTemplate/pagecontrols",
            "text": "\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-page-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n<$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\">\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n</$reveal>\n</$list>\n</div>\n\n"
        },
        "$:/core/ui/PageStylesheet": {
            "title": "$:/core/ui/PageStylesheet",
            "text": "<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\n</$set>\n\n</$set>\n\n</$importvariables>\n"
        },
        "$:/core/ui/PageTemplate/alerts": {
            "title": "$:/core/ui/PageTemplate/alerts",
            "tags": "$:/tags/PageTemplate",
            "text": "<div class=\"tc-alerts\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Alert]!has[draft.of]]\" template=\"$:/core/ui/AlertTemplate\" storyview=\"pop\"/>\n\n</div>\n"
        },
        "$:/core/ui/PageTemplate/pluginreloadwarning": {
            "title": "$:/core/ui/PageTemplate/pluginreloadwarning",
            "tags": "$:/tags/PageTemplate",
            "text": "\\define lingo-base() $:/language/\n\n<$list filter=\"[has[plugin-type]haschanged[]!plugin-type[import]limit[1]]\">\n\n<$reveal type=\"nomatch\" state=\"$:/temp/HidePluginWarning\" text=\"yes\">\n\n<div class=\"tc-plugin-reload-warning\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<<lingo PluginReloadWarning>> <$button set=\"$:/temp/HidePluginWarning\" setTo=\"yes\" class=\"tc-btn-invisible\">{{$:/core/images/close-button}}</$button>\n\n</$set>\n\n</div>\n\n</$reveal>\n\n</$list>\n"
        },
        "$:/core/ui/PageTemplate/sidebar": {
            "title": "$:/core/ui/PageTemplate/sidebar",
            "tags": "$:/tags/PageTemplate",
            "text": "<$scrollable fallthrough=\"no\" class=\"tc-sidebar-scrollable\">\n\n<div class=\"tc-sidebar-header\">\n\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\" retain=\"yes\" animate=\"yes\">\n\n<h1 class=\"tc-site-title\">\n\n<$transclude tiddler=\"$:/SiteTitle\" mode=\"inline\"/>\n\n</h1>\n\n<div class=\"tc-site-subtitle\">\n\n<$transclude tiddler=\"$:/SiteSubtitle\" mode=\"inline\"/>\n\n</div>\n\n{{||$:/core/ui/PageTemplate/pagecontrols}}\n\n<$transclude tiddler=\"$:/core/ui/SideBarLists\" mode=\"inline\"/>\n\n</$reveal>\n\n</div>\n\n</$scrollable>"
        },
        "$:/core/ui/PageTemplate/story": {
            "title": "$:/core/ui/PageTemplate/story",
            "tags": "$:/tags/PageTemplate",
            "text": "<section class=\"tc-story-river\">\n\n<section class=\"story-backdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" template=\"$:/core/ui/ViewTemplate\" editTemplate=\"$:/core/ui/EditTemplate\" storyview={{$:/view}} emptyMessage={{$:/config/EmptyStoryMessage}}/>\n\n<section class=\"story-frontdrop\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/BelowStory]!has[draft.of]]\">\n\n<$transclude/>\n\n</$list>\n\n</section>\n\n</section>\n"
        },
        "$:/core/ui/PageTemplate/topleftbar": {
            "title": "$:/core/ui/PageTemplate/topleftbar",
            "tags": "$:/tags/PageTemplate",
            "text": "<span class=\"tc-topbar tc-topbar-left\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopLeftBar]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
        },
        "$:/core/ui/PageTemplate/toprightbar": {
            "title": "$:/core/ui/PageTemplate/toprightbar",
            "tags": "$:/tags/PageTemplate",
            "text": "<span class=\"tc-topbar tc-topbar-right\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TopRightBar]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$list>\n\n</span>\n"
        },
        "$:/core/ui/PageTemplate": {
            "title": "$:/core/ui/PageTemplate",
            "text": "\\define containerClasses()\ntc-page-container tc-page-view-$(themeTitle)$ tc-language-$(languageTitle)$\n\\end\n\n<$importvariables filter=\"[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]\">\n\n<$set name=\"tv-config-toolbar-icons\" value={{$:/config/Toolbar/Icons}}>\n\n<$set name=\"tv-config-toolbar-text\" value={{$:/config/Toolbar/Text}}>\n\n<$set name=\"tv-config-toolbar-class\" value={{$:/config/Toolbar/ButtonClass}}>\n\n<$set name=\"themeTitle\" value={{$:/view}}>\n\n<$set name=\"currentTiddler\" value={{$:/language}}>\n\n<$set name=\"languageTitle\" value={{!!name}}>\n\n<$set name=\"currentTiddler\" value=\"\">\n\n<div class=<<containerClasses>>>\n\n<$navigator story=\"$:/StoryList\" history=\"$:/HistoryList\" openLinkFromInsideRiver={{$:/config/Navigation/openLinkFromInsideRiver}} openLinkFromOutsideRiver={{$:/config/Navigation/openLinkFromOutsideRiver}}>\n\n<$dropzone>\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageTemplate]!has[draft.of]]\" variable=\"listItem\">\n\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n\n</$dropzone>\n\n</$navigator>\n\n</div>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</$importvariables>\n"
        },
        "$:/core/ui/PluginInfo": {
            "title": "$:/core/ui/PluginInfo",
            "text": "\\define localised-info-tiddler-title()\n$(currentTiddler)$/$(languageTitle)$/$(currentTab)$\n\\end\n\\define info-tiddler-title()\n$(currentTiddler)$/$(currentTab)$\n\\end\n<$transclude tiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<localised-info-tiddler-title>> mode=\"block\">\n<$transclude tiddler=<<currentTiddler>> subtiddler=<<info-tiddler-title>> mode=\"block\">\n{{$:/language/ControlPanel/Plugin/NoInfoFound/Hint}}\n</$transclude>\n</$transclude>\n</$transclude>\n"
        },
        "$:/core/ui/SearchResults": {
            "title": "$:/core/ui/SearchResults",
            "text": "<div class=\"tc-search-results\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]\" emptyMessage=\"\"\"\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\">\n<$transclude mode=\"block\"/>\n</$list>\n\"\"\">\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]\" default={{$:/config/SearchResults/Default}}/>\n\n</$list>\n\n</div>\n"
        },
        "$:/core/ui/SideBar/More": {
            "title": "$:/core/ui/SideBar/More",
            "tags": "$:/tags/SideBar",
            "caption": "{{$:/language/SideBar/More/Caption}}",
            "text": "<div class=\"tc-more-sidebar\">\n<<tabs \"[all[shadows+tiddlers]tag[$:/tags/MoreSideBar]!has[draft.of]]\" \"$:/core/ui/MoreSideBar/Tags\" \"$:/state/tab/moresidebar\" \"tc-vertical\">>\n</div>\n"
        },
        "$:/core/ui/SideBar/Open": {
            "title": "$:/core/ui/SideBar/Open",
            "tags": "$:/tags/SideBar",
            "caption": "{{$:/language/SideBar/Open/Caption}}",
            "text": "\\define lingo-base() $:/language/CloseAll/\n<$list filter=\"[list[$:/StoryList]]\" history=\"$:/HistoryList\" storyview=\"pop\">\n\n<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=\"tc-btn-invisible tc-btn-mini\">&times;</$button> <$link to={{!!title}}><$view field=\"title\"/></$link>\n\n</$list>\n\n<$button message=\"tm-close-all-tiddlers\" class=\"tc-btn-invisible tc-btn-mini\"><<lingo Button>></$button>\n"
        },
        "$:/core/ui/SideBar/Recent": {
            "title": "$:/core/ui/SideBar/Recent",
            "tags": "$:/tags/SideBar",
            "caption": "{{$:/language/SideBar/Recent/Caption}}",
            "text": "<$macrocall $name=\"timeline\" format={{$:/language/RecentChanges/DateFormat}}/>\n"
        },
        "$:/core/ui/SideBar/Tools": {
            "title": "$:/core/ui/SideBar/Tools",
            "tags": "$:/tags/SideBar",
            "caption": "{{$:/language/SideBar/Tools/Caption}}",
            "text": "\\define lingo-base() $:/language/ControlPanel/\n\\define config-title()\n$:/config/PageControlButtons/Visibility/$(listItem)$\n\\end\n\n<<lingo Basics/Version/Prompt>> <<version>>\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]\" variable=\"listItem\">\n\n<div style=\"position:relative;\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</div>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/SideBarLists": {
            "title": "$:/core/ui/SideBarLists",
            "text": "<div class=\"tc-sidebar-lists\">\n\n<$set name=\"searchTiddler\" value=\"$:/temp/search\">\n<div class=\"tc-search\">\n<$edit-text tiddler=\"$:/temp/search\" type=\"search\" tag=\"input\" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-popup-handle\"/>\n<$reveal state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/advancedsearch\" text={{$:/temp/search}}/>\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\"/>\n<$action-navigate $to=\"$:/AdvancedSearch\"/>\n{{$:/core/images/advanced-search-button}}\n</$button>\n<$button class=\"tc-btn-invisible\">\n<$action-setfield $tiddler=\"$:/temp/search\" text=\"\" />\n{{$:/core/images/close-button}}\n</$button>\n<$button popup=<<qualify \"$:/state/popup/search-dropdown\">> class=\"tc-btn-invisible\">\n<$set name=\"resultCount\" value=\"\"\"<$count filter=\"[!is[system]search{$(searchTiddler)$}]\"/>\"\"\">\n{{$:/core/images/down-arrow}} {{$:/language/Search/Matches}}\n</$set>\n</$button>\n</$reveal>\n<$reveal state=\"$:/temp/search\" type=\"match\" text=\"\">\n<$button to=\"$:/AdvancedSearch\" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=\"tc-btn-invisible\">\n{{$:/core/images/advanced-search-button}}\n</$button>\n</$reveal>\n</div>\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown-wrapper\" state=\"$:/temp/search\" type=\"nomatch\" text=\"\">\n\n<$reveal tag=\"div\" class=\"tc-block-dropdown tc-search-drop-down tc-popup-handle\" state=<<qualify \"$:/state/popup/search-dropdown\">> type=\"nomatch\" text=\"\" default=\"\">\n\n{{$:/core/ui/SearchResults}}\n\n</$reveal>\n\n</$reveal>\n\n</$set>\n\n<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/SideBar]!has[draft.of]]\" default={{$:/config/DefaultSidebarTab}} state=\"$:/state/tab/sidebar\" />\n\n</div>\n"
        },
        "$:/TagManager": {
            "title": "$:/TagManager",
            "icon": "$:/core/images/tag-button",
            "color": "#bbb",
            "text": "\\define lingo-base() $:/language/TagManager/\n\\define iconEditorTab(type)\n<$list filter=\"[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]\">\n<$link to={{!!title}}>\n<$transclude/> <$view field=\"title\"/>\n</$link>\n</$list>\n\\end\n\\define iconEditor(title)\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/icon/$title$\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/icon/$title$\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$linkcatcher to=\"$title$!!icon\">\n<<iconEditorTab type:\"!\">>\n<hr/>\n<<iconEditorTab type:\"\">>\n</$linkcatcher>\n</div>\n</$reveal>\n</div>\n\\end\n\\define qualifyTitle(title)\n$title$$(currentTiddler)$\n\\end\n\\define toggleButton(state)\n<$reveal state=\"$state$\" type=\"match\" text=\"closed\" default=\"closed\">\n<$button set=\"$state$\" setTo=\"open\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n<$reveal state=\"$state$\" type=\"match\" text=\"open\" default=\"closed\">\n<$button set=\"$state$\" setTo=\"closed\" class=\"tc-btn-invisible tc-btn-dropdown\" selectedClass=\"tc-selected\">\n{{$:/core/images/info-button}}\n</$button>\n</$reveal>\n\\end\n<table class=\"tc-tag-manager-table\">\n<tbody>\n<tr>\n<th><<lingo Colour/Heading>></th>\n<th class=\"tc-tag-manager-tag\"><<lingo Tag/Heading>></th>\n<th><<lingo Count/Heading>></th>\n<th><<lingo Icon/Heading>></th>\n<th><<lingo Info/Heading>></th>\n</tr>\n<$list filter=\"[tags[]!is[system]sort[title]]\">\n<tr>\n<td><$edit-text field=\"color\" tag=\"input\" type=\"color\"/></td>\n<td><$transclude tiddler=\"$:/core/ui/TagTemplate\"/></td>\n<td><$count filter=\"[all[current]tagging[]]\"/></td>\n<td>\n<$macrocall $name=\"iconEditor\" title={{!!title}}/>\n</td>\n<td>\n<$macrocall $name=\"toggleButton\" state=<<qualifyTitle \"$:/state/tag-manager/\">> /> \n</td>\n</tr>\n<tr>\n<td></td>\n<td colspan=\"4\">\n<$reveal state=<<qualifyTitle \"$:/state/tag-manager/\">> type=\"match\" text=\"open\" default=\"\">\n<table>\n<tbody>\n<tr><td><<lingo Colour/Heading>></td><td><$edit-text field=\"color\" tag=\"input\" type=\"text\" size=\"9\"/></td></tr>\n<tr><td><<lingo Icon/Heading>></td><td><$edit-text field=\"icon\" tag=\"input\" size=\"45\"/></td></tr>\n</tbody>\n</table>\n</$reveal>\n</td>\n</tr>\n</$list>\n<tr>\n<td></td>\n<td>\n{{$:/core/ui/UntaggedTemplate}}\n</td>\n<td>\n<small class=\"tc-menu-list-count\"><$count filter=\"[untagged[]!is[system]] -[tags[]]\"/></small>\n</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/TagTemplate": {
            "title": "$:/core/ui/TagTemplate",
            "text": "\\define tag-styles()\nbackground-color:$(backgroundColor)$;\nfill:$(foregroundColor)$;\ncolor:$(foregroundColor)$;\n\\end\n\n\\define tag-body-inner(colour,fallbackTarget,colourA,colourB)\n<$vars foregroundColor=<<contrastcolour target:\"\"\"$colour$\"\"\" fallbackTarget:\"\"\"$fallbackTarget$\"\"\" colourA:\"\"\"$colourA$\"\"\" colourB:\"\"\"$colourB$\"\"\">> backgroundColor=\"\"\"$colour$\"\"\">\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-tag-label\" style=<<tag-styles>>>\n<$transclude tiddler={{!!icon}}/> <$view field=\"title\" format=\"text\" />\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\" animate=\"yes\" class=\"tc-drop-down\"><$transclude tiddler=\"$:/core/ui/ListItemTemplate\"/>\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TagDropdown]!has[draft.of]]\" variable=\"listItem\"> \n<$transclude tiddler=<<listItem>>/> \n</$list> \n<hr>\n<$list filter=\"[all[current]tagging[]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</$reveal>\n</$vars>\n\\end\n\n\\define tag-body(colour,palette)\n<span class=\"tc-tag-list-item\">\n<$macrocall $name=\"tag-body-inner\" colour=\"\"\"$colour$\"\"\" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}}/>\n</span>\n\\end\n\n<$macrocall $name=\"tag-body\" colour={{!!color}} palette={{$:/palette}}/>\n"
        },
        "$:/core/ui/TiddlerFieldTemplate": {
            "title": "$:/core/ui/TiddlerFieldTemplate",
            "text": "<tr class=\"tc-view-field\">\n<td class=\"tc-view-field-name\">\n<$text text=<<listItem>>/>\n</td>\n<td class=\"tc-view-field-value\">\n<$view field=<<listItem>>/>\n</td>\n</tr>"
        },
        "$:/core/ui/TiddlerFields": {
            "title": "$:/core/ui/TiddlerFields",
            "text": "<table class=\"tc-view-field-table\">\n<tbody>\n<$list filter=\"[all[current]fields[]sort[title]] -text\" template=\"$:/core/ui/TiddlerFieldTemplate\" variable=\"listItem\"/>\n</tbody>\n</table>\n"
        },
        "$:/core/ui/TiddlerInfo/Advanced/PluginInfo": {
            "title": "$:/core/ui/TiddlerInfo/Advanced/PluginInfo",
            "tags": "$:/tags/TiddlerInfo/Advanced",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/PluginInfo/\n<$list filter=\"[all[current]has[plugin-type]]\">\n\n! <<lingo Heading>>\n\n<<lingo Hint>>\n<ul>\n<$list filter=\"[all[current]plugintiddlers[]sort[title]]\" emptyMessage=<<lingo Empty/Hint>>>\n<li>\n<$link to={{!!title}}>\n<$view field=\"title\"/>\n</$link>\n</li>\n</$list>\n</ul>\n\n</$list>\n"
        },
        "$:/core/ui/TiddlerInfo/Advanced/ShadowInfo": {
            "title": "$:/core/ui/TiddlerInfo/Advanced/ShadowInfo",
            "tags": "$:/tags/TiddlerInfo/Advanced",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/Advanced/ShadowInfo/\n<$set name=\"infoTiddler\" value=<<currentTiddler>>>\n\n''<<lingo Heading>>''\n\n<$list filter=\"[all[current]!is[shadow]]\">\n\n<<lingo NotShadow/Hint>>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]]\">\n\n<<lingo Shadow/Hint>>\n\n<$list filter=\"[all[current]shadowsource[]]\">\n\n<$set name=\"pluginTiddler\" value=<<currentTiddler>>>\n<<lingo Shadow/Source>>\n</$set>\n\n</$list>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\">\n\n<<lingo OverriddenShadow/Hint>>\n\n</$list>\n\n\n</$list>\n</$set>\n"
        },
        "$:/core/ui/TiddlerInfo/Advanced": {
            "title": "$:/core/ui/TiddlerInfo/Advanced",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/Advanced/Caption}}",
            "text": "<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo/Advanced]!has[draft.of]]\" variable=\"listItem\">\n<$transclude tiddler=<<listItem>>/>\n\n</$list>\n"
        },
        "$:/core/ui/TiddlerInfo/Fields": {
            "title": "$:/core/ui/TiddlerInfo/Fields",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/Fields/Caption}}",
            "text": "<$transclude tiddler=\"$:/core/ui/TiddlerFields\"/>\n"
        },
        "$:/core/ui/TiddlerInfo/List": {
            "title": "$:/core/ui/TiddlerInfo/List",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/List/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[list{!!title}]\" emptyMessage=<<lingo List/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/TiddlerInfo/Listed": {
            "title": "$:/core/ui/TiddlerInfo/Listed",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/Listed/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]listed[]!is[system]]\" emptyMessage=<<lingo Listed/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/TiddlerInfo/References": {
            "title": "$:/core/ui/TiddlerInfo/References",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/References/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]backlinks[]sort[title]]\" emptyMessage=<<lingo References/Empty>> template=\"$:/core/ui/ListItemTemplate\">\n</$list>\n"
        },
        "$:/core/ui/TiddlerInfo/Tagging": {
            "title": "$:/core/ui/TiddlerInfo/Tagging",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/Tagging/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n<$list filter=\"[all[current]tagging[]]\" emptyMessage=<<lingo Tagging/Empty>> template=\"$:/core/ui/ListItemTemplate\"/>\n"
        },
        "$:/core/ui/TiddlerInfo/Tools": {
            "title": "$:/core/ui/TiddlerInfo/Tools",
            "tags": "$:/tags/TiddlerInfo",
            "caption": "{{$:/language/TiddlerInfo/Tools/Caption}}",
            "text": "\\define lingo-base() $:/language/TiddlerInfo/\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\">\n\n<$checkbox tiddler=<<config-title>> field=\"text\" checked=\"show\" unchecked=\"hide\" default=\"show\"/> <$transclude tiddler=<<listItem>>/> <i class=\"tc-muted\"><$transclude tiddler=<<listItem>> field=\"description\"/></i>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n"
        },
        "$:/core/ui/TiddlerInfo": {
            "title": "$:/core/ui/TiddlerInfo",
            "text": "<$macrocall $name=\"tabs\" tabsList=\"[all[shadows+tiddlers]tag[$:/tags/TiddlerInfo]!has[draft.of]]\" default={{$:/config/TiddlerInfo/Default}}/>"
        },
        "$:/core/ui/TopBar/menu": {
            "title": "$:/core/ui/TopBar/menu",
            "tags": "$:/tags/TopRightBar",
            "text": "<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"no\" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-right}}</$button>\n</$reveal>\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"no\">\n<$button set=\"$:/state/sidebar\" setTo=\"yes\" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class=\"tc-btn-invisible\">{{$:/core/images/chevron-left}}</$button>\n</$reveal>\n"
        },
        "$:/core/ui/UntaggedTemplate": {
            "title": "$:/core/ui/UntaggedTemplate",
            "text": "\\define lingo-base() $:/language/SideBar/\n<$button popup=<<qualify \"$:/state/popup/tag\">> class=\"tc-btn-invisible tc-untagged-label tc-tag-label\">\n<<lingo Tags/Untagged/Caption>>\n</$button>\n<$reveal state=<<qualify \"$:/state/popup/tag\">> type=\"popup\" position=\"below\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[untagged[]!is[system]] -[tags[]] +[sort[title]]\" template=\"$:/core/ui/ListItemTemplate\"/>\n</div>\n</$reveal>\n"
        },
        "$:/core/ui/ViewTemplate/body": {
            "title": "$:/core/ui/ViewTemplate/body",
            "tags": "$:/tags/ViewTemplate",
            "text": "<$reveal tag=\"div\" class=\"tc-tiddler-body\" type=\"nomatch\" state=<<folded-state>> text=\"hide\" retain=\"yes\" animate=\"yes\">\n\n<$list filter=\"[all[current]!has[plugin-type]!field:hide-body[yes]]\">\n\n<$transclude>\n\n<$transclude tiddler=\"$:/language/MissingTiddler/Hint\"/>\n\n</$transclude>\n\n</$list>\n\n</$reveal>\n"
        },
        "$:/core/ui/ViewTemplate/classic": {
            "title": "$:/core/ui/ViewTemplate/classic",
            "tags": "$:/tags/ViewTemplate $:/tags/EditTemplate",
            "text": "\\define lingo-base() $:/language/ClassicWarning/\n<$list filter=\"[all[current]type[text/x-tiddlywiki]]\">\n<div class=\"tc-message-box\">\n\n<<lingo Hint>>\n\n<$button set=\"!!type\" setTo=\"text/vnd.tiddlywiki\"><<lingo Upgrade/Caption>></$button>\n\n</div>\n</$list>\n"
        },
        "$:/core/ui/ViewTemplate/import": {
            "title": "$:/core/ui/ViewTemplate/import",
            "tags": "$:/tags/ViewTemplate",
            "text": "\\define lingo-base() $:/language/Import/\n\n<$list filter=\"[all[current]field:plugin-type[import]]\">\n\n<div class=\"tc-import\">\n\n<<lingo Listing/Hint>>\n\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n\n{{||$:/core/ui/ImportListing}}\n\n<$button message=\"tm-delete-tiddler\" param=<<currentTiddler>>><<lingo Listing/Cancel/Caption>></$button>\n<$button message=\"tm-perform-import\" param=<<currentTiddler>>><<lingo Listing/Import/Caption>></$button>\n\n</div>\n\n</$list>\n"
        },
        "$:/core/ui/ViewTemplate/plugin": {
            "title": "$:/core/ui/ViewTemplate/plugin",
            "tags": "$:/tags/ViewTemplate",
            "text": "<$list filter=\"[all[current]has[plugin-type]] -[all[current]field:plugin-type[import]]\">\n\n{{||$:/core/ui/TiddlerInfo/Advanced/PluginInfo}}\n\n</$list>\n"
        },
        "$:/core/ui/ViewTemplate/subtitle": {
            "title": "$:/core/ui/ViewTemplate/subtitle",
            "tags": "$:/tags/ViewTemplate",
            "text": "<$reveal type=\"nomatch\" state=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-subtitle\">\n<$link to={{!!modifier}}>\n<$view field=\"modifier\"/>\n</$link> <$view field=\"modified\" format=\"date\" template={{$:/language/Tiddler/DateFormat}}/>\n</div>\n</$reveal>\n"
        },
        "$:/core/ui/ViewTemplate/tags": {
            "title": "$:/core/ui/ViewTemplate/tags",
            "tags": "$:/tags/ViewTemplate",
            "text": "<$reveal type=\"nomatch\" state=<<folded-state>> text=\"hide\" tag=\"div\" retain=\"yes\" animate=\"yes\">\n<div class=\"tc-tags-wrapper\"><$list filter=\"[all[current]tags[]sort[title]]\" template=\"$:/core/ui/TagTemplate\" storyview=\"pop\"/></div>\n</$reveal>"
        },
        "$:/core/ui/ViewTemplate/title": {
            "title": "$:/core/ui/ViewTemplate/title",
            "tags": "$:/tags/ViewTemplate",
            "text": "\\define title-styles()\nfill:$(foregroundColor)$;\n\\end\n\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<div class=\"tc-tiddler-title\">\n<div class=\"tc-titlebar\">\n<span class=\"tc-tiddler-controls\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]\" variable=\"listItem\"><$reveal type=\"nomatch\" state=<<config-title>> text=\"hide\"><$transclude tiddler=<<listItem>>/></$reveal></$list>\n</span>\n<$set name=\"tv-wikilinks\" value={{$:/config/Tiddlers/TitleLinks}}>\n<$link>\n<$set name=\"foregroundColor\" value={{!!color}}>\n<span class=\"tc-tiddler-title-icon\" style=<<title-styles>>>\n<$transclude tiddler={{!!icon}}/>\n</span>\n</$set>\n<$list filter=\"[all[current]removeprefix[$:/]]\">\n<h2 class=\"tc-title\" title={{$:/language/SystemTiddler/Tooltip}}>\n<span class=\"tc-system-title-prefix\">$:/</span><$text text=<<currentTiddler>>/>\n</h2>\n</$list>\n<$list filter=\"[all[current]!prefix[$:/]]\">\n<h2 class=\"tc-title\">\n<$view field=\"title\"/>\n</h2>\n</$list>\n</$link>\n</$set>\n</div>\n\n<$reveal type=\"nomatch\" text=\"\" default=\"\" state=<<tiddlerInfoState>> class=\"tc-tiddler-info tc-popup-handle\" animate=\"yes\" retain=\"yes\">\n\n<$transclude tiddler=\"$:/core/ui/TiddlerInfo\"/>\n\n</$reveal>\n</div>"
        },
        "$:/core/ui/ViewTemplate/unfold": {
            "title": "$:/core/ui/ViewTemplate/unfold",
            "tags": "$:/tags/ViewTemplate",
            "text": "<$reveal tag=\"div\" type=\"nomatch\" state=\"$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar\" text=\"hide\">\n<$reveal tag=\"div\" type=\"nomatch\" state=<<folded-state>> text=\"hide\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=\"tc-fold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-up}}\n</$button>\n</$reveal>\n<$reveal tag=\"div\" type=\"nomatch\" state=<<folded-state>> text=\"show\" default=\"show\" retain=\"yes\" animate=\"yes\">\n<$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=\"tc-unfold-banner\">\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n{{$:/core/images/chevron-down}}\n</$button>\n</$reveal>\n</$reveal>\n"
        },
        "$:/core/ui/ViewTemplate": {
            "title": "$:/core/ui/ViewTemplate",
            "text": "\\define frame-classes()\ntc-tiddler-frame tc-tiddler-view-frame $(missingTiddlerClass)$ $(shadowTiddlerClass)$ $(systemTiddlerClass)$ $(tiddlerTagClasses)$\n\\end\n\\define folded-state()\n$:/state/folded/$(currentTiddler)$\n\\end\n<$set name=\"storyTiddler\" value=<<currentTiddler>>><$set name=\"tiddlerInfoState\" value=<<qualify \"$:/state/popup/tiddler-info\">>><$tiddler tiddler=<<currentTiddler>>><div class=<<frame-classes>>><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewTemplate]!has[draft.of]]\" variable=\"listItem\"><$transclude tiddler=<<listItem>>/></$list>\n</div>\n</$tiddler></$set></$set>\n"
        },
        "$:/core/ui/Buttons/clone": {
            "title": "$:/core/ui/Buttons/clone",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/clone-button}} {{$:/language/Buttons/Clone/Caption}}",
            "description": "{{$:/language/Buttons/Clone/Hint}}",
            "text": "<$button message=\"tm-new-tiddler\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/clone-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Clone/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/close-others": {
            "title": "$:/core/ui/Buttons/close-others",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/close-others-button}} {{$:/language/Buttons/CloseOthers/Caption}}",
            "description": "{{$:/language/Buttons/CloseOthers/Hint}}",
            "text": "<$button message=\"tm-close-other-tiddlers\" param=<<currentTiddler>> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/close-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/CloseOthers/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/close": {
            "title": "$:/core/ui/Buttons/close",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/close-button}} {{$:/language/Buttons/Close/Caption}}",
            "description": "{{$:/language/Buttons/Close/Hint}}",
            "text": "<$button message=\"tm-close-tiddler\" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/close-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Close/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/edit": {
            "title": "$:/core/ui/Buttons/edit",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/edit-button}} {{$:/language/Buttons/Edit/Caption}}",
            "description": "{{$:/language/Buttons/Edit/Hint}}",
            "text": "<$button message=\"tm-edit-tiddler\" tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/edit-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Edit/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/export-tiddler": {
            "title": "$:/core/ui/Buttons/export-tiddler",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}",
            "description": "{{$:/language/Buttons/ExportTiddler/Hint}}",
            "text": "\\define makeExportFilter()\n[[$(currentTiddler)$]]\n\\end\n<$macrocall $name=\"exportButton\" exportFilter=<<makeExportFilter>> lingoBase=\"$:/language/Buttons/ExportTiddler/\" baseFilename=<<currentTiddler>>/>"
        },
        "$:/core/ui/Buttons/fold-bar": {
            "title": "$:/core/ui/Buttons/fold-bar",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/language/Buttons/Fold/FoldBar/Caption}}",
            "description": "{{$:/language/Buttons/Fold/FoldBar/Hint}}",
            "text": "<!-- This dummy toolbar button is here to allow visibility of the fold-bar to be controlled as if it were a toolbar button -->"
        },
        "$:/core/ui/Buttons/fold-others": {
            "title": "$:/core/ui/Buttons/fold-others",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/fold-others-button}} {{$:/language/Buttons/FoldOthers/Caption}}",
            "description": "{{$:/language/Buttons/FoldOthers/Hint}}",
            "text": "<$button tooltip={{$:/language/Buttons/FoldOthers/Hint}} aria-label={{$:/language/Buttons/FoldOthers/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-other-tiddlers\" $param=<<currentTiddler>> foldedStatePrefix=\"$:/state/folded/\"/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-others-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/FoldOthers/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/fold": {
            "title": "$:/core/ui/Buttons/fold",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/fold-button}} {{$:/language/Buttons/Fold/Caption}}",
            "description": "{{$:/language/Buttons/Fold/Hint}}",
            "text": "<$reveal type=\"nomatch\" state=<<folded-state>> text=\"hide\" default=\"show\"><$button tooltip={{$:/language/Buttons/Fold/Hint}} aria-label={{$:/language/Buttons/Fold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/fold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Fold/Caption}}/>\n</span>\n</$list>\n</$button></$reveal><$reveal type=\"match\" state=<<folded-state>> text=\"hide\" default=\"show\"><$button tooltip={{$:/language/Buttons/Unfold/Hint}} aria-label={{$:/language/Buttons/Unfold/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-fold-tiddler\" $param=<<currentTiddler>> foldedState=<<folded-state>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\" variable=\"listItem\">\n{{$:/core/images/unfold-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\">\n<$text text={{$:/language/Buttons/Unfold/Caption}}/>\n</span>\n</$list>\n</$button></$reveal>"
        },
        "$:/core/ui/Buttons/info": {
            "title": "$:/core/ui/Buttons/info",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/info-button}} {{$:/language/Buttons/Info/Caption}}",
            "description": "{{$:/language/Buttons/Info/Hint}}",
            "text": "<$button popup=<<tiddlerInfoState>> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/info-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Info/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/more-tiddler-actions": {
            "title": "$:/core/ui/Buttons/more-tiddler-actions",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/down-arrow}} {{$:/language/Buttons/More/Caption}}",
            "description": "{{$:/language/Buttons/More/Hint}}",
            "text": "\\define config-title()\n$:/config/ViewToolbarButtons/Visibility/$(listItem)$\n\\end\n<$button popup=<<qualify \"$:/state/popup/more\">> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/down-arrow}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/More/Caption}}/></span>\n</$list>\n</$button><$reveal state=<<qualify \"$:/state/popup/more\">> type=\"popup\" position=\"below\" animate=\"yes\">\n\n<div class=\"tc-drop-down\">\n\n<$set name=\"tv-config-toolbar-icons\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-text\" value=\"yes\">\n\n<$set name=\"tv-config-toolbar-class\" value=\"tc-btn-invisible\">\n\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]] -[[$:/core/ui/Buttons/more-tiddler-actions]]\" variable=\"listItem\">\n\n<$reveal type=\"match\" state=<<config-title>> text=\"hide\">\n\n<$transclude tiddler=<<listItem>> mode=\"inline\"/>\n\n</$reveal>\n\n</$list>\n\n</$set>\n\n</$set>\n\n</$set>\n\n</div>\n\n</$reveal>"
        },
        "$:/core/ui/Buttons/new-here": {
            "title": "$:/core/ui/Buttons/new-here",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/new-here-button}} {{$:/language/Buttons/NewHere/Caption}}",
            "description": "{{$:/language/Buttons/NewHere/Hint}}",
            "text": "\\define newHereButtonTags()\n[[$(currentTiddler)$]]\n\\end\n\\define newHereButton()\n<$button tooltip={{$:/language/Buttons/NewHere/Hint}} aria-label={{$:/language/Buttons/NewHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" tags=<<newHereButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-here-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewHere/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<<newHereButton>>"
        },
        "$:/core/ui/Buttons/new-journal-here": {
            "title": "$:/core/ui/Buttons/new-journal-here",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/new-journal-button}} {{$:/language/Buttons/NewJournalHere/Caption}}",
            "description": "{{$:/language/Buttons/NewJournalHere/Hint}}",
            "text": "\\define journalButtonTags()\n[[$(currentTiddlerTag)$]] $(journalTags)$\n\\end\n\\define journalButton()\n<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>\n<$action-sendmessage $message=\"tm-new-tiddler\" title=<<now \"$(journalTitleTemplate)$\">> tags=<<journalButtonTags>>/>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/new-journal-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/NewJournalHere/Caption}}/></span>\n</$list>\n</$button>\n\\end\n<$set name=\"journalTitleTemplate\" value={{$:/config/NewJournal/Title}}>\n<$set name=\"journalTags\" value={{$:/config/NewJournal/Tags}}>\n<$set name=\"currentTiddlerTag\" value=<<currentTiddler>>>\n<<journalButton>>\n</$set></$set></$set>"
        },
        "$:/core/ui/Buttons/open-window": {
            "title": "$:/core/ui/Buttons/open-window",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/open-window}} {{$:/language/Buttons/OpenWindow/Caption}}",
            "description": "{{$:/language/Buttons/OpenWindow/Hint}}",
            "text": "<$button message=\"tm-open-window\" tooltip={{$:/language/Buttons/OpenWindow/Hint}} aria-label={{$:/language/Buttons/OpenWindow/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/open-window}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/OpenWindow/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/permalink": {
            "title": "$:/core/ui/Buttons/permalink",
            "tags": "$:/tags/ViewToolbar",
            "caption": "{{$:/core/images/permalink-button}} {{$:/language/Buttons/Permalink/Caption}}",
            "description": "{{$:/language/Buttons/Permalink/Hint}}",
            "text": "<$button message=\"tm-permalink\" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/permalink-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Permalink/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/core/ui/Buttons/permaview": {
            "title": "$:/core/ui/Buttons/permaview",
            "tags": "$:/tags/ViewToolbar $:/tags/PageControls",
            "caption": "{{$:/core/images/permaview-button}} {{$:/language/Buttons/Permaview/Caption}}",
            "description": "{{$:/language/Buttons/Permaview/Hint}}",
            "text": "<$button message=\"tm-permaview\" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<<tv-config-toolbar-class>>>\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/permaview-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$:/language/Buttons/Permaview/Caption}}/></span>\n</$list>\n</$button>"
        },
        "$:/DefaultTiddlers": {
            "title": "$:/DefaultTiddlers",
            "text": "GettingStarted\n"
        },
        "$:/temp/advancedsearch": {
            "title": "$:/temp/advancedsearch",
            "text": ""
        },
        "$:/snippets/allfields": {
            "title": "$:/snippets/allfields",
            "text": "\\define renderfield(title)\n<tr class=\"tc-view-field\"><td class=\"tc-view-field-name\">''$title$'':</td><td class=\"tc-view-field-value\">//{{$:/language/Docs/Fields/$title$}}//</td></tr>\n\\end\n<table class=\"tc-view-field-table\"><tbody><$list filter=\"[fields[]sort[title]]\" variable=\"listItem\"><$macrocall $name=\"renderfield\" title=<<listItem>>/></$list>\n</tbody></table>\n"
        },
        "$:/config/AnimationDuration": {
            "title": "$:/config/AnimationDuration",
            "text": "400"
        },
        "$:/config/AutoSave": {
            "title": "$:/config/AutoSave",
            "text": "yes"
        },
        "$:/config/BitmapEditor/Colour": {
            "title": "$:/config/BitmapEditor/Colour",
            "text": "#444"
        },
        "$:/config/BitmapEditor/ImageSizes": {
            "title": "$:/config/BitmapEditor/ImageSizes",
            "text": "[[62px 100px]] [[100px 62px]] [[124px 200px]] [[200px 124px]] [[248px 400px]] [[371px 600px]] [[400px 248px]] [[556px 900px]] [[600px 371px]] [[742px 1200px]] [[900px 556px]] [[1200px 742px]]"
        },
        "$:/config/BitmapEditor/LineWidth": {
            "title": "$:/config/BitmapEditor/LineWidth",
            "text": "3px"
        },
        "$:/config/BitmapEditor/LineWidths": {
            "title": "$:/config/BitmapEditor/LineWidths",
            "text": "0.25px 0.5px 1px 2px 3px 4px 6px 8px 10px 16px 20px 28px 40px 56px 80px"
        },
        "$:/config/BitmapEditor/Opacities": {
            "title": "$:/config/BitmapEditor/Opacities",
            "text": "0.01 0.025 0.05 0.075 0.1 0.15 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0"
        },
        "$:/config/BitmapEditor/Opacity": {
            "title": "$:/config/BitmapEditor/Opacity",
            "text": "1.0"
        },
        "$:/config/DefaultSidebarTab": {
            "title": "$:/config/DefaultSidebarTab",
            "text": "$:/core/ui/SideBar/Open"
        },
        "$:/config/Drafts/TypingTimeout": {
            "title": "$:/config/Drafts/TypingTimeout",
            "text": "400"
        },
        "$:/config/EditTemplateFields/Visibility/title": {
            "title": "$:/config/EditTemplateFields/Visibility/title",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/tags": {
            "title": "$:/config/EditTemplateFields/Visibility/tags",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/text": {
            "title": "$:/config/EditTemplateFields/Visibility/text",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/creator": {
            "title": "$:/config/EditTemplateFields/Visibility/creator",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/created": {
            "title": "$:/config/EditTemplateFields/Visibility/created",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/modified": {
            "title": "$:/config/EditTemplateFields/Visibility/modified",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/modifier": {
            "title": "$:/config/EditTemplateFields/Visibility/modifier",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/type": {
            "title": "$:/config/EditTemplateFields/Visibility/type",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/draft.title": {
            "title": "$:/config/EditTemplateFields/Visibility/draft.title",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/draft.of": {
            "title": "$:/config/EditTemplateFields/Visibility/draft.of",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/revision": {
            "title": "$:/config/EditTemplateFields/Visibility/revision",
            "text": "hide"
        },
        "$:/config/EditTemplateFields/Visibility/bag": {
            "title": "$:/config/EditTemplateFields/Visibility/bag",
            "text": "hide"
        },
        "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4": {
            "title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-4",
            "text": "hide"
        },
        "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5": {
            "title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-5",
            "text": "hide"
        },
        "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6": {
            "title": "$:/config/EditorToolbarButtons/Visibility/$:/core/ui/EditorToolbar/heading-6",
            "text": "hide"
        },
        "$:/config/EditorTypeMappings/image/gif": {
            "title": "$:/config/EditorTypeMappings/image/gif",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/jpeg": {
            "title": "$:/config/EditorTypeMappings/image/jpeg",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/jpg": {
            "title": "$:/config/EditorTypeMappings/image/jpg",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/png": {
            "title": "$:/config/EditorTypeMappings/image/png",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/image/x-icon": {
            "title": "$:/config/EditorTypeMappings/image/x-icon",
            "text": "bitmap"
        },
        "$:/config/EditorTypeMappings/text/vnd.tiddlywiki": {
            "title": "$:/config/EditorTypeMappings/text/vnd.tiddlywiki",
            "text": "text"
        },
        "$:/config/MissingLinks": {
            "title": "$:/config/MissingLinks",
            "text": "yes"
        },
        "$:/config/Navigation/UpdateAddressBar": {
            "title": "$:/config/Navigation/UpdateAddressBar",
            "text": "no"
        },
        "$:/config/Navigation/UpdateHistory": {
            "title": "$:/config/Navigation/UpdateHistory",
            "text": "no"
        },
        "$:/config/OfficialPluginLibrary": {
            "title": "$:/config/OfficialPluginLibrary",
            "tags": "$:/tags/PluginLibrary",
            "url": "http://tiddlywiki.com/library/v5.1.13/index.html",
            "caption": "{{$:/language/OfficialPluginLibrary}}",
            "text": "{{$:/language/OfficialPluginLibrary/Hint}}\n"
        },
        "$:/config/Navigation/openLinkFromInsideRiver": {
            "title": "$:/config/Navigation/openLinkFromInsideRiver",
            "text": "below"
        },
        "$:/config/Navigation/openLinkFromOutsideRiver": {
            "title": "$:/config/Navigation/openLinkFromOutsideRiver",
            "text": "top"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/advanced-search",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/encryption",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/export-page",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/fold-all",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/full-screen",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/refresh",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/import",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/tag-manager",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-journal",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/new-image",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/palette",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/permaview",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/storyview",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/theme",
            "text": "hide"
        },
        "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all": {
            "title": "$:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/unfold-all",
            "text": "hide"
        },
        "$:/config/Performance/Instrumentation": {
            "title": "$:/config/Performance/Instrumentation",
            "text": "no"
        },
        "$:/config/SaveWikiButton/Template": {
            "title": "$:/config/SaveWikiButton/Template",
            "text": "$:/core/save/all"
        },
        "$:/config/SaverFilter": {
            "title": "$:/config/SaverFilter",
            "text": "[all[]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[[$:/UploadName]] -[prefix[$:/state/]] -[prefix[$:/temp/]]"
        },
        "$:/config/Search/AutoFocus": {
            "title": "$:/config/Search/AutoFocus",
            "text": "true"
        },
        "$:/config/SearchResults/Default": {
            "title": "$:/config/SearchResults/Default",
            "text": "$:/core/ui/DefaultSearchResultList"
        },
        "$:/config/ShortcutInfo/bold": {
            "title": "$:/config/ShortcutInfo/bold",
            "text": "{{$:/language/Buttons/Bold/Hint}}"
        },
        "$:/config/ShortcutInfo/cancel-edit-tiddler": {
            "title": "$:/config/ShortcutInfo/cancel-edit-tiddler",
            "text": "{{$:/language/Buttons/Cancel/Hint}}"
        },
        "$:/config/ShortcutInfo/excise": {
            "title": "$:/config/ShortcutInfo/excise",
            "text": "{{$:/language/Buttons/Excise/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-1": {
            "title": "$:/config/ShortcutInfo/heading-1",
            "text": "{{$:/language/Buttons/Heading1/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-2": {
            "title": "$:/config/ShortcutInfo/heading-2",
            "text": "{{$:/language/Buttons/Heading2/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-3": {
            "title": "$:/config/ShortcutInfo/heading-3",
            "text": "{{$:/language/Buttons/Heading3/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-4": {
            "title": "$:/config/ShortcutInfo/heading-4",
            "text": "{{$:/language/Buttons/Heading4/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-5": {
            "title": "$:/config/ShortcutInfo/heading-5",
            "text": "{{$:/language/Buttons/Heading5/Hint}}"
        },
        "$:/config/ShortcutInfo/heading-6": {
            "title": "$:/config/ShortcutInfo/heading-6",
            "text": "{{$:/language/Buttons/Heading6/Hint}}"
        },
        "$:/config/ShortcutInfo/italic": {
            "title": "$:/config/ShortcutInfo/italic",
            "text": "{{$:/language/Buttons/Italic/Hint}}"
        },
        "$:/config/ShortcutInfo/link": {
            "title": "$:/config/ShortcutInfo/link",
            "text": "{{$:/language/Buttons/Link/Hint}}"
        },
        "$:/config/ShortcutInfo/list-bullet": {
            "title": "$:/config/ShortcutInfo/list-bullet",
            "text": "{{$:/language/Buttons/ListBullet/Hint}}"
        },
        "$:/config/ShortcutInfo/list-number": {
            "title": "$:/config/ShortcutInfo/list-number",
            "text": "{{$:/language/Buttons/ListNumber/Hint}}"
        },
        "$:/config/ShortcutInfo/mono-block": {
            "title": "$:/config/ShortcutInfo/mono-block",
            "text": "{{$:/language/Buttons/MonoBlock/Hint}}"
        },
        "$:/config/ShortcutInfo/mono-line": {
            "title": "$:/config/ShortcutInfo/mono-line",
            "text": "{{$:/language/Buttons/MonoLine/Hint}}"
        },
        "$:/config/ShortcutInfo/picture": {
            "title": "$:/config/ShortcutInfo/picture",
            "text": "{{$:/language/Buttons/Picture/Hint}}"
        },
        "$:/config/ShortcutInfo/preview": {
            "title": "$:/config/ShortcutInfo/preview",
            "text": "{{$:/language/Buttons/Preview/Hint}}"
        },
        "$:/config/ShortcutInfo/quote": {
            "title": "$:/config/ShortcutInfo/quote",
            "text": "{{$:/language/Buttons/Quote/Hint}}"
        },
        "$:/config/ShortcutInfo/save-tiddler": {
            "title": "$:/config/ShortcutInfo/save-tiddler",
            "text": "{{$:/language/Buttons/Save/Hint}}"
        },
        "$:/config/ShortcutInfo/stamp": {
            "title": "$:/config/ShortcutInfo/stamp",
            "text": "{{$:/language/Buttons/Stamp/Hint}}"
        },
        "$:/config/ShortcutInfo/strikethrough": {
            "title": "$:/config/ShortcutInfo/strikethrough",
            "text": "{{$:/language/Buttons/Strikethrough/Hint}}"
        },
        "$:/config/ShortcutInfo/subscript": {
            "title": "$:/config/ShortcutInfo/subscript",
            "text": "{{$:/language/Buttons/Subscript/Hint}}"
        },
        "$:/config/ShortcutInfo/superscript": {
            "title": "$:/config/ShortcutInfo/superscript",
            "text": "{{$:/language/Buttons/Superscript/Hint}}"
        },
        "$:/config/ShortcutInfo/underline": {
            "title": "$:/config/ShortcutInfo/underline",
            "text": "{{$:/language/Buttons/Underline/Hint}}"
        },
        "$:/config/SyncFilter": {
            "title": "$:/config/SyncFilter",
            "text": "[is[tiddler]] -[[$:/HistoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[prefix[$:/status/]] -[prefix[$:/state/]] -[prefix[$:/temp/]]"
        },
        "$:/config/TextEditor/EditorHeight/Height": {
            "title": "$:/config/TextEditor/EditorHeight/Height",
            "text": "400px"
        },
        "$:/config/TextEditor/EditorHeight/Mode": {
            "title": "$:/config/TextEditor/EditorHeight/Mode",
            "text": "auto"
        },
        "$:/config/TiddlerInfo/Default": {
            "title": "$:/config/TiddlerInfo/Default",
            "text": "$:/core/ui/TiddlerInfo/Fields"
        },
        "$:/config/Tiddlers/TitleLinks": {
            "title": "$:/config/Tiddlers/TitleLinks",
            "text": "no"
        },
        "$:/config/Toolbar/ButtonClass": {
            "title": "$:/config/Toolbar/ButtonClass",
            "text": "tc-btn-invisible"
        },
        "$:/config/Toolbar/Icons": {
            "title": "$:/config/Toolbar/Icons",
            "text": "yes"
        },
        "$:/config/Toolbar/Text": {
            "title": "$:/config/Toolbar/Text",
            "text": "no"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/clone",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/close-others",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/export-tiddler",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/info",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/more-tiddler-actions",
            "text": "show"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-here",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/new-journal-here",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/open-window",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permalink",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/permaview",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/delete",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-bar",
            "text": "hide"
        },
        "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others": {
            "title": "$:/config/ViewToolbarButtons/Visibility/$:/core/ui/Buttons/fold-others",
            "text": "hide"
        },
        "$:/config/shortcuts-mac/bold": {
            "title": "$:/config/shortcuts-mac/bold",
            "text": "meta-B"
        },
        "$:/config/shortcuts-mac/italic": {
            "title": "$:/config/shortcuts-mac/italic",
            "text": "meta-I"
        },
        "$:/config/shortcuts-mac/underline": {
            "title": "$:/config/shortcuts-mac/underline",
            "text": "meta-U"
        },
        "$:/config/shortcuts-not-mac/bold": {
            "title": "$:/config/shortcuts-not-mac/bold",
            "text": "ctrl-B"
        },
        "$:/config/shortcuts-not-mac/italic": {
            "title": "$:/config/shortcuts-not-mac/italic",
            "text": "ctrl-I"
        },
        "$:/config/shortcuts-not-mac/underline": {
            "title": "$:/config/shortcuts-not-mac/underline",
            "text": "ctrl-U"
        },
        "$:/config/shortcuts/cancel-edit-tiddler": {
            "title": "$:/config/shortcuts/cancel-edit-tiddler",
            "text": "escape"
        },
        "$:/config/shortcuts/excise": {
            "title": "$:/config/shortcuts/excise",
            "text": "ctrl-E"
        },
        "$:/config/shortcuts/heading-1": {
            "title": "$:/config/shortcuts/heading-1",
            "text": "ctrl-1"
        },
        "$:/config/shortcuts/heading-2": {
            "title": "$:/config/shortcuts/heading-2",
            "text": "ctrl-2"
        },
        "$:/config/shortcuts/heading-3": {
            "title": "$:/config/shortcuts/heading-3",
            "text": "ctrl-3"
        },
        "$:/config/shortcuts/heading-4": {
            "title": "$:/config/shortcuts/heading-4",
            "text": "ctrl-4"
        },
        "$:/config/shortcuts/heading-5": {
            "title": "$:/config/shortcuts/heading-5",
            "text": "ctrl-5"
        },
        "$:/config/shortcuts/heading-6": {
            "title": "$:/config/shortcuts/heading-6",
            "text": "ctrl-6"
        },
        "$:/config/shortcuts/link": {
            "title": "$:/config/shortcuts/link",
            "text": "ctrl-L"
        },
        "$:/config/shortcuts/list-bullet": {
            "title": "$:/config/shortcuts/list-bullet",
            "text": "ctrl-shift-L"
        },
        "$:/config/shortcuts/list-number": {
            "title": "$:/config/shortcuts/list-number",
            "text": "ctrl-shift-N"
        },
        "$:/config/shortcuts/mono-block": {
            "title": "$:/config/shortcuts/mono-block",
            "text": "ctrl-shift-M"
        },
        "$:/config/shortcuts/mono-line": {
            "title": "$:/config/shortcuts/mono-line",
            "text": "ctrl-M"
        },
        "$:/config/shortcuts/picture": {
            "title": "$:/config/shortcuts/picture",
            "text": "ctrl-shift-I"
        },
        "$:/config/shortcuts/preview": {
            "title": "$:/config/shortcuts/preview",
            "text": "alt-P"
        },
        "$:/config/shortcuts/quote": {
            "title": "$:/config/shortcuts/quote",
            "text": "ctrl-Q"
        },
        "$:/config/shortcuts/save-tiddler": {
            "title": "$:/config/shortcuts/save-tiddler",
            "text": "ctrl+enter"
        },
        "$:/config/shortcuts/stamp": {
            "title": "$:/config/shortcuts/stamp",
            "text": "ctrl-S"
        },
        "$:/config/shortcuts/strikethrough": {
            "title": "$:/config/shortcuts/strikethrough",
            "text": "ctrl-T"
        },
        "$:/config/shortcuts/subscript": {
            "title": "$:/config/shortcuts/subscript",
            "text": "ctrl-shift-B"
        },
        "$:/config/shortcuts/superscript": {
            "title": "$:/config/shortcuts/superscript",
            "text": "ctrl-shift-P"
        },
        "$:/config/WikiParserRules/Inline/wikilink": {
            "title": "$:/config/WikiParserRules/Inline/wikilink",
            "text": "enable"
        },
        "$:/snippets/currpalettepreview": {
            "title": "$:/snippets/currpalettepreview",
            "text": "\\define swatchStyle()\nbackground-color: $(swatchColour)$;\n\\end\n\\define swatch(colour)\n<$set name=\"swatchColour\" value={{##$colour$}}>\n<div class=\"tc-swatch\" style=<<swatchStyle>>/>\n</$set>\n\\end\n<div class=\"tc-swatches-horiz\">\n<<swatch foreground>>\n<<swatch background>>\n<<swatch muted-foreground>>\n<<swatch primary>>\n<<swatch page-background>>\n<<swatch tab-background>>\n<<swatch tiddler-info-background>>\n</div>\n"
        },
        "$:/snippets/download-wiki-button": {
            "title": "$:/snippets/download-wiki-button",
            "text": "\\define lingo-base() $:/language/ControlPanel/Tools/Download/\n<$button class=\"tc-btn-big-green\">\n<$action-sendmessage $message=\"tm-download-file\" $param=\"$:/core/save/all\" filename=\"index.html\"/>\n<<lingo Full/Caption>> {{$:/core/images/save-button}}\n</$button>"
        },
        "$:/language": {
            "title": "$:/language",
            "text": "$:/languages/en-GB"
        },
        "$:/snippets/languageswitcher": {
            "title": "$:/snippets/languageswitcher",
            "text": "{{$:/language/ControlPanel/Basics/Language/Prompt}} <$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[description]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"
        },
        "$:/core/macros/CSS": {
            "title": "$:/core/macros/CSS",
            "tags": "$:/tags/Macro",
            "text": "\\define colour(name)\n<$transclude tiddler={{$:/palette}} index=\"$name$\"><$transclude tiddler=\"$:/palettes/Vanilla\" index=\"$name$\"/></$transclude>\n\\end\n\n\\define color(name)\n<<colour $name$>>\n\\end\n\n\\define box-shadow(shadow)\n``\n  -webkit-box-shadow: $shadow$;\n     -moz-box-shadow: $shadow$;\n          box-shadow: $shadow$;\n``\n\\end\n\n\\define filter(filter)\n``\n  -webkit-filter: $filter$;\n     -moz-filter: $filter$;\n          filter: $filter$;\n``\n\\end\n\n\\define transition(transition)\n``\n  -webkit-transition: $transition$;\n     -moz-transition: $transition$;\n          transition: $transition$;\n``\n\\end\n\n\\define transform-origin(origin)\n``\n  -webkit-transform-origin: $origin$;\n     -moz-transform-origin: $origin$;\n          transform-origin: $origin$;\n``\n\\end\n\n\\define background-linear-gradient(gradient)\n``\nbackground-image: linear-gradient($gradient$);\nbackground-image: -o-linear-gradient($gradient$);\nbackground-image: -moz-linear-gradient($gradient$);\nbackground-image: -webkit-linear-gradient($gradient$);\nbackground-image: -ms-linear-gradient($gradient$);\n``\n\\end\n\n\\define datauri(title)\n<$macrocall $name=\"makedatauri\" type={{$title$!!type}} text={{$title$}}/>\n\\end\n\n\\define if-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"match\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n\n\\define if-no-sidebar(text)\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">$text$</$reveal>\n\\end\n"
        },
        "$:/core/macros/colour-picker": {
            "title": "$:/core/macros/colour-picker",
            "tags": "$:/tags/Macro",
            "text": "\\define colour-picker-update-recent()\n<$action-listops\n\t$tiddler=\"$:/config/ColourPicker/Recent\"\n\t$subfilter=\"$(colour-picker-value)$ [list[$:/config/ColourPicker/Recent]remove[$(colour-picker-value)$]] +[limit[8]]\"\n/>\n\\end\n\n\\define colour-picker-inner(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(colour-picker-value)$\"\"\">\n\n$(colour-picker-update-recent)$\n\n$actions$\n\n<div style=\"background-color: $(colour-picker-value)$; width: 100%; height: 100%; border-radius: 50%;\"/>\n\n</$button>\n\\end\n\n\\define colour-picker-recent-inner(actions)\n<$set name=\"colour-picker-value\" value=\"$(recentColour)$\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\\end\n\n\\define colour-picker-recent(actions)\n{{$:/language/ColourPicker/Recent}} <$list filter=\"[list[$:/config/ColourPicker/Recent]]\" variable=\"recentColour\">\n<$macrocall $name=\"colour-picker-recent-inner\" actions=\"\"\"$actions$\"\"\"/></$list>\n\\end\n\n\\define colour-picker(actions)\n<div class=\"tc-colour-chooser\">\n\n<$macrocall $name=\"colour-picker-recent\" actions=\"\"\"$actions$\"\"\"/>\n\n---\n\n<$list filter=\"LightPink Pink Crimson LavenderBlush PaleVioletRed HotPink DeepPink MediumVioletRed Orchid Thistle Plum Violet Magenta Fuchsia DarkMagenta Purple MediumOrchid DarkViolet DarkOrchid Indigo BlueViolet MediumPurple MediumSlateBlue SlateBlue DarkSlateBlue Lavender GhostWhite Blue MediumBlue MidnightBlue DarkBlue Navy RoyalBlue CornflowerBlue LightSteelBlue LightSlateGrey SlateGrey DodgerBlue AliceBlue SteelBlue LightSkyBlue SkyBlue DeepSkyBlue LightBlue PowderBlue CadetBlue Azure LightCyan PaleTurquoise Cyan Aqua DarkTurquoise DarkSlateGrey DarkCyan Teal MediumTurquoise LightSeaGreen Turquoise Aquamarine MediumAquamarine MediumSpringGreen MintCream SpringGreen MediumSeaGreen SeaGreen Honeydew LightGreen PaleGreen DarkSeaGreen LimeGreen Lime ForestGreen Green DarkGreen Chartreuse LawnGreen GreenYellow DarkOliveGreen YellowGreen OliveDrab Beige LightGoldenrodYellow Ivory LightYellow Yellow Olive DarkKhaki LemonChiffon PaleGoldenrod Khaki Gold Cornsilk Goldenrod DarkGoldenrod FloralWhite OldLace Wheat Moccasin Orange PapayaWhip BlanchedAlmond NavajoWhite AntiqueWhite Tan BurlyWood Bisque DarkOrange Linen Peru PeachPuff SandyBrown Chocolate SaddleBrown Seashell Sienna LightSalmon Coral OrangeRed DarkSalmon Tomato MistyRose Salmon Snow LightCoral RosyBrown IndianRed Red Brown FireBrick DarkRed Maroon White WhiteSmoke Gainsboro LightGrey Silver DarkGrey Grey DimGrey Black\" variable=\"colour-picker-value\">\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$list>\n\n---\n\n<$edit-text tiddler=\"$:/config/ColourPicker/New\" tag=\"input\" default=\"\" placeholder=\"\"/> \n<$edit-text tiddler=\"$:/config/ColourPicker/New\" type=\"color\" tag=\"input\"/>\n<$set name=\"colour-picker-value\" value={{$:/config/ColourPicker/New}}>\n<$macrocall $name=\"colour-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n</$set>\n\n</div>\n\n\\end\n"
        },
        "$:/core/macros/export": {
            "title": "$:/core/macros/export",
            "tags": "$:/tags/Macro",
            "text": "\\define exportButtonFilename(baseFilename)\n$baseFilename$$(extension)$\n\\end\n\n\\define exportButton(exportFilter:\"[!is[system]sort[title]]\",lingoBase,baseFilename:\"tiddlers\")\n<span class=\"tc-popup-keep\">\n<$button popup=<<qualify \"$:/state/popup/export\">> tooltip={{$lingoBase$Hint}} aria-label={{$lingoBase$Caption}} class=<<tv-config-toolbar-class>> selectedClass=\"tc-selected\">\n<$list filter=\"[<tv-config-toolbar-icons>prefix[yes]]\">\n{{$:/core/images/export-button}}\n</$list>\n<$list filter=\"[<tv-config-toolbar-text>prefix[yes]]\">\n<span class=\"tc-btn-text\"><$text text={{$lingoBase$Caption}}/></span>\n</$list>\n</$button>\n</span>\n<$reveal state=<<qualify \"$:/state/popup/export\">> type=\"popup\" position=\"below\" animate=\"yes\">\n<div class=\"tc-drop-down\">\n<$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Exporter]]\">\n<$set name=\"extension\" value={{!!extension}}>\n<$button class=\"tc-btn-invisible\">\n<$action-sendmessage $message=\"tm-download-file\" $param=<<currentTiddler>> exportFilter=\"\"\"$exportFilter$\"\"\" filename=<<exportButtonFilename \"\"\"$baseFilename$\"\"\">>/>\n<$action-deletetiddler $tiddler=<<qualify \"$:/state/popup/export\">>/>\n<$transclude field=\"description\"/>\n</$button>\n</$set>\n</$list>\n</div>\n</$reveal>\n\\end\n"
        },
        "$:/core/macros/image-picker": {
            "title": "$:/core/macros/image-picker",
            "tags": "$:/tags/Macro",
            "text": "\\define image-picker-inner(actions)\n<$button tag=\"a\" tooltip=\"\"\"$(imageTitle)$\"\"\">\n\n$actions$\n\n<$transclude tiddler=<<imageTitle>>/>\n\n</$button>\n\\end\n\n\\define image-picker(actions,subfilter:\"\")\n<div class=\"tc-image-chooser\">\n\n<$list filter=\"[all[shadows+tiddlers]is[image]$subfilter$!has[draft.of]] -[type[application/pdf]] +[sort[title]]\" variable=\"imageTitle\">\n\n<$macrocall $name=\"image-picker-inner\" actions=\"\"\"$actions$\"\"\"/>\n\n</$list>\n\n</div>\n\n\\end\n\n"
        },
        "$:/core/macros/lingo": {
            "title": "$:/core/macros/lingo",
            "tags": "$:/tags/Macro",
            "text": "\\define lingo-base()\n$:/language/\n\\end\n\n\\define lingo(title)\n{{$(lingo-base)$$title$}}\n\\end\n"
        },
        "$:/core/macros/list": {
            "title": "$:/core/macros/list",
            "tags": "$:/tags/Macro",
            "text": "\\define list-links(filter,type:\"ul\",subtype:\"li\",class:\"\")\n<$type$ class=\"$class$\">\n<$list filter=\"$filter$\">\n<$subtype$>\n<$link to={{!!title}}>\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$link>\n</$subtype$>\n</$list>\n</$type$>\n\\end\n"
        },
        "$:/core/macros/tabs": {
            "title": "$:/core/macros/tabs",
            "tags": "$:/tags/Macro",
            "text": "\\define tabs(tabsList,default,state:\"$:/state/tab\",class,template)\n<div class=\"tc-tab-set $class$\">\n<div class=\"tc-tab-buttons $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\"><$set name=\"save-currentTiddler\" value=<<currentTiddler>>><$tiddler tiddler=<<currentTab>>><$button set=<<qualify \"$state$\">> setTo=<<currentTab>> default=\"$default$\" selectedClass=\"tc-tab-selected\" tooltip={{!!tooltip}}>\n<$tiddler tiddler=<<save-currentTiddler>>>\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude tiddler=<<currentTab>> field=\"caption\">\n<$macrocall $name=\"currentTab\" $type=\"text/plain\" $output=\"text/plain\"/>\n</$transclude>\n</$set></$tiddler></$button></$tiddler></$set></$list>\n</div>\n<div class=\"tc-tab-divider $class$\"/>\n<div class=\"tc-tab-content $class$\">\n<$list filter=\"$tabsList$\" variable=\"currentTab\">\n\n<$reveal type=\"match\" state=<<qualify \"$state$\">> text=<<currentTab>> default=\"$default$\">\n\n<$transclude tiddler=\"$template$\" mode=\"block\">\n\n<$transclude tiddler=<<currentTab>> mode=\"block\"/>\n\n</$transclude>\n\n</$reveal>\n\n</$list>\n</div>\n</div>\n\\end\n"
        },
        "$:/core/macros/tag": {
            "title": "$:/core/macros/tag",
            "tags": "$:/tags/Macro",
            "text": "\\define tag(tag)\n{{$tag$||$:/core/ui/TagTemplate}}\n\\end\n"
        },
        "$:/core/macros/thumbnails": {
            "title": "$:/core/macros/thumbnails",
            "tags": "$:/tags/Macro",
            "text": "\\define thumbnail(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<$link to=\"\"\"$link$\"\"\"><div class=\"tc-thumbnail-wrapper\">\n<div class=\"tc-thumbnail-image\" style=\"width:$width$px;height:$height$px;\"><$reveal type=\"nomatch\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" style=\"width:$width$px;height:$height$px;\">\n[img[$image$]]\n</$reveal><$reveal type=\"match\" text=\"\" default=\"\"\"$image$\"\"\" tag=\"div\" class=\"tc-thumbnail-background\" style=\"width:$width$px;height:$height$px;background-color:$background-color$;\"></$reveal></div><div class=\"tc-thumbnail-icon\" style=\"fill:$color$;color:$color$;\">\n$icon$\n</div><div class=\"tc-thumbnail-caption\">\n$caption$\n</div>\n</div></$link>\n\\end\n\n\\define thumbnail-right(link,icon,color,background-color,image,caption,width:\"280\",height:\"157\")\n<div class=\"tc-thumbnail-right-wrapper\"><<thumbnail \"\"\"$link$\"\"\" \"\"\"$icon$\"\"\" \"\"\"$color$\"\"\" \"\"\"$background-color$\"\"\" \"\"\"$image$\"\"\" \"\"\"$caption$\"\"\" \"\"\"$width$\"\"\" \"\"\"$height$\"\"\">></div>\n\\end\n\n\\define list-thumbnails(filter,width:\"280\",height:\"157\")\n<$list filter=\"\"\"$filter$\"\"\"><$macrocall $name=\"thumbnail\" link={{!!link}} icon={{!!icon}} color={{!!color}} background-color={{!!background-color}} image={{!!image}} caption={{!!caption}} width=\"\"\"$width$\"\"\" height=\"\"\"$height$\"\"\"/></$list>\n\\end\n"
        },
        "$:/core/macros/timeline": {
            "created": "20141212105914482",
            "modified": "20141212110330815",
            "tags": "$:/tags/Macro",
            "title": "$:/core/macros/timeline",
            "type": "text/vnd.tiddlywiki",
            "text": "\\define timeline-title()\n<!-- Override this macro with a global macro \n     of the same name if you need to change \n     how titles are displayed on the timeline \n     -->\n<$view field=\"title\"/>\n\\end\n\\define timeline(limit:\"100\",format:\"DDth MMM YYYY\",subfilter:\"\",dateField:\"modified\")\n<div class=\"tc-timeline\">\n<$list filter=\"[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]\">\n<div class=\"tc-menu-list-item\">\n<$view field=\"$dateField$\" format=\"date\" template=\"$format$\"/>\n<$list filter=\"[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]\">\n<div class=\"tc-menu-list-subitem\">\n<$link to={{!!title}}>\n<<timeline-title>>\n</$link>\n</div>\n</$list>\n</div>\n</$list>\n</div>\n\\end\n"
        },
        "$:/core/macros/toc": {
            "title": "$:/core/macros/toc",
            "tags": "$:/tags/Macro",
            "text": "\\define toc-caption()\n<$set name=\"tv-wikilinks\" value=\"no\">\n<$transclude field=\"caption\">\n<$view field=\"title\"/>\n</$transclude>\n</$set>\n\\end\n\n\\define toc-body(rootTag,tag,sort:\"\",itemClassFilter)\n<ol class=\"tc-toc\">\n<$list filter=\"\"\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$]\"\"\">\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$list filter=\"[all[current]toc-link[no]]\" emptyMessage=\"<$link><$view field='caption'><$view field='title'/></$view></$link>\">\n<<toc-caption>>\n</$list>\n<$list filter=\"\"\"[all[current]] -[[$rootTag$]]\"\"\">\n<$macrocall $name=\"toc-body\" rootTag=\"\"\"$rootTag$\"\"\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$list>\n</li>\n</$set>\n</$list>\n</ol>\n\\end\n\n\\define toc(tag,sort:\"\",itemClassFilter)\n<<toc-body rootTag:\"\"\"$tag$\"\"\" tag:\"\"\"$tag$\"\"\" sort:\"\"\"$sort$\"\"\" itemClassFilter:\"\"\"itemClassFilter\"\"\">>\n\\end\n\n\\define toc-linked-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc/$tag$-$(currentTiddler)$\"\"\">>>\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$link>\n<$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n<<toc-caption>>\n</$link>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end\n\n\\define toc-unlinked-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc/$tag$-$(currentTiddler)$\"\"\">>>\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n<<toc-caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<<toc-caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$macrocall $name=\"toc-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end\n\n\\define toc-expandable-empty-message()\n<<toc-linked-expandable-body tag:\"\"\"$(tag)$\"\"\" sort:\"\"\"$(sort)$\"\"\" itemClassFilter:\"\"\"$(itemClassFilter)$\"\"\">>\n\\end\n\n\\define toc-expandable(tag,sort:\"\",itemClassFilter)\n<$vars tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\">\n<ol class=\"tc-toc toc-expandable\">\n<$list filter=\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$]\">\n<$list filter=\"[all[current]toc-link[no]]\" emptyMessage=<<toc-expandable-empty-message>>>\n<<toc-unlinked-expandable-body tag:\"\"\"$tag$\"\"\" sort:\"\"\"$sort$\"\"\" itemClassFilter:\"\"\"itemClassFilter\"\"\">>\n</$list>\n</$list>\n</ol>\n</$vars>\n\\end\n\n\\define toc-linked-selective-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc/$tag$-$(currentTiddler)$\"\"\">>>\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$link>\n<$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>\">\n<$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n</$button>\n</$reveal>\n</$list>\n<<toc-caption>>\n</$link>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$macrocall $name=\"toc-selective-expandable\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end\n\n\\define toc-unlinked-selective-expandable-body(tag,sort:\"\",itemClassFilter)\n<$set name=\"toc-state\" value=<<qualify \"\"\"$:/state/toc/$tag$-$(currentTiddler)$\"\"\">>>\n<$set name=\"toc-item-class\" filter=\"\"\"$itemClassFilter$\"\"\" value=\"toc-item-selected\" emptyValue=\"toc-item\">\n<li class=<<toc-item-class>>>\n<$list filter=\"[all[current]tagging[]limit[1]]\" variable=\"ignore\" emptyMessage=\"<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>\">\n<$reveal type=\"nomatch\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"open\" class=\"tc-btn-invisible\">\n{{$:/core/images/right-arrow}}\n<<toc-caption>>\n</$button>\n</$reveal>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$button set=<<toc-state>> setTo=\"close\" class=\"tc-btn-invisible\">\n{{$:/core/images/down-arrow}}\n<<toc-caption>>\n</$button>\n</$reveal>\n</$list>\n<$reveal type=\"match\" state=<<toc-state>> text=\"open\">\n<$macrocall $name=\"\"\"toc-selective-expandable\"\"\" tag=<<currentTiddler>> sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\"/>\n</$reveal>\n</li>\n</$set>\n</$set>\n\\end\n\n\\define toc-selective-expandable-empty-message()\n<<toc-linked-selective-expandable-body tag:\"\"\"$(tag)$\"\"\" sort:\"\"\"$(sort)$\"\"\" itemClassFilter:\"\"\"$(itemClassFilter)$\"\"\">>\n\\end\n\n\\define toc-selective-expandable(tag,sort:\"\",itemClassFilter)\n<$vars tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=\"\"\"$itemClassFilter$\"\"\">\n<ol class=\"tc-toc toc-selective-expandable\">\n<$list filter=\"[all[shadows+tiddlers]tag[$tag$]!has[draft.of]$sort$]\">\n<$list filter=\"[all[current]toc-link[no]]\" variable=\"ignore\" emptyMessage=<<toc-selective-expandable-empty-message>>>\n<<toc-unlinked-selective-expandable-body tag:\"\"\"$tag$\"\"\" sort:\"\"\"$sort$\"\"\" itemClassFilter:\"\"\"$itemClassFilter$\"\"\">>\n</$list>\n</$list>\n</ol>\n</$vars>\n\\end\n\n\\define toc-tabbed-selected-item-filter(selectedTiddler)\n[all[current]field:title{$selectedTiddler$}]\n\\end\n\n\\define toc-tabbed-external-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$tiddler tiddler={{$selectedTiddler$}}>\n<div class=\"tc-tabbed-table-of-contents\">\n<$linkcatcher to=\"$selectedTiddler$\">\n<div class=\"tc-table-of-contents\">\n<$macrocall $name=\"toc-selective-expandable\" tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" itemClassFilter=<<toc-tabbed-selected-item-filter selectedTiddler:\"\"\"$selectedTiddler$\"\"\">>/>\n</div>\n</$linkcatcher>\n<div class=\"tc-tabbed-table-of-contents-content\">\n<$reveal state=\"\"\"$selectedTiddler$\"\"\" type=\"nomatch\" text=\"\">\n<$transclude mode=\"block\" tiddler=\"$template$\">\n<h1><<toc-caption>></h1>\n<$transclude mode=\"block\">$missingText$</$transclude>\n</$transclude>\n</$reveal>\n<$reveal state=\"\"\"$selectedTiddler$\"\"\" type=\"match\" text=\"\">\n$unselectedText$\n</$reveal>\n</div>\n</div>\n</$tiddler>\n\\end\n\n\\define toc-tabbed-internal-nav(tag,sort:\"\",selectedTiddler:\"$:/temp/toc/selectedTiddler\",unselectedText,missingText,template:\"\")\n<$linkcatcher to=\"\"\"$selectedTiddler$\"\"\">\n<$macrocall $name=\"toc-tabbed-external-nav\" tag=\"\"\"$tag$\"\"\" sort=\"\"\"$sort$\"\"\" selectedTiddler=\"\"\"$selectedTiddler$\"\"\" unselectedText=\"\"\"$unselectedText$\"\"\" missingText=\"\"\"$missingText$\"\"\" template=\"\"\"$template$\"\"\"/>\n</$linkcatcher>\n\\end\n\n"
        },
        "$:/core/macros/translink": {
            "title": "$:/core/macros/translink",
            "tags": "$:/tags/Macro",
            "text": "\\define translink(title,mode:\"block\")\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: black; foreground; white;\">\n<$link to=\"\"\"$title$\"\"\">\n<$text text=\"\"\"$title$\"\"\"/>\n</$link>\n<div style=\"border:1px solid #ccc; padding: 0.5em; background: white; foreground; black;\">\n<$transclude tiddler=\"\"\"$title$\"\"\" mode=\"$mode$\">\n\"<$text text=\"\"\"$title$\"\"\"/>\" is missing\n</$transclude>\n</div>\n</div>\n\\end\n"
        },
        "$:/snippets/minilanguageswitcher": {
            "title": "$:/snippets/minilanguageswitcher",
            "text": "<$select tiddler=\"$:/language\">\n<$list filter=\"[[$:/languages/en-GB]] [plugin-type[language]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"description\"><$view field=\"name\"><$view field=\"title\"/></$view></$view></option>\n</$list>\n</$select>"
        },
        "$:/snippets/minithemeswitcher": {
            "title": "$:/snippets/minithemeswitcher",
            "text": "\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$select tiddler=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\">\n<option value=<<currentTiddler>>><$view field=\"name\"><$view field=\"title\"/></$view></option>\n</$list>\n</$select>"
        },
        "$:/snippets/modules": {
            "title": "$:/snippets/modules",
            "text": "\\define describeModuleType(type)\n{{$:/language/Docs/ModuleTypes/$type$}}\n\\end\n<$list filter=\"[moduletypes[]]\">\n\n!! <$macrocall $name=\"currentTiddler\" $type=\"text/plain\" $output=\"text/plain\"/>\n\n<$macrocall $name=\"describeModuleType\" type=<<currentTiddler>>/>\n\n<ul><$list filter=\"[all[current]modules[]]\"><li><$link><<currentTiddler>></$link>\n</li>\n</$list>\n</ul>\n</$list>\n"
        },
        "$:/palette": {
            "title": "$:/palette",
            "text": "$:/palettes/Vanilla"
        },
        "$:/snippets/paletteeditor": {
            "title": "$:/snippets/paletteeditor",
            "text": "\\define lingo-base() $:/language/ControlPanel/Palette/Editor/\n\\define describePaletteColour(colour)\n<$transclude tiddler=\"$:/language/Docs/PaletteColours/$colour$\"><$text text=\"$colour$\"/></$transclude>\n\\end\n<$set name=\"currentTiddler\" value={{$:/palette}}>\n\n<<lingo Prompt>> <$link to={{$:/palette}}><$macrocall $name=\"currentTiddler\" $output=\"text/plain\"/></$link>\n\n<$list filter=\"[all[current]is[shadow]is[tiddler]]\" variable=\"listItem\">\n<<lingo Prompt/Modified>>\n<$button message=\"tm-delete-tiddler\" param={{$:/palette}}><<lingo Reset/Caption>></$button>\n</$list>\n\n<$list filter=\"[all[current]is[shadow]!is[tiddler]]\" variable=\"listItem\">\n<<lingo Clone/Prompt>>\n</$list>\n\n<$button message=\"tm-new-tiddler\" param={{$:/palette}}><<lingo Clone/Caption>></$button>\n\n<table>\n<tbody>\n<$list filter=\"[all[current]indexes[]]\" variable=\"colourName\">\n<tr>\n<td>\n''<$macrocall $name=\"describePaletteColour\" colour=<<colourName>>/>''<br/>\n<$macrocall $name=\"colourName\" $output=\"text/plain\"/>\n</td>\n<td>\n<$edit-text index=<<colourName>> tag=\"input\"/>\n<br>\n<$edit-text index=<<colourName>> type=\"color\" tag=\"input\"/>\n</td>\n</tr>\n</$list>\n</tbody>\n</table>\n</$set>\n"
        },
        "$:/snippets/palettepreview": {
            "title": "$:/snippets/palettepreview",
            "text": "<$set name=\"currentTiddler\" value={{$:/palette}}>\n<$transclude tiddler=\"$:/snippets/currpalettepreview\"/>\n</$set>\n"
        },
        "$:/snippets/paletteswitcher": {
            "title": "$:/snippets/paletteswitcher",
            "text": "\\define lingo-base() $:/language/ControlPanel/Palette/\n<div class=\"tc-prompt\">\n<<lingo Prompt>> <$view tiddler={{$:/palette}} field=\"name\"/>\n</div>\n\n<$linkcatcher to=\"$:/palette\">\n<div class=\"tc-chooser\"><$list filter=\"[all[shadows+tiddlers]tag[$:/tags/Palette]sort[description]]\"><div class=\"tc-chooser-item\"><$link to={{!!title}}><div><$reveal state=\"$:/palette\" type=\"match\" text={{!!title}}>&bull;</$reveal><$reveal state=\"$:/palette\" type=\"nomatch\" text={{!!title}}>&nbsp;</$reveal> ''<$view field=\"name\" format=\"text\"/>'' - <$view field=\"description\" format=\"text\"/></div><$transclude tiddler=\"$:/snippets/currpalettepreview\"/></$link></div>\n</$list>\n</div>\n</$linkcatcher>"
        },
        "$:/temp/search": {
            "title": "$:/temp/search",
            "text": ""
        },
        "$:/tags/AdvancedSearch": {
            "title": "$:/tags/AdvancedSearch",
            "list": "[[$:/core/ui/AdvancedSearch/Standard]] [[$:/core/ui/AdvancedSearch/System]] [[$:/core/ui/AdvancedSearch/Shadows]] [[$:/core/ui/AdvancedSearch/Filter]]"
        },
        "$:/tags/AdvancedSearch/FilterButton": {
            "title": "$:/tags/AdvancedSearch/FilterButton",
            "list": "$:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown $:/core/ui/AdvancedSearch/Filter/FilterButtons/clear $:/core/ui/AdvancedSearch/Filter/FilterButtons/export $:/core/ui/AdvancedSearch/Filter/FilterButtons/delete"
        },
        "$:/tags/ControlPanel": {
            "title": "$:/tags/ControlPanel",
            "list": "$:/core/ui/ControlPanel/Info $:/core/ui/ControlPanel/Appearance $:/core/ui/ControlPanel/Settings $:/core/ui/ControlPanel/Saving $:/core/ui/ControlPanel/Plugins $:/core/ui/ControlPanel/Tools $:/core/ui/ControlPanel/Internals"
        },
        "$:/tags/ControlPanel/Info": {
            "title": "$:/tags/ControlPanel/Info",
            "list": "$:/core/ui/ControlPanel/Basics $:/core/ui/ControlPanel/Advanced"
        },
        "$:/tags/ControlPanel/Plugins": {
            "title": "$:/tags/ControlPanel/Plugins",
            "list": "[[$:/core/ui/ControlPanel/Plugins/Installed]] [[$:/core/ui/ControlPanel/Plugins/Add]]"
        },
        "$:/tags/EditTemplate": {
            "title": "$:/tags/EditTemplate",
            "list": "[[$:/core/ui/EditTemplate/controls]] [[$:/core/ui/EditTemplate/title]] [[$:/core/ui/EditTemplate/tags]] [[$:/core/ui/EditTemplate/shadow]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/EditTemplate/body]] [[$:/core/ui/EditTemplate/type]] [[$:/core/ui/EditTemplate/fields]]"
        },
        "$:/tags/EditToolbar": {
            "title": "$:/tags/EditToolbar",
            "list": "[[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/cancel]] [[$:/core/ui/Buttons/save]]"
        },
        "$:/tags/EditorToolbar": {
            "title": "$:/tags/EditorToolbar",
            "list": "$:/core/ui/EditorToolbar/paint $:/core/ui/EditorToolbar/opacity $:/core/ui/EditorToolbar/line-width $:/core/ui/EditorToolbar/clear $:/core/ui/EditorToolbar/bold $:/core/ui/EditorToolbar/italic $:/core/ui/EditorToolbar/strikethrough $:/core/ui/EditorToolbar/underline $:/core/ui/EditorToolbar/superscript $:/core/ui/EditorToolbar/subscript $:/core/ui/EditorToolbar/mono-line $:/core/ui/EditorToolbar/mono-block $:/core/ui/EditorToolbar/quote $:/core/ui/EditorToolbar/list-bullet $:/core/ui/EditorToolbar/list-number $:/core/ui/EditorToolbar/heading-1 $:/core/ui/EditorToolbar/heading-2 $:/core/ui/EditorToolbar/heading-3 $:/core/ui/EditorToolbar/heading-4 $:/core/ui/EditorToolbar/heading-5 $:/core/ui/EditorToolbar/heading-6 $:/core/ui/EditorToolbar/link $:/core/ui/EditorToolbar/excise $:/core/ui/EditorToolbar/picture $:/core/ui/EditorToolbar/stamp $:/core/ui/EditorToolbar/size $:/core/ui/EditorToolbar/editor-height $:/core/ui/EditorToolbar/more $:/core/ui/EditorToolbar/preview $:/core/ui/EditorToolbar/preview-type"
        },
        "$:/tags/MoreSideBar": {
            "title": "$:/tags/MoreSideBar",
            "list": "[[$:/core/ui/MoreSideBar/All]] [[$:/core/ui/MoreSideBar/Recent]] [[$:/core/ui/MoreSideBar/Tags]] [[$:/core/ui/MoreSideBar/Missing]] [[$:/core/ui/MoreSideBar/Drafts]] [[$:/core/ui/MoreSideBar/Orphans]] [[$:/core/ui/MoreSideBar/Types]] [[$:/core/ui/MoreSideBar/System]] [[$:/core/ui/MoreSideBar/Shadows]]",
            "text": ""
        },
        "$:/tags/PageControls": {
            "title": "$:/tags/PageControls",
            "list": "[[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/fold-all]] [[$:/core/ui/Buttons/unfold-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/new-journal]] [[$:/core/ui/Buttons/new-image]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/export-page]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/advanced-search]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/palette]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/refresh]] [[$:/core/ui/Buttons/more-page-actions]]"
        },
        "$:/tags/PageTemplate": {
            "title": "$:/tags/PageTemplate",
            "list": "[[$:/core/ui/PageTemplate/topleftbar]] [[$:/core/ui/PageTemplate/toprightbar]] [[$:/core/ui/PageTemplate/sidebar]] [[$:/core/ui/PageTemplate/story]] [[$:/core/ui/PageTemplate/alerts]]",
            "text": ""
        },
        "$:/tags/SideBar": {
            "title": "$:/tags/SideBar",
            "list": "[[$:/core/ui/SideBar/Open]] [[$:/core/ui/SideBar/Recent]] [[$:/core/ui/SideBar/Tools]] [[$:/core/ui/SideBar/More]]",
            "text": ""
        },
        "$:/tags/TiddlerInfo": {
            "title": "$:/tags/TiddlerInfo",
            "list": "[[$:/core/ui/TiddlerInfo/Tools]] [[$:/core/ui/TiddlerInfo/References]] [[$:/core/ui/TiddlerInfo/Tagging]] [[$:/core/ui/TiddlerInfo/List]] [[$:/core/ui/TiddlerInfo/Listed]] [[$:/core/ui/TiddlerInfo/Fields]]",
            "text": ""
        },
        "$:/tags/TiddlerInfo/Advanced": {
            "title": "$:/tags/TiddlerInfo/Advanced",
            "list": "[[$:/core/ui/TiddlerInfo/Advanced/ShadowInfo]] [[$:/core/ui/TiddlerInfo/Advanced/PluginInfo]]"
        },
        "$:/tags/ViewTemplate": {
            "title": "$:/tags/ViewTemplate",
            "list": "[[$:/core/ui/ViewTemplate/title]] [[$:/core/ui/ViewTemplate/unfold]] [[$:/core/ui/ViewTemplate/subtitle]] [[$:/core/ui/ViewTemplate/tags]] [[$:/core/ui/ViewTemplate/classic]] [[$:/core/ui/ViewTemplate/body]]"
        },
        "$:/tags/ViewToolbar": {
            "title": "$:/tags/ViewToolbar",
            "list": "[[$:/core/ui/Buttons/more-tiddler-actions]] [[$:/core/ui/Buttons/info]] [[$:/core/ui/Buttons/new-here]] [[$:/core/ui/Buttons/new-journal-here]] [[$:/core/ui/Buttons/clone]] [[$:/core/ui/Buttons/export-tiddler]] [[$:/core/ui/Buttons/edit]] [[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/open-window]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]] [[$:/core/ui/Buttons/fold-others]] [[$:/core/ui/Buttons/fold]]"
        },
        "$:/snippets/themeswitcher": {
            "title": "$:/snippets/themeswitcher",
            "text": "\\define lingo-base() $:/language/ControlPanel/Theme/\n<<lingo Prompt>> <$view tiddler={{$:/theme}} field=\"name\"/>\n\n<$linkcatcher to=\"$:/theme\">\n<$list filter=\"[plugin-type[theme]sort[title]]\"><div><$reveal state=\"$:/theme\" type=\"match\" text={{!!title}}>&bull;</$reveal><$reveal state=\"$:/theme\" type=\"nomatch\" text={{!!title}}>&nbsp;</$reveal> <$link to={{!!title}}>''<$view field=\"name\" format=\"text\"/>'' <$view field=\"description\" format=\"text\"/></$link></div>\n</$list>\n</$linkcatcher>"
        },
        "$:/core/wiki/title": {
            "title": "$:/core/wiki/title",
            "type": "text/vnd.tiddlywiki",
            "text": "{{$:/SiteTitle}} --- {{$:/SiteSubtitle}}"
        },
        "$:/view": {
            "title": "$:/view",
            "text": "classic"
        },
        "$:/snippets/viewswitcher": {
            "title": "$:/snippets/viewswitcher",
            "text": "\\define lingo-base() $:/language/ControlPanel/StoryView/\n<<lingo Prompt>> <$select tiddler=\"$:/view\">\n<$list filter=\"[storyviews[]]\">\n<option><$view field=\"title\"/></option>\n</$list>\n</$select>"
        }
    }
}
[[TableOfContents]]
{
    "tiddlers": {
        "Untitled": {
            "text": "Ioun Stones",
            "title": "Untitled"
        }
    }
}
no
Draft of '$:/palettes/Vanilla'

龙与地下城 3.5 SRD wiki版 v0.91
open1
open


yes
yes
$:/core/ui/TiddlerInfo/References
$:/core/ui/TiddlerInfo/References
$:/core/ui/TiddlerInfo/Advanced
$:/core/ui/AdvancedSearch/Filter
$:/core/ui/ControlPanel/Palette
$:/core/ui/ControlPanel/Plugins/Installed/Plugins
$:/core/ui/TiddlerInfo/Advanced
$:/core/ui/TiddlerInfo/References
$:/core/ui/ControlPanel/Info
$:/core/ui/ControlPanel/KeyboardShortcuts
$:/core/ui/TiddlerInfo/References
$:/core/ui/MoreSideBar/Shadows
TableOfContents
$:/core/ui/ControlPanel/Toolbars/PageControls
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
closed
open
open
open
open
close
close
close
close
close
close
close
open
open
close
close
open
open
close
open
open
open
open
open
close
open
close
open
open
close
close
open
open
open
open
close
close
close
open
open
close
open
close
close
open
close
close
open
close
open
open
close
close
close
close
open
open
close
close
close
close
close
open
open
open
open

\define lingo-base() $:/language/TagManager/
\define iconEditorTab(type)
<$list filter="[all[shadows+tiddlers]is[image]] [all[shadows+tiddlers]tag[$:/tags/Image]] -[type[application/pdf]] +[sort[title]] +[$type$is[system]]">
<$link to={{!!title}}>
<$transclude/> <$view field="title"/>
</$link>
</$list>
\end
\define iconEditor(title)
<div class="tc-drop-down-wrapper">
<$button popup=<<qualify "$:/state/popup/icon/$title$">> class="tc-btn-invisible tc-btn-dropdown">{{$:/core/images/down-arrow}}</$button>
<$reveal state=<<qualify "$:/state/popup/icon/$title$">> type="popup" position="belowleft" text="" default="">
<div class="tc-drop-down">
<$linkcatcher to="$title$!!icon">
<<iconEditorTab type:"!">>
<hr/>
<<iconEditorTab type:"">>
</$linkcatcher>
</div>
</$reveal>
</div>
\end
\define qualifyTitle(title)
$title$$(currentTiddler)$
\end
\define toggleButton(state)
<$reveal state="$state$" type="match" text="closed" default="closed">
<$button set="$state$" setTo="open" class="tc-btn-invisible tc-btn-dropdown" selectedClass="tc-selected">
{{$:/core/images/info-button}}
</$button>
</$reveal>
<$reveal state="$state$" type="match" text="open" default="closed">
<$button set="$state$" setTo="closed" class="tc-btn-invisible tc-btn-dropdown" selectedClass="tc-selected">
{{$:/core/images/info-button}}
</$button>
</$reveal>
\end
<table class="tc-tag-manager-table">
<tbody>
<tr>
<th><<lingo Colour/Heading>></th>
<th class="tc-tag-manager-tag"><<lingo Tag/Heading>></th>
<th><<lingo Count/Heading>></th>
<th><<lingo Icon/Heading>></th>
<th><<lingo Info/Heading>></th>
</tr>
<$list filter="[tags[]!is[system]sort[title]]">
<tr>
<td><$edit-text field="color" tag="input" type="color"/></td>
<td><$transclude tiddler="$:/core/ui/TagTemplate"/></td>
<td><$count filter="[all[current]tagging[]]"/></td>
<td>
<$macrocall $name="iconEditor" title={{!!title}}/>
</td>
<td>
<$macrocall $name="toggleButton" state=<<qualifyTitle "$:/state/tag-manager/">> /> 
</td>
</tr>
<tr>
<td></td>
<td colspan="4">
<$reveal state=<<qualifyTitle "$:/state/tag-manager/">> type="match" text="open" default="">
<table>
<tbody>
<tr><td><<lingo Colour/Heading>></td><td><$edit-text field="color" tag="input" type="text" size="9"/></td></tr>
<tr><td><<lingo Icon/Heading>></td><td><$edit-text field="icon" tag="input" size="45"/></td></tr>
</tbody>
</table>
</$reveal>
</td>
</tr>
</$list>
<tr>
<td></td>
<td>
{{$:/core/ui/UntaggedTemplate}}
</td>
<td>
<small class="tc-menu-list-count"><$count filter="[untagged[]!is[system]] -[tags[]]"/></small>
</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
[is[tiddler]is[shadow]sort[title]]
{
    "tiddlers": {
        "$:/info/browser": {
            "title": "$:/info/browser",
            "text": "yes"
        },
        "$:/info/node": {
            "title": "$:/info/node",
            "text": "no"
        }
    }
}
SRD
核心

基础与属性
$:/themes/tiddlywiki/vanilla
{
    "tiddlers": {
        "$:/themes/tiddlywiki/snowwhite/base": {
            "title": "$:/themes/tiddlywiki/snowwhite/base",
            "tags": "[[$:/tags/Stylesheet]]",
            "text": "\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline\n\n.tc-sidebar-header {\n\ttext-shadow: 0 1px 0 <<colour sidebar-foreground-shadow>>;\n}\n\n.tc-tiddler-info {\n\t<<box-shadow \"inset 1px 2px 3px rgba(0,0,0,0.1)\">>\n}\n\n@media screen {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow \"1px 1px 5px rgba(0, 0, 0, 0.3)\">>\n\t}\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\t<<box-shadow none>>\n\t}\n}\n\n.tc-page-controls button svg, .tc-tiddler-controls button svg, .tc-topbar button svg {\n\t<<transition \"fill 150ms ease-in-out\">>\n}\n\n.tc-tiddler-controls button.tc-selected,\n.tc-page-controls button.tc-selected {\n\t<<filter \"drop-shadow(0px -1px 2px rgba(0,0,0,0.25))\">>\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-edit-tags {\n\t<<box-shadow \"inset 0 1px 8px rgba(0, 0, 0, 0.15)\">>\n}\n\n.tc-tiddler-frame .tc-edit-tags input.tc-edit-texteditor {\n\t<<box-shadow \"none\">>\n\tborder: none;\n\toutline: none;\n}\n\ncanvas.tc-edit-bitmapeditor  {\n\t<<box-shadow \"2px 2px 5px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-drop-down {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-block-dropdown {\n\tborder-radius: 4px;\n\t<<box-shadow \"2px 2px 10px rgba(0, 0, 0, 0.5)\">>\n}\n\n.tc-modal {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n}\n\n.tc-modal-footer {\n\tborder-radius: 0 0 6px 6px;\n\t<<box-shadow \"inset 0 1px 0 #fff\">>;\n}\n\n\n.tc-alert {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.6)\">>\n}\n\n.tc-notification {\n\tborder-radius: 6px;\n\t<<box-shadow \"0 3px 7px rgba(0,0,0,0.3)\">>\n\ttext-shadow: 0 1px 0 rgba(255,255,255, 0.8);\n}\n\n.tc-sidebar-lists .tc-tab-set .tc-tab-divider {\n\tborder-top: none;\n\theight: 1px;\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.0) 100%\">>\n}\n\n.tc-more-sidebar .tc-tab-buttons button {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.01) 0%, rgba(0,0,0,0.1) 100%\">>\n}\n\n.tc-more-sidebar .tc-tab-buttons button.tc-tab-selected {\n\t<<background-linear-gradient \"left, rgba(0,0,0,0.05) 0%, rgba(255,255,255,0.05) 100%\">>\n}\n\n.tc-message-box img {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n\n.tc-plugin-info {\n\t<<box-shadow \"1px 1px 3px rgba(0,0,0,0.5)\">>\n}\n"
        }
    }
}
{
    "tiddlers": {
        "$:/themes/tiddlywiki/vanilla/themetweaks": {
            "title": "$:/themes/tiddlywiki/vanilla/themetweaks",
            "tags": "$:/tags/ControlPanel/Appearance",
            "caption": "{{$:/language/ThemeTweaks/ThemeTweaks}}",
            "text": "\\define lingo-base() $:/language/ThemeTweaks/\n\n\\define replacement-text()\n[img[$(imageTitle)$]]\n\\end\n\n\\define backgroundimage-dropdown()\n<div class=\"tc-drop-down-wrapper\">\n<$button popup=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> class=\"tc-btn-invisible tc-btn-dropdown\">{{$:/core/images/down-arrow}}</$button>\n<$reveal state=<<qualify \"$:/state/popup/themetweaks/backgroundimage\">> type=\"popup\" position=\"belowleft\" text=\"\" default=\"\">\n<div class=\"tc-drop-down\">\n<$macrocall $name=\"image-picker\" actions=\"\"\"\n\n<$action-setfield\n\t$tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"\n\t$value=<<imageTitle>>\n/>\n\n\"\"\"/>\n</div>\n</$reveal>\n</div>\n\\end\n\n\\define backgroundimageattachment-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\" default=\"scroll\">\n<option value=\"scroll\"><<lingo Settings/BackgroundImageAttachment/Scroll>></option>\n<option value=\"fixed\"><<lingo Settings/BackgroundImageAttachment/Fixed>></option>\n</$select>\n\\end\n\n\\define backgroundimagesize-dropdown()\n<$select tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\" default=\"scroll\">\n<option value=\"auto\"><<lingo Settings/BackgroundImageSize/Auto>></option>\n<option value=\"cover\"><<lingo Settings/BackgroundImageSize/Cover>></option>\n<option value=\"contain\"><<lingo Settings/BackgroundImageSize/Contain>></option>\n</$select>\n\\end\n\n<<lingo ThemeTweaks/Hint>>\n\n! <<lingo Options>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><<lingo Options/SidebarLayout>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\"><option value=\"fixed-fluid\"><<lingo Options/SidebarLayout/Fixed-Fluid>></option><option value=\"fluid-fixed\"><<lingo Options/SidebarLayout/Fluid-Fixed>></option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><<lingo Options/StickyTitles>></$link><br>//<<lingo Options/StickyTitles/Hint>>// |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\"><option value=\"no\">{{$:/language/No}}</option><option value=\"yes\">{{$:/language/Yes}}</option></$select> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><<lingo Options/CodeWrapping>></$link> |<$select tiddler=\"$:/themes/tiddlywiki/vanilla/options/codewrapping\"><option value=\"pre\">{{$:/language/No}}</option><option value=\"pre-wrap\">{{$:/language/Yes}}</option></$select> |\n\n! <<lingo Settings>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\"><<lingo Settings/FontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/fontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\"><<lingo Settings/CodeFontFamily>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/codefontfamily\" default=\"\" tag=\"input\"/> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\"><<lingo Settings/BackgroundImage>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimage\" default=\"\" tag=\"input\"/> |<<backgroundimage-dropdown>> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment\"><<lingo Settings/BackgroundImageAttachment>></$link> |<<backgroundimageattachment-dropdown>> | |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize\"><<lingo Settings/BackgroundImageSize>></$link> |<<backgroundimagesize-dropdown>> | |\n\n! <<lingo Metrics>>\n\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\"><<lingo Metrics/FontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/fontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\"><<lingo Metrics/LineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/lineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\"><<lingo Metrics/BodyFontSize>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\"><<lingo Metrics/BodyLineHeight>></$link> |<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/bodylineheight\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\"><<lingo Metrics/StoryLeft>></$link><br>//<<lingo Metrics/StoryLeft/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyleft\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\"><<lingo Metrics/StoryTop>></$link><br>//<<lingo Metrics/StoryTop/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storytop\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\"><<lingo Metrics/StoryRight>></$link><br>//<<lingo Metrics/StoryRight/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storyright\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\"><<lingo Metrics/StoryWidth>></$link><br>//<<lingo Metrics/StoryWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/storywidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\"><<lingo Metrics/TiddlerWidth>></$link><br>//<<lingo Metrics/TiddlerWidth/Hint>>//<br> |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\"><<lingo Metrics/SidebarBreakpoint>></$link><br>//<<lingo Metrics/SidebarBreakpoint/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint\" default=\"\" tag=\"input\"/> |\n|<$link to=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\"><<lingo Metrics/SidebarWidth>></$link><br>//<<lingo Metrics/SidebarWidth/Hint>>// |^<$edit-text tiddler=\"$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth\" default=\"\" tag=\"input\"/> |\n"
        },
        "$:/themes/tiddlywiki/vanilla/base": {
            "title": "$:/themes/tiddlywiki/vanilla/base",
            "tags": "[[$:/tags/Stylesheet]]",
            "text": "\\define custom-background-datauri()\n<$set name=\"background\" value={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}>\n<$list filter=\"[<background>is[image]]\">\n`background: url(`\n<$list filter=\"[<background>!has[_canonical_uri]]\">\n<$macrocall $name=\"datauri\" title={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}}/>\n</$list>\n<$list filter=\"[<background>has[_canonical_uri]]\">\n<$view tiddler={{$:/themes/tiddlywiki/vanilla/settings/backgroundimage}} field=\"_canonical_uri\"/>\n</$list>\n`) center center;`\n`background-attachment: `{{$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment}}`;\n-webkit-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-moz-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\n-o-background-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;\nbackground-size:` {{$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize}}`;`\n</$list>\n</$set>\n\\end\n\n\\define if-fluid-fixed(text,hiddenSidebarText)\n<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/sidebarlayout\" type=\"match\" text=\"fluid-fixed\">\n$text$\n<$reveal state=\"$:/state/sidebar\" type=\"nomatch\" text=\"yes\" default=\"yes\">\n$hiddenSidebarText$\n</$reveal>\n</$reveal>\n\\end\n\n\\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline macrocallblock\n\n/*\n** Start with the normalize CSS reset, and then belay some of its effects\n*/\n\n{{$:/themes/tiddlywiki/vanilla/reset}}\n\n*, input[type=\"search\"] {\n\tbox-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n}\n\nhtml button {\n\tline-height: 1.2;\n\tcolor: <<colour button-foreground>>;\n\tbackground: <<colour button-background>>;\n\tborder-color: <<colour button-border>>;\n}\n\n/*\n** Basic element styles\n*/\n\nhtml {\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};\n\ttext-rendering: optimizeLegibility; /* Enables kerning and ligatures etc. */\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\nhtml:-webkit-full-screen {\n\tbackground-color: <<colour page-background>>;\n}\n\nbody.tc-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/fontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/lineheight}};\n\tcolor: <<colour foreground>>;\n\tbackground-color: <<colour page-background>>;\n\tfill: <<colour foreground>>;\n\tword-wrap: break-word;\n\t<<custom-background-datauri>>\n}\n\nh1, h2, h3, h4, h5, h6 {\n\tline-height: 1.2;\n\tfont-weight: 300;\n}\n\npre {\n\tdisplay: block;\n\tpadding: 14px;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n\tword-break: normal;\n\tword-wrap: break-word;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tbackground-color: <<colour pre-background>>;\n\tborder: 1px solid <<colour pre-border>>;\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\ncode {\n\tcolor: <<colour code-foreground>>;\n\tbackground-color: <<colour code-background>>;\n\tborder: 1px solid <<colour code-border>>;\n\twhite-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};\n\tpadding: 0 3px 2px;\n\tborder-radius: 3px;\n\tfont-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};\n}\n\nblockquote {\n\tborder-left: 5px solid <<colour blockquote-bar>>;\n\tmargin-left: 25px;\n\tpadding-left: 10px;\n}\n\ndl dt {\n\tfont-weight: bold;\n\tmargin-top: 6px;\n}\n\ntextarea,\ninput[type=text],\ninput[type=search],\ninput[type=\"\"],\ninput:not([type]) {\n\tcolor: <<colour foreground>>;\n\tbackground: <<colour background>>;\n}\n\n.tc-muted {\n\tcolor: <<colour muted-foreground>>;\n}\n\nsvg.tc-image-button {\n\tpadding: 0px 1px 1px 0px;\n}\n\nkbd {\n\tdisplay: inline-block;\n\tpadding: 3px 5px;\n\tfont-size: 0.8em;\n\tline-height: 1.2;\n\tcolor: <<colour foreground>>;\n\tvertical-align: middle;\n\tbackground-color: <<colour background>>;\n\tborder: solid 1px <<colour muted-foreground>>;\n\tborder-bottom-color: <<colour muted-foreground>>;\n\tborder-radius: 3px;\n\tbox-shadow: inset 0 -1px 0 <<colour muted-foreground>>;\n}\n\n/*\nMarkdown likes putting code elements inside pre elements\n*/\npre > code {\n\tpadding: 0;\n\tborder: none;\n\tbackground-color: inherit;\n\tcolor: inherit;\n}\n\ntable {\n\tborder: 1px solid <<colour table-border>>;\n\twidth: auto;\n\tmax-width: 100%;\n\tcaption-side: bottom;\n\tmargin-top: 1em;\n\tmargin-bottom: 1em;\n}\n\ntable th, table td {\n\tpadding: 0 7px 0 7px;\n\tborder-top: 1px solid <<colour table-border>>;\n\tborder-left: 1px solid <<colour table-border>>;\n}\n\ntable thead tr td, table th {\n\tbackground-color: <<colour table-header-background>>;\n\tfont-weight: bold;\n}\n\ntable tfoot tr td {\n\tbackground-color: <<colour table-footer-background>>;\n}\n\n.tc-csv-table {\n\twhite-space: nowrap;\n}\n\n.tc-tiddler-frame img,\n.tc-tiddler-frame svg,\n.tc-tiddler-frame canvas,\n.tc-tiddler-frame embed,\n.tc-tiddler-frame iframe {\n\tmax-width: 100%;\n}\n\n.tc-tiddler-body > embed,\n.tc-tiddler-body > iframe {\n\twidth: 100%;\n\theight: 600px;\n}\n\n/*\n** Links\n*/\n\nbutton.tc-tiddlylink,\na.tc-tiddlylink {\n\ttext-decoration: none;\n\tfont-weight: normal;\n\tcolor: <<colour tiddler-link-foreground>>;\n\t-webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */\n}\n\n.tc-sidebar-lists a.tc-tiddlylink {\n\tcolor: <<colour sidebar-tiddler-link-foreground>>;\n}\n\n.tc-sidebar-lists a.tc-tiddlylink:hover {\n\tcolor: <<colour sidebar-tiddler-link-foreground-hover>>;\n}\n\nbutton.tc-tiddlylink:hover,\na.tc-tiddlylink:hover {\n\ttext-decoration: underline;\n}\n\na.tc-tiddlylink-resolves {\n}\n\na.tc-tiddlylink-shadow {\n\tfont-weight: bold;\n}\n\na.tc-tiddlylink-shadow.tc-tiddlylink-resolves {\n\tfont-weight: normal;\n}\n\na.tc-tiddlylink-missing {\n\tfont-style: italic;\n}\n\na.tc-tiddlylink-external {\n\ttext-decoration: underline;\n\tcolor: <<colour external-link-foreground>>;\n\tbackground-color: <<colour external-link-background>>;\n}\n\na.tc-tiddlylink-external:visited {\n\tcolor: <<colour external-link-foreground-visited>>;\n\tbackground-color: <<colour external-link-background-visited>>;\n}\n\na.tc-tiddlylink-external:hover {\n\tcolor: <<colour external-link-foreground-hover>>;\n\tbackground-color: <<colour external-link-background-hover>>;\n}\n\n/*\n** Drag and drop styles\n*/\n\n.tc-tiddler-dragger {\n\tposition: relative;\n\tz-index: -10000;\n}\n\n.tc-tiddler-dragger-inner {\n\tposition: absolute;\n\tdisplay: inline-block;\n\tpadding: 8px 20px;\n\tfont-size: 16.9px;\n\tfont-weight: bold;\n\tline-height: 20px;\n\tcolor: <<colour dragger-foreground>>;\n\ttext-shadow: 0 1px 0 rgba(0, 0, 0, 1);\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour dragger-background>>;\n\tborder-radius: 20px;\n}\n\n.tc-tiddler-dragger-cover {\n\tposition: absolute;\n\tbackground-color: <<colour page-background>>;\n}\n\n.tc-dropzone {\n\tposition: relative;\n}\n\n.tc-dropzone.tc-dragover:before {\n\tz-index: 10000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour dropzone-background>>;\n\ttext-align: center;\n\tcontent: \"<<lingo DropMessage>>\";\n}\n\n/*\n** Plugin reload warning\n*/\n\n.tc-plugin-reload-warning {\n\tz-index: 1000;\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbackground: <<colour alert-background>>;\n\ttext-align: center;\n}\n\n/*\n** Buttons\n*/\n\nbutton svg, button img, label svg, label img {\n\tvertical-align: middle;\n}\n\n.tc-btn-invisible {\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n}\n\n.tc-btn-boxed {\n\tfont-size: 0.6em;\n\tpadding: 0.2em;\n\tmargin: 1px;\n\tbackground: none;\n\tborder: 1px solid <<colour tiddler-controls-foreground>>;\n\tborder-radius: 0.25em;\n}\n\nhtml body.tc-body .tc-btn-boxed svg {\n\tfont-size: 1.6666em;\n}\n\n.tc-btn-boxed:hover {\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n}\n\nhtml body.tc-body .tc-btn-boxed:hover svg {\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded {\n\tfont-size: 0.5em;\n\tline-height: 2;\n\tpadding: 0em 0.3em 0.2em 0.4em;\n\tmargin: 1px;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour muted-foreground>>;\n\tcolor: <<colour background>>;\n\tborder-radius: 2em;\n}\n\nhtml body.tc-body .tc-btn-rounded svg {\n\tfont-size: 1.6666em;\n\tfill: <<colour background>>;\n}\n\n.tc-btn-rounded:hover {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground: <<colour background>>;\n\tcolor: <<colour muted-foreground>>;\n}\n\nhtml body.tc-body .tc-btn-rounded:hover svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-icon svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-btn-text {\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.tc-btn-big-green {\n\tdisplay: inline-block;\n\tpadding: 8px;\n\tmargin: 4px 8px 4px 8px;\n\tbackground: <<colour download-background>>;\n\tcolor: <<colour download-foreground>>;\n\tfill: <<colour download-foreground>>;\n\tborder: none;\n\tfont-size: 1.2em;\n\tline-height: 1.4em;\n\ttext-decoration: none;\n}\n\n.tc-btn-big-green svg,\n.tc-btn-big-green img {\n\theight: 2em;\n\twidth: 2em;\n\tvertical-align: middle;\n\tfill: <<colour download-foreground>>;\n}\n\n.tc-sidebar-lists input {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-sidebar-lists button {\n\tcolor: <<colour sidebar-button-foreground>>;\n\tfill: <<colour sidebar-button-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini {\n\tcolor: <<colour sidebar-muted-foreground>>;\n}\n\n.tc-sidebar-lists button.tc-btn-mini:hover {\n\tcolor: <<colour sidebar-muted-foreground-hover>>;\n}\n\nbutton svg.tc-image-button, button .tc-image-button img {\n\theight: 1em;\n\twidth: 1em;\n}\n\n.tc-unfold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 100%;\n\twidth: calc(100% + 2px);\n\tmargin-left: -43px;\n\ttext-align: center;\n\tborder-top: 2px solid <<colour tiddler-info-background>>;\n\tmargin-top: 4px;\n}\n\n.tc-unfold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n\tborder-top: 2px solid <<colour tiddler-info-border>>;\n}\n\n.tc-unfold-banner svg, .tc-fold-banner svg {\n\theight: 0.75em;\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-unfold-banner:hover svg, .tc-fold-banner:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n.tc-fold-banner {\n\tposition: absolute;\n\tpadding: 0;\n\tmargin: 0;\n\tbackground: none;\n\tborder: none;\n\twidth: 23px;\n\ttext-align: center;\n\tmargin-left: -35px;\n\ttop: 6px;\n\tbottom: 6px;\n}\n\n.tc-fold-banner:hover {\n\tbackground: <<colour tiddler-info-background>>;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-unfold-banner {\n\t\tposition: static;\n\t\twidth: calc(100% + 59px);\n\t}\n\n\t.tc-fold-banner {\n\t\twidth: 16px;\n\t\tmargin-left: -16px;\n\t\tfont-size: 0.75em;\n\t}\n\n}\n\n/*\n** Tags and missing tiddlers\n*/\n\n.tc-tag-list-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\n.tc-tags-wrapper {\n\tmargin: 4px 0 14px 0;\n}\n\n.tc-missing-tiddler-label {\n\tfont-style: italic;\n\tfont-weight: normal;\n\tdisplay: inline-block;\n\tfont-size: 11.844px;\n\tline-height: 14px;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n}\n\nbutton.tc-tag-label, span.tc-tag-label {\n\tdisplay: inline-block;\n\tpadding: 0.16em 0.7em;\n\tfont-size: 0.9em;\n\tfont-weight: 300;\n\tline-height: 1.2em;\n\tcolor: <<colour tag-foreground>>;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tbackground-color: <<colour tag-background>>;\n\tborder-radius: 1em;\n}\n\n.tc-untagged-separator {\n\twidth: 10em;\n\tleft: 0;\n\tmargin-left: 0;\n\tborder: 0;\n\theight: 1px;\n\tbackground: <<colour tab-divider>>;\n}\n\nbutton.tc-untagged-label {\n\tbackground-color: <<colour untagged-background>>;\n}\n\n.tc-tag-label svg, .tc-tag-label img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour tag-foreground>>;\n}\n\n.tc-tag-manager-table .tc-tag-label {\n\twhite-space: normal;\n}\n\n.tc-tag-manager-tag {\n\twidth: 100%;\n}\n\n/*\n** Page layout\n*/\n\n.tc-topbar {\n\tposition: fixed;\n\tz-index: 1200;\n}\n\n.tc-topbar-left {\n\tleft: 29px;\n\ttop: 5px;\n}\n\n.tc-topbar-right {\n\ttop: 5px;\n\tright: 29px;\n}\n\n.tc-topbar button {\n\tpadding: 8px;\n}\n\n.tc-topbar svg {\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-topbar button:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-sidebar-header {\n\tcolor: <<colour sidebar-foreground>>;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-sidebar-header .tc-title a.tc-tiddlylink-resolves {\n\tfont-weight: 300;\n}\n\n.tc-sidebar-header .tc-sidebar-lists p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-sidebar-header .tc-missing-tiddler-label {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-advanced-search input {\n\twidth: 60%;\n}\n\n.tc-search a svg {\n\twidth: 1.2em;\n\theight: 1.2em;\n\tvertical-align: middle;\n}\n\n.tc-page-controls {\n\tmargin-top: 14px;\n\tfont-size: 1.5em;\n}\n\n.tc-page-controls button {\n\tmargin-right: 0.5em;\n}\n\n.tc-page-controls a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n}\n\n.tc-page-controls img {\n\twidth: 1em;\n}\n\n.tc-page-controls svg {\n\tfill: <<colour sidebar-controls-foreground>>;\n}\n\n.tc-page-controls button:hover svg, .tc-page-controls a:hover svg {\n\tfill: <<colour sidebar-controls-foreground-hover>>;\n}\n\n.tc-menu-list-item {\n\twhite-space: nowrap;\n}\n\n.tc-menu-list-count {\n\tfont-weight: bold;\n}\n\n.tc-menu-list-subitem {\n\tpadding-left: 7px;\n}\n\n.tc-story-river {\n\tposition: relative;\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-sidebar-header {\n\t\tpadding: 14px;\n\t\tmin-height: 32px;\n\t\tmargin-top: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tpadding: 0;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-message-box {\n\t\tmargin: 21px -21px 21px -21px;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tposition: fixed;\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyright}};\n\t\tbottom: 0;\n\t\tright: 0;\n\t\toverflow-y: auto;\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t\tmargin: 0 0 0 -42px;\n\t\tpadding: 71px 0 28px 42px;\n\t}\n\n\t.tc-story-river {\n\t\tposition: relative;\n\t\tleft: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\ttop: {{$:/themes/tiddlywiki/vanilla/metrics/storytop}};\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/storywidth}};\n\t\tpadding: 42px 42px 42px 42px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-story-river {\n\t\twidth: calc(100% - {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}});\n\t}\n\n\">>\n\n}\n\n@media print {\n\n\tbody.tc-body {\n\t\tbackground-color: transparent;\n\t}\n\n\t.tc-sidebar-header, .tc-topbar {\n\t\tdisplay: none;\n\t}\n\n\t.tc-story-river {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.tc-story-river .tc-tiddler-frame {\n\t\tmargin: 0;\n\t\tborder: none;\n\t\tpadding: 0;\n\t}\n}\n\n/*\n** Tiddler styles\n*/\n\n.tc-tiddler-frame {\n\tposition: relative;\n\tmargin-bottom: 28px;\n\tbackground-color: <<colour tiddler-background>>;\n\tborder: 1px solid <<colour tiddler-border>>;\n}\n\n{{$:/themes/tiddlywiki/vanilla/sticky}}\n\n.tc-tiddler-info {\n\tpadding: 14px 42px 14px 42px;\n\tbackground-color: <<colour tiddler-info-background>>;\n\tborder-top: 1px solid <<colour tiddler-info-border>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-border>>;\n}\n\n.tc-tiddler-info p {\n\tmargin-top: 3px;\n\tmargin-bottom: 3px;\n}\n\n.tc-tiddler-info .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour tiddler-info-tab-background>>;\n\tborder-bottom: 1px solid <<colour tiddler-info-tab-background>>;\n}\n\n.tc-view-field-table {\n\twidth: 100%;\n}\n\n.tc-view-field-name {\n\twidth: 1%; /* Makes this column be as narrow as possible */\n\ttext-align: right;\n\tfont-style: italic;\n\tfont-weight: 200;\n}\n\n.tc-view-field-value {\n}\n\n@media (max-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 14px 14px 14px 14px;\n\t}\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -14px 0 -14px;\n\t}\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\t.tc-tiddler-frame {\n\t\tpadding: 28px 42px 42px 42px;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth}};\n\t\tborder-radius: 2px;\n\t}\n\n<<if-no-sidebar \"\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\">>\n\n\t.tc-tiddler-info {\n\t\tmargin: 0 -42px 0 -42px;\n\t}\n}\n\n.tc-site-title,\n.tc-titlebar {\n\tfont-weight: 300;\n\tfont-size: 2.35em;\n\tline-height: 1.2em;\n\tcolor: <<colour tiddler-title-foreground>>;\n\tmargin: 0;\n}\n\n.tc-site-title {\n\tcolor: <<colour site-title-foreground>>;\n}\n\n.tc-tiddler-title-icon {\n\tvertical-align: middle;\n}\n\n.tc-system-title-prefix {\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-titlebar h2 {\n\tfont-size: 1em;\n\tdisplay: inline;\n}\n\n.tc-titlebar img {\n\theight: 1em;\n}\n\n.tc-subtitle {\n\tfont-size: 0.9em;\n\tcolor: <<colour tiddler-subtitle-foreground>>;\n\tfont-weight: 300;\n}\n\n.tc-tiddler-missing .tc-title {\n  font-style: italic;\n  font-weight: normal;\n}\n\n.tc-tiddler-frame .tc-tiddler-controls {\n\tfloat: right;\n}\n\n.tc-tiddler-controls .tc-drop-down {\n\tfont-size: 0.6em;\n}\n\n.tc-tiddler-controls .tc-drop-down .tc-drop-down {\n\tfont-size: 1em;\n}\n\n.tc-tiddler-controls > span > button {\n\tvertical-align: baseline;\n\tmargin-left:5px;\n}\n\n.tc-tiddler-controls button svg, .tc-tiddler-controls button img,\n.tc-search button svg, .tc-search a svg {\n\theight: 0.75em;\n\tfill: <<colour tiddler-controls-foreground>>;\n}\n\n.tc-tiddler-controls button.tc-selected svg,\n.tc-page-controls button.tc-selected svg  {\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n}\n\n.tc-tiddler-controls button.tc-btn-invisible:hover svg,\n.tc-search button:hover svg, .tc-search a:hover svg {\n\tfill: <<colour tiddler-controls-foreground-hover>>;\n}\n\n@media print {\n\t.tc-tiddler-controls {\n\t\tdisplay: none;\n\t}\n}\n\n.tc-tiddler-help { /* Help prompts within tiddler template */\n\tcolor: <<colour muted-foreground>>;\n\tmargin-top: 14px;\n}\n\n.tc-tiddler-help a.tc-tiddlylink {\n\tcolor: <<colour very-muted-foreground>>;\n}\n\n.tc-tiddler-frame .tc-edit-texteditor {\n\twidth: 100%;\n\tmargin: 4px 0 4px 0;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor,\n.tc-tiddler-frame textarea.tc-edit-texteditor,\n.tc-tiddler-frame iframe.tc-edit-texteditor {\n\tpadding: 3px 3px 3px 3px;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tline-height: 1.3em;\n\t-webkit-appearance: none;\n}\n\n.tc-tiddler-frame .tc-binary-warning {\n\twidth: 100%;\n\theight: 5em;\n\ttext-align: center;\n\tpadding: 3em 3em 6em 3em;\n\tbackground: <<colour alert-background>>;\n\tborder: 1px solid <<colour alert-border>>;\n}\n\n.tc-tiddler-frame input.tc-edit-texteditor {\n\tbackground-color: <<colour tiddler-editor-background>>;\n}\n\ncanvas.tc-edit-bitmapeditor  {\n\tborder: 6px solid <<colour tiddler-editor-border-image>>;\n\tcursor: crosshair;\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tmargin-top: 6px;\n\tmargin-bottom: 6px;\n}\n\n.tc-edit-bitmapeditor-width {\n\tdisplay: block;\n}\n\n.tc-edit-bitmapeditor-height {\n\tdisplay: block;\n}\n\n.tc-tiddler-body {\n\tclear: both;\n}\n\n.tc-tiddler-frame .tc-tiddler-body {\n\tfont-size: {{$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize}};\n\tline-height: {{$:/themes/tiddlywiki/vanilla/metrics/bodylineheight}};\n}\n\n.tc-titlebar, .tc-tiddler-edit-title {\n\toverflow: hidden; /* https://github.com/Jermolene/TiddlyWiki5/issues/282 */\n}\n\nhtml body.tc-body.tc-single-tiddler-window {\n\tmargin: 1em;\n\tbackground: <<colour tiddler-background>>;\n}\n\n.tc-single-tiddler-window img,\n.tc-single-tiddler-window svg,\n.tc-single-tiddler-window canvas,\n.tc-single-tiddler-window embed,\n.tc-single-tiddler-window iframe {\n\tmax-width: 100%;\n}\n\n/*\n** Editor\n*/\n\n.tc-editor-toolbar {\n\tmargin-top: 8px;\n}\n\n.tc-editor-toolbar button {\n\tvertical-align: middle;\n\tbackground-color: <<colour tiddler-controls-foreground>>;\n\tfill: <<colour tiddler-controls-foreground-selected>>;\n\tborder-radius: 4px;\n\tpadding: 3px;\n\tmargin: 2px 0 2px 4px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-adjunct {\n\tmargin-left: 1px;\n\twidth: 1em;\n\tborder-radius: 8px;\n}\n\n.tc-editor-toolbar button.tc-text-editor-toolbar-item-start-group {\n\tmargin-left: 11px;\n}\n\n.tc-editor-toolbar button.tc-selected {\n\tbackground-color: <<colour primary>>;\n}\n\n.tc-editor-toolbar button svg {\n\twidth: 1.6em;\n\theight: 1.2em;\n}\n\n.tc-editor-toolbar button:hover {\n\tbackground-color: <<colour tiddler-controls-foreground-selected>>;\n\tfill: <<colour background>>;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more {\n\twhite-space: normal;\n}\n\n.tc-editor-toolbar .tc-text-editor-toolbar-more button {\n\tdisplay: inline-block;\n\tpadding: 3px;\n\twidth: auto;\n}\n\n.tc-editor-toolbar .tc-search-results {\n\tpadding: 0;\n}\n\n/*\n** Adjustments for fluid-fixed mode\n*/\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n<<if-fluid-fixed text:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 0;\n\t\tposition: relative;\n\t\twidth: auto;\n\t\tleft: 0;\n\t\tmargin-left: {{$:/themes/tiddlywiki/vanilla/metrics/storyleft}};\n\t\tmargin-right: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\t.tc-tiddler-frame {\n\t\twidth: 100%;\n\t}\n\n\t.tc-sidebar-scrollable {\n\t\tleft: auto;\n\t\tbottom: 0;\n\t\tright: 0;\n\t\twidth: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth}};\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 42px);\n\t}\n\n\"\"\" hiddenSidebarText:\"\"\"\n\n\t.tc-story-river {\n\t\tpadding-right: 3em;\n\t\tmargin-right: 0;\n\t}\n\n\tbody.tc-body .tc-storyview-zoomin-tiddler {\n\t\twidth: 100%;\n\t\twidth: calc(100% - 84px);\n\t}\n\n\"\"\">>\n\n}\n\n/*\n** Toolbar buttons\n*/\n\n.tc-page-controls svg.tc-image-new-button {\n  fill: <<colour toolbar-new-button>>;\n}\n\n.tc-page-controls svg.tc-image-options-button {\n  fill: <<colour toolbar-options-button>>;\n}\n\n.tc-page-controls svg.tc-image-save-button {\n  fill: <<colour toolbar-save-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-info-button {\n  fill: <<colour toolbar-info-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-edit-button {\n  fill: <<colour toolbar-edit-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-close-button {\n  fill: <<colour toolbar-close-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-delete-button {\n  fill: <<colour toolbar-delete-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-cancel-button {\n  fill: <<colour toolbar-cancel-button>>;\n}\n\n.tc-tiddler-controls button svg.tc-image-done-button {\n  fill: <<colour toolbar-done-button>>;\n}\n\n/*\n** Tiddler edit mode\n*/\n\n.tc-tiddler-edit-frame em.tc-edit {\n\tcolor: <<colour muted-foreground>>;\n\tfont-style: normal;\n}\n\n.tc-edit-type-dropdown a.tc-tiddlylink-missing {\n\tfont-style: normal;\n}\n\n.tc-edit-tags {\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tpadding: 4px 8px 4px 8px;\n}\n\n.tc-edit-add-tag {\n\tdisplay: inline-block;\n}\n\n.tc-edit-add-tag .tc-add-tag-name input {\n\twidth: 50%;\n}\n\n.tc-edit-tags .tc-tag-label {\n\tdisplay: inline-block;\n}\n\n.tc-edit-tags-list {\n\tmargin: 14px 0 14px 0;\n}\n\n.tc-remove-tag-button {\n\tpadding-left: 4px;\n}\n\n.tc-tiddler-preview {\n\toverflow: auto;\n}\n\n.tc-tiddler-preview-preview {\n\tfloat: right;\n\twidth: 49%;\n\tborder: 1px solid <<colour tiddler-editor-border>>;\n\tmargin: 4px 3px 3px 3px;\n\tpadding: 3px 3px 3px 3px;\n}\n\n.tc-tiddler-frame .tc-tiddler-preview .tc-edit-texteditor {\n\twidth: 49%;\n}\n\n.tc-tiddler-frame .tc-tiddler-preview canvas.tc-edit-bitmapeditor {\n\tmax-width: 49%;\n}\n\n.tc-edit-fields {\n\twidth: 100%;\n}\n\n\n.tc-edit-fields table, .tc-edit-fields tr, .tc-edit-fields td {\n\tborder: none;\n\tpadding: 4px;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(odd) {\n\tbackground-color: <<colour tiddler-editor-fields-odd>>;\n}\n\n.tc-edit-fields > tbody > .tc-edit-field:nth-child(even) {\n\tbackground-color: <<colour tiddler-editor-fields-even>>;\n}\n\n.tc-edit-field-name {\n\ttext-align: right;\n}\n\n.tc-edit-field-value input {\n\twidth: 100%;\n}\n\n.tc-edit-field-remove {\n}\n\n.tc-edit-field-remove svg {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n\tvertical-align: middle;\n}\n\n.tc-edit-field-add-name {\n\tdisplay: inline-block;\n\twidth: 15%;\n}\n\n.tc-edit-field-add-value {\n\tdisplay: inline-block;\n\twidth: 40%;\n}\n\n.tc-edit-field-add-button {\n\tdisplay: inline-block;\n\twidth: 10%;\n}\n\n/*\n** Storyview Classes\n*/\n\n.tc-storyview-zoomin-tiddler {\n\tposition: absolute;\n\tdisplay: block;\n\twidth: 100%;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-storyview-zoomin-tiddler {\n\t\twidth: calc(100% - 84px);\n\t}\n\n}\n\n/*\n** Dropdowns\n*/\n\n.tc-btn-dropdown {\n\ttext-align: left;\n}\n\n.tc-btn-dropdown svg, .tc-btn-dropdown img {\n\theight: 1em;\n\twidth: 1em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-drop-down-wrapper {\n\tposition: relative;\n}\n\n.tc-drop-down {\n\tmin-width: 380px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\ttext-shadow: none;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-drop-down {\n\tmargin-left: 14px;\n}\n\n.tc-drop-down button svg, .tc-drop-down a svg  {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down button.tc-btn-invisible:hover svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-drop-down p {\n\tpadding: 0 14px 0 14px;\n}\n\n.tc-drop-down svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-drop-down img {\n\twidth: 1em;\n}\n\n.tc-drop-down-language-chooser img {\n\twidth: 2em;\n\tvertical-align: baseline;\n}\n\n.tc-drop-down a, .tc-drop-down button {\n\tdisplay: block;\n\tpadding: 0 14px 0 14px;\n\twidth: 100%;\n\ttext-align: left;\n\tcolor: <<colour foreground>>;\n\tline-height: 1.4;\n}\n\n.tc-drop-down .tc-tab-set .tc-tab-buttons button {\n\tdisplay: inline-block;\n    width: auto;\n    margin-bottom: 0px;\n    border-bottom-left-radius: 0;\n    border-bottom-right-radius: 0;\n}\n\n.tc-drop-down .tc-prompt {\n\tpadding: 0 14px;\n}\n\n.tc-drop-down .tc-chooser {\n\tborder: none;\n}\n\n.tc-drop-down .tc-chooser .tc-swatches-horiz {\n\tfont-size: 0.4em;\n\tpadding-left: 1.2em;\n}\n\n.tc-drop-down .tc-file-input-wrapper {\n\twidth: 100%;\n}\n\n.tc-drop-down .tc-file-input-wrapper button {\n\tcolor: <<colour foreground>>;\n}\n\n.tc-drop-down a:hover, .tc-drop-down button:hover, .tc-drop-down .tc-file-input-wrapper:hover button {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-drop-down .tc-tab-buttons button {\n\tbackground-color: <<colour dropdown-tab-background>>;\n}\n\n.tc-drop-down .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour dropdown-tab-background-selected>>;\n\tborder-bottom: 1px solid <<colour dropdown-tab-background-selected>>;\n}\n\n.tc-drop-down-bullet {\n\tdisplay: inline-block;\n\twidth: 0.5em;\n}\n\n.tc-drop-down .tc-tab-contents a {\n\tpadding: 0 0.5em 0 0.5em;\n}\n\n.tc-block-dropdown-wrapper {\n\tposition: relative;\n}\n\n.tc-block-dropdown {\n\tposition: absolute;\n\tmin-width: 220px;\n\tborder: 1px solid <<colour dropdown-border>>;\n\tbackground-color: <<colour dropdown-background>>;\n\tpadding: 7px 0;\n\tmargin: 4px 0 0 0;\n\twhite-space: nowrap;\n\tz-index: 1000;\n\ttext-shadow: none;\n}\n\n.tc-block-dropdown.tc-search-drop-down {\n\tmargin-left: -12px;\n}\n\n.tc-block-dropdown a {\n\tdisplay: block;\n\tpadding: 4px 14px 4px 14px;\n}\n\n.tc-block-dropdown.tc-search-drop-down a {\n\tdisplay: block;\n\tpadding: 0px 10px 0px 10px;\n}\n\n.tc-drop-down .tc-dropdown-item-plain,\n.tc-block-dropdown .tc-dropdown-item-plain {\n\tpadding: 4px 14px 4px 7px;\n}\n\n.tc-drop-down .tc-dropdown-item,\n.tc-block-dropdown .tc-dropdown-item {\n\tpadding: 4px 14px 4px 7px;\n\tcolor: <<colour muted-foreground>>;\n}\n\n.tc-block-dropdown a:hover {\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n\ttext-decoration: none;\n}\n\n.tc-search-results {\n\tpadding: 0 7px 0 7px;\n}\n\n.tc-image-chooser, .tc-colour-chooser {\n\twhite-space: normal;\n}\n\n.tc-image-chooser a,\n.tc-colour-chooser a {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.tc-image-chooser a {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 2px;\n\tmargin: 2px;\n\twidth: 4em;\n\theight: 4em;\n}\n\n.tc-colour-chooser a {\n\tpadding: 3px;\n\twidth: 2em;\n\theight: 2em;\n\tvertical-align: middle;\n}\n\n.tc-image-chooser a:hover,\n.tc-colour-chooser a:hover {\n\tbackground: <<colour primary>>;\n\tpadding: 0px;\n\tborder: 3px solid <<colour primary>>;\n}\n\n.tc-image-chooser a svg,\n.tc-image-chooser a img {\n\tdisplay: inline-block;\n\twidth: auto;\n\theight: auto;\n\tmax-width: 3.5em;\n\tmax-height: 3.5em;\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tmargin: auto;\n}\n\n/*\n** Modals\n*/\n\n.tc-modal-wrapper {\n\tposition: fixed;\n\toverflow: auto;\n\toverflow-y: scroll;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 900;\n}\n\n.tc-modal-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1000;\n\tbackground-color: <<colour modal-backdrop>>;\n}\n\n.tc-modal {\n\tz-index: 1100;\n\tbackground-color: <<colour modal-background>>;\n\tborder: 1px solid <<colour modal-border>>;\n}\n\n@media (max-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 1em;\n\t\tleft: 1em;\n\t\tright: 1em;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n@media (min-width: 55em) {\n\t.tc-modal {\n\t\tposition: fixed;\n\t\ttop: 2em;\n\t\tleft: 25%;\n\t\twidth: 50%;\n\t}\n\n\t.tc-modal-body {\n\t\toverflow-y: auto;\n\t\tmax-height: 400px;\n\t\tmax-height: 60vh;\n\t}\n}\n\n.tc-modal-header {\n\tpadding: 9px 15px;\n\tborder-bottom: 1px solid <<colour modal-header-border>>;\n}\n\n.tc-modal-header h3 {\n\tmargin: 0;\n\tline-height: 30px;\n}\n\n.tc-modal-header img, .tc-modal-header svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-modal-body {\n\tpadding: 15px;\n}\n\n.tc-modal-footer {\n\tpadding: 14px 15px 15px;\n\tmargin-bottom: 0;\n\ttext-align: right;\n\tbackground-color: <<colour modal-footer-background>>;\n\tborder-top: 1px solid <<colour modal-footer-border>>;\n}\n\n/*\n** Notifications\n*/\n\n.tc-notification {\n\tposition: fixed;\n\ttop: 14px;\n\tright: 42px;\n\tz-index: 1300;\n\tmax-width: 280px;\n\tpadding: 0 14px 0 14px;\n\tbackground-color: <<colour notification-background>>;\n\tborder: 1px solid <<colour notification-border>>;\n}\n\n/*\n** Tabs\n*/\n\n.tc-tab-set.tc-vertical {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tab-buttons {\n\tfont-size: 0.85em;\n\tpadding-top: 1em;\n\tmargin-bottom: -2px;\n}\n\n.tc-tab-buttons.tc-vertical  {\n\tz-index: 100;\n\tdisplay: block;\n\tpadding-top: 14px;\n\tvertical-align: top;\n\ttext-align: right;\n\tmargin-bottom: inherit;\n\tmargin-right: -1px;\n\tmax-width: 33%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n}\n\n.tc-tab-buttons button.tc-tab-selected {\n\tcolor: <<colour tab-foreground-selected>>;\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-left: 1px solid <<colour tab-border-selected>>;\n\tborder-top: 1px solid <<colour tab-border-selected>>;\n\tborder-right: 1px solid <<colour tab-border-selected>>;\n}\n\n.tc-tab-buttons button {\n\tcolor: <<colour tab-foreground>>;\n\tpadding: 3px 5px 3px 5px;\n\tmargin-right: 0.3em;\n\tfont-weight: 300;\n\tborder: none;\n\tbackground: inherit;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-right: 1px solid <<colour tab-border>>;\n\tborder-top-left-radius: 2px;\n\tborder-top-right-radius: 2px;\n}\n\n.tc-tab-buttons.tc-vertical button {\n\tdisplay: block;\n\twidth: 100%;\n\tmargin-top: 3px;\n\tmargin-right: 0;\n\ttext-align: right;\n\tbackground-color: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tborder-right: none;\n\tborder-top-left-radius: 2px;\n\tborder-bottom-left-radius: 2px;\n}\n\n.tc-tab-buttons.tc-vertical button.tc-tab-selected {\n\tbackground-color: <<colour tab-background-selected>>;\n\tborder-right: 1px solid <<colour tab-background-selected>>;\n}\n\n.tc-tab-divider {\n\tborder-top: 1px solid <<colour tab-divider>>;\n}\n\n.tc-tab-divider.tc-vertical  {\n\tdisplay: none;\n}\n\n.tc-tab-content {\n\tmargin-top: 14px;\n}\n\n.tc-tab-content.tc-vertical  {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-top: 0;\n\tpadding-left: 14px;\n\tborder-left: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 70%;\n\tflex: 1 0 70%;\n}\n\n.tc-sidebar-lists .tc-tab-buttons {\n\tmargin-bottom: -1px;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tcolor: <<colour sidebar-tab-foreground-selected>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border-selected>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border-selected>>;\n}\n\n.tc-sidebar-lists .tc-tab-buttons button {\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tcolor: <<colour sidebar-tab-foreground>>;\n\tborder-left: 1px solid <<colour sidebar-tab-border>>;\n\tborder-top: 1px solid <<colour sidebar-tab-border>>;\n\tborder-right: 1px solid <<colour sidebar-tab-border>>;\n}\n\n.tc-sidebar-lists .tc-tab-divider {\n\tborder-top: 1px solid <<colour sidebar-tab-divider>>;\n}\n\n.tc-more-sidebar .tc-tab-buttons button {\n\tdisplay: block;\n\twidth: 100%;\n\tbackground-color: <<colour sidebar-tab-background>>;\n\tborder-top: none;\n\tborder-left: none;\n\tborder-bottom: none;\n\tborder-right: 1px solid #ccc;\n\tmargin-bottom: inherit;\n}\n\n.tc-more-sidebar .tc-tab-buttons button.tc-tab-selected {\n\tbackground-color: <<colour sidebar-tab-background-selected>>;\n\tborder: none;\n}\n\n/*\n** Alerts\n*/\n\n.tc-alerts {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tmax-width: 500px;\n\tz-index: 20000;\n}\n\n.tc-alert {\n\tposition: relative;\n\tmargin: 28px;\n\tpadding: 14px 14px 14px 14px;\n\tborder: 2px solid <<colour alert-border>>;\n\tbackground-color: <<colour alert-background>>;\n}\n\n.tc-alert-toolbar {\n\tposition: absolute;\n\ttop: 14px;\n\tright: 14px;\n}\n\n.tc-alert-toolbar svg {\n\tfill: <<colour alert-muted-foreground>>;\n}\n\n.tc-alert-subtitle {\n\tcolor: <<colour alert-muted-foreground>>;\n\tfont-weight: bold;\n}\n\n.tc-alert-highlight {\n\tcolor: <<colour alert-highlight>>;\n}\n\n@media (min-width: {{$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint}}) {\n\n\t.tc-static-alert {\n\t\tposition: relative;\n\t}\n\n\t.tc-static-alert-inner {\n\t\tposition: absolute;\n\t\tz-index: 100;\n\t}\n\n}\n\n.tc-static-alert-inner {\n\tpadding: 0 2px 2px 42px;\n\tcolor: <<colour static-alert-foreground>>;\n}\n\n/*\n** Control panel\n*/\n\n.tc-control-panel td {\n\tpadding: 4px;\n}\n\n.tc-control-panel table, .tc-control-panel table input, .tc-control-panel table textarea {\n\twidth: 100%;\n}\n\n.tc-plugin-info {\n\tdisplay: block;\n\tborder: 1px solid <<colour muted-foreground>>;\n\tbackground-colour: <<colour background>>;\n\tmargin: 0.5em 0 0.5em 0;\n\tpadding: 4px;\n}\n\n.tc-plugin-info-disabled {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n\tbackground: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);\n}\n\n.tc-plugin-info-disabled:hover {\n\tbackground: -webkit-repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n\tbackground: repeating-linear-gradient(45deg, #aa0, #aa0 10px, #888 10px, #888 20px);\n}\n\na.tc-tiddlylink.tc-plugin-info:hover {\n\ttext-decoration: none;\n\tbackground-color: <<colour primary>>;\n\tcolor: <<colour background>>;\n\tfill: <<colour foreground>>;\n}\n\na.tc-tiddlylink.tc-plugin-info:hover .tc-plugin-info > .tc-plugin-info-chunk > svg {\n\tfill: <<colour foreground>>;\n}\n\n.tc-plugin-info-chunk {\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-plugin-info-chunk h1 {\n\tfont-size: 1em;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk h2 {\n\tfont-size: 0.8em;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info-chunk div {\n\tfont-size: 0.7em;\n\tmargin: 2px 0 2px 0;\n}\n\n.tc-plugin-info:hover > .tc-plugin-info-chunk > img, .tc-plugin-info:hover > .tc-plugin-info-chunk > svg {\n\twidth: 2em;\n\theight: 2em;\n\tfill: <<colour foreground>>;\n}\n\n.tc-plugin-info > .tc-plugin-info-chunk > img, .tc-plugin-info > .tc-plugin-info-chunk > svg {\n\twidth: 2em;\n\theight: 2em;\n\tfill: <<colour muted-foreground>>;\n}\n\n.tc-plugin-info.tc-small-icon > .tc-plugin-info-chunk > img, .tc-plugin-info.tc-small-icon > .tc-plugin-info-chunk > svg {\n\twidth: 1em;\n\theight: 1em;\n}\n\n.tc-plugin-info-dropdown {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tmargin-top: -8px;\n}\n\n.tc-plugin-info-dropdown-message {\n\tbackground: <<colour message-background>>;\n\tpadding: 0.5em 1em 0.5em 1em;\n\tfont-weight: bold;\n\tfont-size: 0.8em;\n}\n\n.tc-plugin-info-dropdown-body {\n\tpadding: 1em 1em 1em 1em;\n}\n\n/*\n** Message boxes\n*/\n\n.tc-message-box {\n\tborder: 1px solid <<colour message-border>>;\n\tbackground: <<colour message-background>>;\n\tpadding: 0px 21px 0px 21px;\n\tfont-size: 12px;\n\tline-height: 18px;\n\tcolor: <<colour message-foreground>>;\n}\n\n/*\n** Pictures\n*/\n\n.tc-bordered-image {\n\tborder: 1px solid <<colour muted-foreground>>;\n\tpadding: 5px;\n\tmargin: 5px;\n}\n\n/*\n** Floats\n*/\n\n.tc-float-right {\n\tfloat: right;\n}\n\n/*\n** Chooser\n*/\n\n.tc-chooser {\n\tborder: 1px solid <<colour table-border>>;\n}\n\n.tc-chooser-item {\n\tborder: 8px;\n\tpadding: 2px 4px;\n}\n\n.tc-chooser-item a.tc-tiddlylink {\n\tdisplay: block;\n\ttext-decoration: none;\n\tcolor: <<colour tiddler-link-foreground>>;\n\tbackground-color: <<colour tiddler-link-background>>;\n}\n\n.tc-chooser-item a.tc-tiddlylink:hover {\n\ttext-decoration: none;\n\tcolor: <<colour tiddler-link-background>>;\n\tbackground-color: <<colour tiddler-link-foreground>>;\n}\n\n/*\n** Palette swatches\n*/\n\n.tc-swatches-horiz {\n}\n\n.tc-swatches-horiz .tc-swatch {\n\tdisplay: inline-block;\n}\n\n.tc-swatch {\n\twidth: 2em;\n\theight: 2em;\n\tmargin: 0.4em;\n\tborder: 1px solid #888;\n}\n\n/*\n** Table of contents\n*/\n\n.tc-sidebar-lists .tc-table-of-contents {\n\twhite-space: nowrap;\n}\n\n.tc-table-of-contents button {\n\tcolor: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents svg {\n\twidth: 0.7em;\n\theight: 0.7em;\n\tvertical-align: middle;\n\tfill: <<colour sidebar-foreground>>;\n}\n\n.tc-table-of-contents ol {\n\tlist-style-type: none;\n\tpadding-left: 0;\n}\n\n.tc-table-of-contents ol ol {\n\tpadding-left: 1em;\n}\n\n.tc-table-of-contents li {\n\tfont-size: 1.0em;\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li {\n\tfont-size: 0.95em;\n\tfont-weight: normal;\n\tline-height: 1.4;\n}\n\n.tc-table-of-contents li li a {\n\tfont-weight: normal;\n}\n\n.tc-table-of-contents li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n\tline-height: 1.5;\n}\n\n.tc-table-of-contents li li li a {\n\tfont-weight: bold;\n}\n\n.tc-table-of-contents li li li li {\n\tfont-size: 0.95em;\n\tfont-weight: 200;\n}\n\n.tc-tabbed-table-of-contents {\n\tdisplay: -webkit-flex;\n\tdisplay: flex;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents {\n\tz-index: 100;\n\tdisplay: inline-block;\n\tpadding-left: 1em;\n\tmax-width: 50%;\n\t-webkit-flex: 0 0 auto;\n\tflex: 0 0 auto;\n\tbackground: <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a,\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tdisplay: block;\n\tpadding: 0.12em 1em 0.12em 0.25em;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a {\n\tborder-top: 1px solid <<colour tab-background>>;\n\tborder-left: 1px solid <<colour tab-background>>;\n\tborder-bottom: 1px solid <<colour tab-background>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a:hover {\n\ttext-decoration: none;\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour tab-border>>;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a {\n\tborder-top: 1px solid <<colour tab-border>>;\n\tborder-left: 1px solid <<colour tab-border>>;\n\tborder-bottom: 1px solid <<colour tab-border>>;\n\tbackground: <<colour background>>;\n\tmargin-right: -1px;\n}\n\n.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item-selected > a:hover {\n\ttext-decoration: none;\n}\n\n.tc-tabbed-table-of-contents .tc-tabbed-table-of-contents-content {\n\tdisplay: inline-block;\n\tvertical-align: top;\n\tpadding-left: 1.5em;\n\tpadding-right: 1.5em;\n\tborder: 1px solid <<colour tab-border>>;\n\t-webkit-flex: 1 0 50%;\n\tflex: 1 0 50%;\n}\n\n/*\n** Dirty indicator\n*/\n\nbody.tc-dirty span.tc-dirty-indicator, body.tc-dirty span.tc-dirty-indicator svg {\n\tfill: <<colour dirty-indicator>>;\n\tcolor: <<colour dirty-indicator>>;\n}\n\n/*\n** File inputs\n*/\n\n.tc-file-input-wrapper {\n\tposition: relative;\n\toverflow: hidden;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n}\n\n.tc-file-input-wrapper input[type=file] {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tfont-size: 999px;\n\tmax-width: 100%;\n\tmax-height: 100%;\n\tfilter: alpha(opacity=0);\n\topacity: 0;\n\toutline: none;\n\tbackground: white;\n\tcursor: pointer;\n\tdisplay: inline-block;\n}\n\n/*\n** Thumbnail macros\n*/\n\n.tc-thumbnail-wrapper {\n\tposition: relative;\n\tdisplay: inline-block;\n\tmargin: 6px;\n\tvertical-align: top;\n}\n\n.tc-thumbnail-right-wrapper {\n\tfloat:right;\n\tmargin: 0.5em 0 0.5em 0.5em;\n}\n\n.tc-thumbnail-image {\n\ttext-align: center;\n\toverflow: hidden;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-image svg,\n.tc-thumbnail-image img {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n\tmin-width: 100%;\n\tmin-height: 100%;\n\tmax-width: 100%;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-image img {\n\tfilter: alpha(opacity=0.8);\n\topacity: 0.8;\n}\n\n.tc-thumbnail-background {\n\tposition: absolute;\n\tborder-radius: 3px;\n}\n\n.tc-thumbnail-icon svg,\n.tc-thumbnail-icon img {\n\twidth: 3em;\n\theight: 3em;\n\t<<filter \"drop-shadow(2px 2px 4px rgba(0,0,0,0.3))\">>\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon svg,\n.tc-thumbnail-wrapper:hover .tc-thumbnail-icon img {\n\tfill: #fff;\n\t<<filter \"drop-shadow(3px 3px 4px rgba(0,0,0,0.6))\">>\n}\n\n.tc-thumbnail-icon {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tdisplay: -webkit-flex;\n\t-webkit-align-items: center;\n\t-webkit-justify-content: center;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.tc-thumbnail-caption {\n\tposition: absolute;\n\tbackground-color: #777;\n\tcolor: #fff;\n\ttext-align: center;\n\tbottom: 0;\n\twidth: 100%;\n\tfilter: alpha(opacity=0.9);\n\topacity: 0.9;\n\tline-height: 1.4;\n\tborder-bottom-left-radius: 3px;\n\tborder-bottom-right-radius: 3px;\n}\n\n.tc-thumbnail-wrapper:hover .tc-thumbnail-caption {\n\tfilter: alpha(opacity=1);\n\topacity: 1;\n}\n\n/*\n** Errors\n*/\n\n.tc-error {\n\tbackground: #f00;\n\tcolor: #fff;\n}\n"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/bodyfontsize",
            "text": "15px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/bodylineheight": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/bodylineheight",
            "text": "22px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/fontsize": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/fontsize",
            "text": "14px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/lineheight": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/lineheight",
            "text": "20px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/storyleft": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/storyleft",
            "text": "0px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/storytop": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/storytop",
            "text": "0px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/storyright": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/storyright",
            "text": "770px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/storywidth": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/storywidth",
            "text": "770px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/tiddlerwidth",
            "text": "686px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarbreakpoint",
            "text": "960px"
        },
        "$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth": {
            "title": "$:/themes/tiddlywiki/vanilla/metrics/sidebarwidth",
            "text": "350px"
        },
        "$:/themes/tiddlywiki/vanilla/options/stickytitles": {
            "title": "$:/themes/tiddlywiki/vanilla/options/stickytitles",
            "text": "no"
        },
        "$:/themes/tiddlywiki/vanilla/options/sidebarlayout": {
            "title": "$:/themes/tiddlywiki/vanilla/options/sidebarlayout",
            "text": "fixed-fluid"
        },
        "$:/themes/tiddlywiki/vanilla/options/codewrapping": {
            "title": "$:/themes/tiddlywiki/vanilla/options/codewrapping",
            "text": "pre-wrap"
        },
        "$:/themes/tiddlywiki/vanilla/reset": {
            "title": "$:/themes/tiddlywiki/vanilla/reset",
            "type": "text/plain",
            "text": "/*! normalize.css v3.0.0 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n *    user zoom.\n */\n\nhtml {\n  font-family: sans-serif; /* 1 */\n  -ms-text-size-adjust: 100%; /* 2 */\n  -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n  margin: 0;\n}\n\n/* HTML5 display definitions\n   ========================================================================== */\n\n/**\n * Correct `block` display not defined in IE 8/9.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n  display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block; /* 1 */\n  vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9.\n * Hide the `template` element in IE, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n  display: none;\n}\n\n/* Links\n   ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n  background: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n  outline: 0;\n}\n\n/* Text-level semantics\n   ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9, Safari 5, and Chrome.\n */\n\nabbr[title] {\n  border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.\n */\n\nb,\nstrong {\n  font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari 5 and Chrome.\n */\n\ndfn {\n  font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari 5, and Chrome.\n */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n  background: #ff0;\n  color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\n/* Embedded content\n   ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9.\n */\n\nimg {\n  border: 0;\n}\n\n/**\n * Correct overflow displayed oddly in IE 9.\n */\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n/* Grouping content\n   ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari 5.\n */\n\nfigure {\n  margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n  -moz-box-sizing: content-box;\n  box-sizing: content-box;\n  height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n  overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n/* Forms\n   ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n *    Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit; /* 1 */\n  font: inherit; /* 2 */\n  margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10.\n */\n\nbutton {\n  overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8+, and Opera\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n *    and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n *    `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button; /* 2 */\n  cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n  line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome\n *    (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n  -webkit-appearance: textfield; /* 1 */\n  -moz-box-sizing: content-box;\n  -webkit-box-sizing: content-box; /* 2 */\n  box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n  border: 0; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9.\n */\n\ntextarea {\n  overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n  font-weight: bold;\n}\n\n/* Tables\n   ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\ntd,\nth {\n  padding: 0;\n}\n"
        },
        "$:/themes/tiddlywiki/vanilla/settings/fontfamily": {
            "title": "$:/themes/tiddlywiki/vanilla/settings/fontfamily",
            "text": "\"Helvetica Neue\", Helvetica, Arial, \"Lucida Grande\", \"DejaVu Sans\", sans-serif"
        },
        "$:/themes/tiddlywiki/vanilla/settings/codefontfamily": {
            "title": "$:/themes/tiddlywiki/vanilla/settings/codefontfamily",
            "text": "Monaco, Consolas, \"Lucida Console\", \"DejaVu Sans Mono\", monospace"
        },
        "$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment": {
            "title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimageattachment",
            "text": "fixed"
        },
        "$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize": {
            "title": "$:/themes/tiddlywiki/vanilla/settings/backgroundimagesize",
            "text": "auto"
        },
        "$:/themes/tiddlywiki/vanilla/sticky": {
            "title": "$:/themes/tiddlywiki/vanilla/sticky",
            "text": "<$reveal state=\"$:/themes/tiddlywiki/vanilla/options/stickytitles\" type=\"match\" text=\"yes\">\n``\n.tc-tiddler-title {\n\tposition: -webkit-sticky;\n\tposition: -moz-sticky;\n\tposition: -o-sticky;\n\tposition: -ms-sticky;\n\tposition: sticky;\n\ttop: 0px;\n\tbackground: ``<<colour tiddler-background>>``;\n\tz-index: 500;\n}\n``\n</$reveal>\n"
        }
    }
}
fluid-fixed

classic
!! 奥术(Arcane Magic)

法师、术士和吟游诗人施展奥术。和神术相比,奥术更能制造华丽惊人的效果。

!!! 准备法师法术

法师的等级会限制他能够准备和施展的法术数量,法师的高智力值可以让他略微多准备一些额外的法术。法师可以多次准备同一个法术,每次都需计入当日法术量的限制。要准备某等级的法术,法师的智力值必须达到10+该法术等级。

''休息:''法师必须睡眠8小时后,才能准备当日的法术。这期间内他不必完全睡眠,但是他不能移动、战斗、施法、使用技能、谈话,或是做任何会耗费体力和精神的事。如果休息被打断,则每次打扰会使法师多花1小时休息来清醒自己的头脑,而且在准备法术之前,必须要有至少1小时的不间断休息。如果法师由于某种原因可以不必睡眠,在准备法术之前,他仍然需要8小时的休息时间。

''最近施法限制/休息中断:''如果法师刚刚施了法,会由于耗费了心神而降低准备新法术的能力。当法师准备翌日的法术时,过去8小时内施展的法术要全部计入该日法术数量限制。

''准备法术的环境:''准备法术时,法师必须在足够宁静、舒适的地方并能保持专注。虽然环境不需要太奢华,但不可以有能明显让法师分心的事物。恶劣的天气会让法师无法保持必要的专注,在研读的时候受伤和豁免检定失败也会带来同样的结果。法师还需要有他们的法术书和充足的光线来研读法术。但是有一个例外:所有法师都可以不用法术书而准备阅读魔法(read magic)。

''法术准备时间:''休息之后,法术必须研读法术书来准备法术。若要将当日法术量全部准备,需要花1小时。若只准备一部分,则按比例缩短时间,但仍至少需要15分钟,这是稳定心绪所需要的最短时间。

''法术选择及准备:''在法师准备法术之前,他只能施展昨日已准备好并且还未施展的法术。在研读法术书时,法师可选择准备哪些法术,如果他还留有一些昨日准备的且还未用掉的法术,法师可以选择将其部分或全部放弃,为准备新法术空出空间。

准备法术时,法师可以空下一些法术位。在当天之后的时候里,他可以根据需要多次重复之前的准备过程,只要时间和环境允许即可。在这种额外的准备过程中,法师可以在之前未使用过的法术位上准备法术。但此时不能放弃已准备好的法术,也不能使用之前用掉法术而空出的法术位。此类准备同样需要稳定心绪,整个过程也至少需要15分钟。若法师预留了1/4以上的法术位,则需要花费更多的时间。

''法术位:''不同的人物职业表格标示了该职业各个等级每天可以施展的法术数量。这些放置每日法术的空位称为法术位。施法者可以选择在高等级法术位中填入较低等级的法术。若某施法者由于属性值不足而无法施展他应得的较高等级的法术,他仍然可以获得该等级的法术位,但是只能填入较低等级的法术。

''维持准备好的法术:''一旦法师准备好法术,该法术就会作为一道即将施展的法术留在法师的脑海中,直到法师使用必要的法术成分施放法术,或是放弃此法术。某些特定事物,如魔法物品的效果或怪物的特殊攻击,能将准备好的法术从法师的脑海里抹去。

''死亡和维持法术:''法师死亡后,他所准备好的法术会全部被忘掉。有些强力法术(如死者复活(raise dead)、复生术(resurrection)、完全复生术(true resurrection))能在复活人物的同时回复他失去的魔法能量。 

!!! 抄写奥术

法师使用复杂的符号来表示法术的魔法力量,将其记录成文字形式。无论其本身的语言和文化如何,法师们使用同一个符号系统来抄录法术。但是每个法师抄录的方式不同,所以即使是强大的法师,也要花时间研究和破译之后,才能读懂别人抄录的法术。

要解读奥术魔法文字(如别人法术书上的法术或抄录在卷轴上的法术),人物必须进行一次辨识法术检定(DC=20+该法术等级)。若该技能检定失败,则人物无法辨识该法术,且一天之内不可重试。阅读魔法(read magic)可以自动解读魔法文字而无需检定。如果抄录者在阅读者身边帮助他进行阅读,那么也可以自动成功。

一旦人物解读了某魔法文字,便不需要再次解读。解读魔法文字能使阅读者鉴定该法术并使其了解到法术的部分信息(如同法术描述中的解释)。若该魔法文字是卷轴且阅读者可施展奥术,他就能尝试使用该卷轴。

!!!! 法师法术和借来的法术书

法师能通过借来的法术书准备那些他已经学习并抄录在自己法术书上的法术,但不一定能够成功准备。首先,法师必须解读书上的文字(见上文抄写奥术的说明),解读文字之后,法师必须进行辨识法术检定(DC=15+法术等级)来准备法术,检定成功则法师可以准备该法术。若下次还要准备该法术,则无论以前准备过多少次,还需要再次进行检定。若检定失败,则一天之内法师无法从这本书上准备该法术。(不过,如上所述,解读文字时的检定只需要成功一次。)

!!!! 将法术加入法术书

法师有数种方法将新法术加入自己的法术书。若法师选择了魔法学派专精,那么他只能学习自己可以施展的法术学派的法术。

''升级时获得法术:''在冒险过程中,法师会进行一定量的法术研究。每当人物获得一个新的法师职业等级,他可以选择两个新法术加入到法术书中,这两个法术必须是法师能够施展的法术等级。若法师选择专精某个魔法学派,则两个法术中至少有一个得是该专精学派的法术。

''从他人的法术书或卷轴上复制法术:''法师可以将他在别人的法术书或卷轴上遇到的法术复制到自己的法术书上。无论是哪种情况,法师都必须先解读该魔法文字(见上文抄写奥术的说明),然后再花一天的时间研究该法术。在这一天的最后,法师要进行辨识法术检定(DC=15+该法术等级)。专精某学派的法师在研究属于自己专精学派的法术时,辨识法术检定可获得+2加值。专精法师不能学习禁制学派的法术。若检定成功,法师理解了该法术且可以把它复制到自己的书里(见下文关于将新法术抄写至法术书的说明)。如果是从法术书上复制法术,则原书不受影响;若法术复制自卷轴,则法术会从卷轴上消失。

若检定失败,法师将不能理解法术,也不能把法术复制到自己的书中。在他的辨识法术技能级数提升之前,法师无法再次研究该法术。此时如果研究自卷轴上的法术不会消失。

大多数情况下,从其他法师的书上复制法术需要支付费用给书的主人,此费用通常为:法术等级×50金币。

''独立研究:''法师同样可以独立研究法术,包括复制既有的法术或创造全新的法术。

!!!! 将新法术抄写至法术书

一旦法师理解了某个新法术,就可以将其抄录到自己的法术书中。

''时间:''无论法术的等级是多少,抄录法术的过程需要24小时。

''法术书空间:''每个法术占用的页数为每法术等级一页,即使是0级法术(戏法)每个也要占一页。一本法术书有100页。

''材料和花费:''每抄写一页法术书的材料需花费100金币。

注意,法师不必为获得新的法师等级时免费得到的法术付出上文提到的时间和金钱花费。

!!!! 替换和复制法术书

法师可以按照学习法术的过程重新制作一本丢失的法术书。如果他已经准备了某法术,便可以将其直接抄录到新的法术书上,每页花费100金币(如上文“将新法术抄写至法术书”所述)。此过程会令法师忘记该法术,就像用掉了该法术一样。如果他没有准备法术,则可以先从借来的法术书中准备法术,再将其抄录到新的书上。

复制一本存在的法术书的过程和替换法术书一样,但更容易些。付出的时间和每页花费减半。

!!!! 贩卖法术书

战利品中的法术书可以卖掉,价格等于购买费用和抄录其中法术费用的的一半(即“100金币/每法术页”的一半)。记满了法术的法术书(即记了100页法术)价值5,000金币。

!!! 术士和吟游诗人

术士和吟游诗人也施展奥术,但他们没有法术书也不需准备法术。术士或吟游诗人的职业等级限制了他们的每日法术数量(见相关职业描述),魅力值高的人物可以获得额外法术。对这两种职业而言,要施展某等级的法术,人物的魅力值必须达到10+该法术等级。

''每日施法准备:''每天,术士和吟游诗人必须集中精神才能施法,他们需要8小时的休息(如同法师),然后花15分钟保持专注。(此时吟游诗人还需要吟唱、朗诵或演奏某种乐器。)经过此过程,吟游诗人和术士调整好了精神状态,能够施展当天的法术。若不如此集中精神,人物便不能回复前一日用掉的法术数量。

''最近施法限制:''和法师一样,术士和吟游诗人8小时之内施展的法术需要计入当天的法术数量限制。

''将法术加入术士或吟游诗人的法术选单:''术士和吟游诗人只能在获得新的术士或吟游诗人等级时获得新法术。当术士或吟游诗人获得新的等级时,参照“表:术士所知法术”或“表:吟游诗人所知法术”来确定术士或吟游诗人能从相应的法术列表中了解多少法术。如果得到许可,术士和吟游诗人也可以选择一些他们已经获得一定了解的新的不平常的法术

!!! 怪物与宝藏

每个怪物都有一个宝藏级数(这说明了其拥有的宝藏数量,虽然有些生物的宝藏级数是“无”)。细节在下面的表格有说明。在怪物描述里得到宝藏级数和种类(货币,货物,物品)后,投骰来决定结果。

当遭遇到离开巢穴的怪物时,记住它们只会拥有那些便于携带的物品。对于那些不能使用宝藏的怪物来说,生成的结果就是没有。怪物会尽可能守卫或隐藏它们的宝物,但当它们离开巢穴时会将宝藏留下。

!!!!宝藏表格的使用

宝藏类别左边是参考的宝藏等级。宝藏等级等于遭遇怪物的遭遇级别。基本宝藏(包括货币,货物,和物品)需要投骰三次来决定,每类一次。

''表格: 每次遭遇可得的宝藏价值''

|!	遭遇级别	|!	一次遭遇可得的宝藏	|!	遭遇级别	|!	一次遭遇可得的宝藏	|
|^	1	|^	300 金币	|^	11	|^	7,500 金币	|
|^	2	|^	600 金币	|^	12	|^	9,800 金币	|
|^	3	|^	900 金币	|^	13	|^	13,000 金币	|
|^	4	|^	1,200 金币	|^	14	|^	17,000 金币	|
|^	5	|^	1,600 金币	|^	15	|^	22,000 金币	|
|^	6	|^	2,000 金币	|^	16	|^	28,000 金币	|
|^	7	|^	2,600 金币	|^	17	|^	36,000 金币	|
|^	8	|^	3,400 金币	|^	18	|^	47,000 金币	|
|^	9	|^	4,500 金币	|^	19	|^	61,000 金币	|
|^	10	|^	5,800 金币	|^	20	|^	80,000 金币	|

一般来说,玩家应当在每一次胜利的遭遇后得到适合他们等级的宝藏。

''表格:平均宝藏价值''

|!	类型	|!	平均价值	|
|^	宝石	|^	275 金币	|
|^	艺术品	|^	1,100 金币	|
|^	普通物品 	|^	350 金币	|
|^	低级魔法物品	|^	1,000 金币	|
|^	中级魔法物品 	|^	10,000 金币	|
|^	高级魔法物品 	|^	40,000 金币	|

''表格: 宝藏''

|!	等级	|!	百分骰%	|!	–— 货币 –—	|!	d%	|!	货物	|!	d%	|!	物品	|
|^	1	|^	01–14	|^	—	|^	01–90	|^	—	|^	01–71	|^	—	|
|^		|^	15–29	|^	1d6 x 1,000 铜币	|^	91–95	|^	1 宝石	|^	72–95	|^	1 个普通物品	|
|^		|^	30–52	|^	1d8 x 100 银币	|^	96–100	|^	1 个艺术品	|^	96–100	|^	1 个低级魔法物品	|
|^		|^	53–95	|^	2d8 x 10 金币	|^		|^		|^		|^		|
|^		|^	96–100	|^	1d4 x 10 白金币	|^		|^		|^		|^		|
|^	2	|^	01–13	|^	—	|^	01–81	|^	—	|^	01–49	|^	—	|
|^		|^	14–23	|^	1d10 x 1,000 铜币	|^	82–95	|^	1d3 宝石	|^	50–85	|^	1 个普通物品	|
|^		|^	24–43	|^	2d10 x 100 银币	|^	96–100	|^	1d3 个艺术品	|^	86–100	|^	1 个低级魔法物品	|
|^		|^	44–95	|^	4d10 x 10 金币	|^		|^		|^		|^		|
|^		|^	96–100	|^	2d8 x 10 白金币	|^		|^		|^		|^		|
|^	3	|^	01–11	|^	—	|^	01–77	|^	—	|^	01–49	|^	—	|
|^		|^	12–21	|^	2d10 x 1,000 铜币	|^	78–95	|^	1d3 宝石	|^	50–79	|^	1d3 个普通物品	|
|^		|^	22–41	|^	4d8 x 100 银币	|^	96–100	|^	1d3 个艺术品	|^	80–100	|^	1 个低级魔法物品	|
|^		|^	42–95	|^	1d4 x 100 金币	|^		|^		|^		|^		|
|^		|^	96–100	|^	1d10 x 10 白金币	|^		|^		|^		|^		|
|^	4	|^	01–11	|^	—	|^	01–70	|^	—	|^	01–42	|^	—	|
|^		|^	12–21	|^	3d10 x 1,000 铜币	|^	71–95	|^	1d4 宝石	|^	43–62	|^	1d4 个普通物品	|
|^		|^	22–41	|^	4d12 x 1,000 银币	|^	96–100	|^	1d3 个艺术品	|^	63–100	|^	1 个低级魔法物品	|
|^		|^	42–95	|^	1d6 x 100 金币	|^		|^		|^		|^		|
|^		|^	96–100	|^	1d8 x 10 白金币	|^		|^		|^		|^		|
|^	5	|^	01–10	|^	—	|^	01–60	|^	—	|^	01–57	|^	—	|
|^		|^	11–19	|^	1d4 x 10,000 铜币	|^	61–95	|^	1d4 宝石	|^	58–67	|^	1d4 个普通物品	|
|^		|^	20–38	|^	1d6 x 1,000 银币	|^	96–100	|^	1d4 个艺术品	|^	68–100	|^	1d3 个低级魔法物品	|
|^		|^	39–95	|^	1d8 x 100 金币	|^		|^		|^		|^		|
|^		|^	96–100	|^	1d10 x 10 白金币	|^		|^		|^		|^		|
|^	6	|^	01–10	|^	—	|^	01–56	|^	—	|^	01–54	|^	—	|
|^		|^	11–18	|^	1d6 x 10,000 铜币	|^	57–92	|^	1d4 宝石	|^	55–59	|^	1d4 个普通物品	|
|^		|^	19–37	|^	1d8 x 1,000 银币	|^	93–100	|^	1d4 个艺术品	|^	60–99	|^	1d3 个低级魔法物品	|
|^		|^	38–95	|^	1d10 x 100 金币	|^	100	|^	1 个中级魔法物品	|^		|^		|
|^		|^	96–100	|^	1d12 x 10 白金币	|^		|^		|^		|^		|
|^	7	|^	01–11	|^	—	|^	01–48	|^	—	|^	01–51	|^	—	|
|^		|^	12–18	|^	1d10 x 10,000 铜币	|^	49–88	|^	1d4 宝石	|^	52–97	|^	1d3 个低级魔法物品	|
|^		|^	19–35	|^	1d12 x 1,000 银币	|^	89–100	|^	1d4 个艺术品	|^	98–100	|^	1 个中级魔法物品	|
|^		|^	36–93	|^	2d6 x 100 金币	|^		|^		|^		|^		|
|^		|^	94–100	|^	3d4 x 10 白金币	|^		|^		|^		|^		|
|^	8	|^	01–10	|^	—	|^	01–45	|^	—	|^	01–48	|^	—	|
|^		|^	11–15	|^	1d12 x 10,000 铜币	|^	46–85	|^	1d6 宝石	|^	49–96	|^	1d4 个低级魔法物品	|
|^		|^	16–29	|^	2d6 x 1,000 银币	|^	86–100	|^	1d4 个艺术品	|^	97–100	|^	1 个中级魔法物品	|
|^		|^	30–87	|^	2d8 x 100 金币	|^		|^		|^		|^		|
|^		|^	88–100	|^	3d6 x 10 白金币	|^		|^		|^		|^		|
|^	9	|^	01–10	|^	—	|^	01–40	|^	—	|^	01–43	|^	—	|
|^		|^	11–15	|^	2d6 x 10,000 铜币	|^	41–80	|^	1d8 宝石	|^	44–91	|^	1d4 个低级魔法物品	|
|^		|^	16–29	|^	2d8 x 1,000 银币	|^	81–100	|^	1d4 个艺术品	|^	92–100	|^	1 个中级魔法物品	|
|^		|^	30–85	|^	5d4 x 100 金币	|^		|^		|^		|^		|
|^		|^	86–100	|^	2d12 x 10 白金币	|^		|^		|^		|^		|
|^	10	|^	01–10	|^	—	|^	01–35	|^	—	|^	01–40	|^	—	|
|^		|^	11–24	|^	2d10 x 1,000 银币	|^	36–79	|^	1d8 宝石	|^	41–88	|^	1d4 个低级魔法物品	|
|^		|^	25–79	|^	6d4 x 100 金币	|^	80–100	|^	1d6 个艺术品	|^	89–99	|^	1 个中级魔法物品	|
|^		|^	80–100	|^	5d6 x 10 白金币	|^	100	|^	1 个高级魔法物品	|^		|^		|
|^	11	|^	01–08	|^	—	|^	01–24	|^	—	|^	01–31	|^	—	|
|^		|^	09–14	|^	3d10 x 1,000 银币	|^	25–74	|^	1d10 宝石	|^	32–84	|^	1d4 个低级魔法物品	|
|^		|^	15–75	|^	4d8 x 100 金币	|^	75–100	|^	1d6 个艺术品	|^	85–98	|^	1 个中级魔法物品	|
|^		|^	76–100	|^	4d10 x 10 白金币	|^	99–100	|^	1 个高级魔法物品	|^		|^		|
|^	12	|^	01–08	|^	—	|^	01–17	|^	—	|^	01–27	|^	—	|
|^		|^	09–14	|^	3d12 x 1,000 银币	|^	18–70	|^	1d10 宝石	|^	28–82	|^	1d6 个低级魔法物品	|
|^		|^	15–75	|^	1d4 x 1,000 金币	|^	71–100	|^	1d8 个艺术品	|^	83–97	|^	1 个中级魔法物品	|
|^		|^	76–100	|^	1d4 x 100 白金币	|^	98–100	|^	1 个高级魔法物品	|^		|^		|
|^	13	|^	01–08	|^	—	|^	01–11	|^	—	|^	01–19	|^	—	|
|^		|^	09–75	|^	1d4 x 1,000 金币	|^	12–66	|^	1d12 宝石	|^	20–73	|^	1d6 个低级魔法物品	|
|^		|^	76–100	|^	1d10 x 100 白金币	|^	67–100	|^	1d10 个艺术品	|^	74–95	|^	1 个中级魔法物品	|
|^		|^	96–100	|^	1 个高级魔法物品	|^		|^		|^		|^		|
|^	14	|^	01–08	|^	—	|^	01–11	|^	—	|^	01–19	|^	—	|
|^		|^	09–75	|^	1d6 x 1,000 金币	|^	12–66	|^	2d8 宝石	|^	20–58	|^	1d6 个低级魔法物品	|
|^		|^	76–100	|^	1d12 x 100 白金币	|^	67–100	|^	2d6 个艺术品	|^	59–92	|^	1 个中级魔法物品	|
|^		|^	93–100	|^	1 个高级魔法物品	|^		|^		|^		|^		|
|^	15	|^	01–03	|^	—	|^	01–09	|^	—	|^	01–11	|^	—	|
|^		|^	04–74	|^	1d8 x 1,000 金币	|^	10–65	|^	2d10 宝石	|^	12–46	|^	1d10 个低级魔法物品	|
|^		|^	75–100	|^	3d4 x 100 白金币	|^	66–100	|^	2d8 个艺术品	|^	47–90	|^	1 个中级魔法物品	|
|^		|^	91–100	|^	1 个高级魔法物品	|^		|^		|^		|^		|
|^	16	|^	01–03	|^	—	|^	01–07	|^	—	|^	01–40	|^	—	|
|^		|^	04–74	|^	1d12 x 1,000 金币	|^	08–64	|^	4d6 宝石	|^	41–46	|^	1d10 个低级魔法物品	|
|^		|^	75–100	|^	3d4 x 100 白金币	|^	65–100	|^	2d10 个艺术品	|^	47–90	|^	1d3 个中级魔法物品	|
|^		|^	91–100	|^	1 个高级魔法物品	|^		|^		|^		|^		|
|^	17	|^	01–03	|^	—	|^	01–04	|^	—	|^	01–33	|^	—	|
|^		|^	04–68	|^	3d4 x 1,000 金币	|^	05–63	|^	4d8 宝石	|^	34–83	|^	1d3 个中级魔法物品	|
|^		|^	69–100	|^	2d10 x 100 白金币	|^	64–100	|^	3d8 个艺术品	|^	84–100	|^	1 个高级魔法物品	|
|^	18	|^	01–02	|^	—	|^	01–04	|^	—	|^	01–24	|^	—	|
|^		|^	03–65	|^	3d6 x 1,000 金币	|^	05–54	|^	3d12 宝石	|^	25–80	|^	1d4 个中级魔法物品	|
|^		|^	66–100	|^	5d4 x 100 白金币	|^	55–100	|^	3d10 个艺术品	|^	81–100	|^	1 个高级魔法物品	|
|^	19	|^	01–02	|^	—	|^	01–03	|^	—	|^	01–04	|^	—	|
|^		|^	03–65	|^	3d8 x 1,000 金币	|^	04–50	|^	6d6 宝石	|^	05–70	|^	1d4 个中级魔法物品	|
|^		|^	66–100	|^	3d10 x 100 白金币	|^	51–100	|^	6d6 个艺术品	|^	71–100	|^	1 个高级魔法物品	|
|^	20	|^	01–02	|^	—	|^	01–02	|^	—	|^	01–25	|^	—	|
|^		|^	03–65	|^	4d8 x 1,000 金币	|^	03–38	|^	4d10 宝石	|^	26–65	|^	1d4 个中级魔法物品	|
|^		|^	66–100	|^	4d10 x 100 白金币	|^	39–100	|^	7d6 个艺术品	|^	66–100	|^	1d3 个高级魔法物品	|


对于超过20级的情况,使用20级那一栏,再加上一定数量的随机高级魔法物品。

|!	等级	|!	魔法物品	|!	等级	|!	魔法物品	|!	等级	|!	魔法物品	|
|^	21	|^	+1	|^	25	|^	+9	|^	28	|^	+23	|
|^	22	|^	+2	|^	26	|^	+12	|^	29	|^	+31	|
|^	23	|^	+4	|^	27	|^	+17	|^	30	|^	+42	|
|^	24	|^	+6	|^		|^		|^		|^		|


''表格: 宝石''

|!	百分骰%	|!	价值	|!	平均值	|!	范例	|
|^	01–25	|^	4d4 金币	|^	10 金币	|^	玛瑙;石青;蓝水晶;赤血石;天青石;孔雀石;黑曜石;菱锰石;虎眼绿;杂色珍珠	|
|^	26–50	|^	2d4 x 10 金币	|^	50 金币	|^	血石髓;红玉髓;玉髓;绿玉髓;黄水晶;堇青石;碧玉;月长石;缟玛瑙;橄榄石;水晶;红玉髓;红条纹玛瑙;	|
|^	51–70	|^	4d4 x 10 金币	|^	100 金币	|^	琥珀;紫水晶;金绿玉;珊瑚;石榴石;翡翠;黑玉;珍珠;红晶石;墨绿晶	|
|^	71–90	|^	2d4 x 100 金币	|^	500 金币	|^	紫翠玉;绿玉;紫石榴石;黑珍珠;蓝晶石;黄玉	|
|^	91–99	|^	4d4 x 100 金币	|^	1,000 金币	|^	绿宝石;猫眼;蓝宝石;刚玉;红宝石	|
|^	100	|^	2d4 x 1,000 金币	|^	5,000 金币	|^	祖母绿;钻石;风信之石	|


''表格: 艺术品''

|!	百分骰%	|!	价值	|!	平均值	|!	范例	|
|^	01–10	|^	1d10 x 10 金币	|^	55 金币	|^	银质容器;象牙雕像;黄金手镯	|
|^	11–25	|^	3d6 x 10 金币	|^	105 金币	|^	金丝服装;黑天鹅绒面具;镶有宝石的银杯	|
|^	26–40	|^	1d6 x 100 金币	|^	350 金币	|^	大型羊毛挂毯;翡翠镶嵌的黄铜杯	|
|^	41–50	|^	1d10 x 100 金币	|^	550 金币	|^	银梳;剑柄嵌有宝石的银剑	|
|^	51–60	|^	2d6 x 100 金币	|^	700 金币	|^	用象牙和宝石装饰的竖琴;金像(10磅)	|
|^	61–70	|^	3d6 x 100 金币	|^	1,050 金币	|^	金龙梳;黄金瓶塞;黄金匕首	|
|^	71–80	|^	4d6 x 100 金币	|^	1,400 金币	|^	蓝宝石眼罩;猫眼挂坠;古画	|
|^	81–85	|^	5d6 x 100 金币	|^	1,750 金币	|^	镶边天鹅绒斗篷;蓝宝石挂链	|
|^	86–90	|^	1d4 x 1,000 金币	|^	2,500 金币	|^	珠宝手套;宝石脚镯;黄金八音盒	|
|^	91–95	|^	1d6 x 1,000 金币	|^	3,500 金币	|^	金头环;珍珠项链	|
|^	96–99	|^	2d4 x 1,000 金币	|^	5,000 金币	|^	皇冠;宝石戒指	|
|^	100	|^	2d6 x 1,000 金币	|^	7,000 金币	|^	红宝石戒指;祖母绿黄金杯	|


''表格:普通物品''

|!	百分骰%	|!	普通物品	|
|^	01–17	|^	炼金术物品	|
|^	01–12	|^	炽火胶 (1d4 瓶, 每瓶20 金币 )	|
|^	13–24	|^	强酸 (2d4 瓶,每瓶 10 金币 )	|
|^	25–36	|^	烟雾棒 (1d4 只, 每只20 金币 )	|
|^	37–48	|^	圣水 (1d4 瓶, 每瓶25 金币)	|
|^	49–62	|^	抗毒剂 (1d4份,每份 50 金币)	|
|^	63–74	|^	永燃火把	|
|^	75–88	|^	缠足包 (1d4 包, 每包50 金币 )	|
|^	89–100	|^	爆雷石 (1d4 块, 每块30 金币)	|
|^	18–50	|^	盔甲 (掷百分骰: 01–10 = 小型, 11–100 = 中级)	|
|^	01–12	|^	链甲 (100 金币)	|
|^	13–18	|^	精制镶嵌皮甲 (175 金币)	|
|^	19–26	|^	胸甲 (200 金币)	|
|^	27–34	|^	板条甲(250 金币)	|
|^	35–54	|^	半身甲 (600 金币)	|
|^	55–80	|^	全身甲 (1,500 金币)	|
|^	81–90	|^	黑木	|
|^	01–50	|^	小圆盾 (205 金币)	|
|^	51–100	|^	盾(257 金币)	|
|^	91–100	|^	精制盾	|
|^	01–17	|^	小圆盾 (165 金币)	|
|^	18–40	|^	轻木盾 (153 金币)	|
|^	41–60	|^	轻钢盾 (159 金币)	|
|^	61–83	|^	重木盾 (157 金币)	|
|^	84–100	|^	重钢盾 (170 金币)	|
|^	51–83	|^	武器	|
|^	01–50	|^	精制普通近战武器	|
|^	51–70	|^	精制特殊近战武器	|
|^	71–100	|^	精制普通远程武器	|
|^	84–100	|^	工具和装备	|
|^	01–03	|^	背包 (2 金币)	|
|^	04–06	|^	铁撬 (2 金币)	|
|^	07–11	|^	牛眼提灯 (12 金币)	|
|^	12–16	|^	简单的锁 (20 金币)	|
|^	17–21	|^	一般的锁 (40 金币)	|
|^	22–28	|^	优质的锁 (80 金币)	|
|^	29–35	|^	精巧的锁 (150 金币)	|
|^	36–40	|^	精制镣铐 (50 金币)	|
|^	41–43	|^	铜面小镜(10 金币)	|
|^	44–46	|^	丝绳 (50 ft.) (10 金币)	|
|^	47–53	|^	望远镜 (1,000 金币)	|
|^	54–58	|^	精制工匠工具 (55 金币)	|
|^	59–63	|^	攀爬工具 (80 金币)	|
|^	64–68	|^	易容工具 (50 金币)	|
|^	69–73	|^	医疗工具 (50 金币)	|
|^	74–77	|^	银制圣徽 (25 金币)	|
|^	78–81	|^	沙漏 (25 金币)	|
|^	82–88	|^	放大镜 (100 金币)	|
|^	89–95	|^	精制乐器 (100 金币)	|
|^	96–100	|^	精制盗贼工具 (50 金币)	|











!! 德鲁伊的法术

!!! 德鲁伊的0级法术(祷念,ORISONS)
<<list-links "[tag[德鲁伊0]]+[sort[title]]>>

!!! 德鲁伊的1级法术
<<list-links "[tag[德鲁伊1]]+[sort[title]]>>

!!! 德鲁伊的2级法术
<<list-links "[tag[德鲁伊2]]+[sort[title]]>>

!!! 德鲁伊的3级法术
<<list-links "[tag[德鲁伊3]]+[sort[title]]>>

!!! 德鲁伊的4级法术
<<list-links "[tag[德鲁伊4]]+[sort[title]]>>

!!! 德鲁伊的5级法术
<<list-links "[tag[德鲁伊5]]+[sort[title]]>>

!!! 德鲁伊的6级法术
<<list-links "[tag[德鲁伊6]]+[sort[title]]>>

!!! 德鲁伊的7级法术
<<list-links "[tag[德鲁伊7]]+[sort[title]]>>

!!! 德鲁伊的8级法术
<<list-links "[tag[德鲁伊8]]+[sort[title]]>>

!!! 德鲁伊的9级法术
<<list-links "[tag[德鲁伊9]]+[sort[title]]>>












!! 术士/法师的法术(SORCERER/WIZARD SPELLS)

!!! 术士/法师的0级法术(戏法,CANTRIPS)
防护系(Abjur)
<<list-links "[tag[术士0]][tag[法师0]]+[tag[防护]]+[sort[title]]>>
咒法系(Conj)
<<list-links "[tag[术士0]][tag[法师0]]+[tag[咒法]]+[sort[title]]>>
预言系(Div)
<<list-links "[tag[术士0]][tag[法师0]]+[tag[预言]]+[sort[title]]>>
惑控系(Ench)
<<list-links "[tag[术士0]][tag[法师0]]+[tag[惑控]]+[sort[title]]>>
塑能系(Evoc)
<<list-links "[tag[术士0]][tag[法师0]]+[tag[塑能]]+[sort[title]]>>
幻术系(Illus)
<<list-links "[tag[术士0]][tag[法师0]]+[tag[幻术]]+[sort[title]]>>
死灵系(Necro)
<<list-links "[tag[术士0]][tag[法师0]]+[tag[死灵]]+[sort[title]]>>
变化系(Trans)
<<list-links "[tag[术士0]][tag[法师0]]+[tag[变化]]+[sort[title]]>>
共通(Univ)
<<list-links "[tag[术士0]][tag[法师0]]+[tag[共通]]+[sort[title]]>>

!!! 术士/法师的1级法术
防护系(Abjur)
<<list-links "[tag[术士1]][tag[法师1]]+[tag[防护]]+[sort[title]]>>
咒法系(Conj)
<<list-links "[tag[术士1]][tag[法师1]]+[tag[咒法]]+[sort[title]]>>
预言系(Div)
<<list-links "[tag[术士1]][tag[法师1]]+[tag[预言]]+[sort[title]]>>
惑控系(Ench)
<<list-links "[tag[术士1]][tag[法师1]]+[tag[惑控]]+[sort[title]]>>
塑能系(Evoc)
<<list-links "[tag[术士1]][tag[法师1]]+[tag[塑能]]+[sort[title]]>>
幻术系(Illus)
<<list-links "[tag[术士1]][tag[法师1]]+[tag[幻术]]+[sort[title]]>>
死灵系(Necro)
<<list-links "[tag[术士1]][tag[法师1]]+[tag[死灵]]+[sort[title]]>>
变化系(Trans)
<<list-links "[tag[术士1]][tag[法师1]]+[tag[变化]]+[sort[title]]>>
共通(Univ)
<<list-links "[tag[术士1]][tag[法师1]]+[tag[共通]]+[sort[title]]>>

!!! 术士/法师的2级法术
防护系(Abjur)
<<list-links "[tag[术士2]][tag[法师2]]+[tag[防护]]+[sort[title]]>>
咒法系(Conj)
<<list-links "[tag[术士2]][tag[法师2]]+[tag[咒法]]+[sort[title]]>>
预言系(Div)
<<list-links "[tag[术士2]][tag[法师2]]+[tag[预言]]+[sort[title]]>>
惑控系(Ench)
<<list-links "[tag[术士2]][tag[法师2]]+[tag[惑控]]+[sort[title]]>>
塑能系(Evoc)
<<list-links "[tag[术士2]][tag[法师2]]+[tag[塑能]]+[sort[title]]>>
幻术系(Illus)
<<list-links "[tag[术士2]][tag[法师2]]+[tag[幻术]]+[sort[title]]>>
死灵系(Necro)
<<list-links "[tag[术士2]][tag[法师2]]+[tag[死灵]]+[sort[title]]>>
变化系(Trans)
<<list-links "[tag[术士2]][tag[法师2]]+[tag[变化]]+[sort[title]]>>
共通(Univ)
<<list-links "[tag[术士2]][tag[法师2]]+[tag[共通]]+[sort[title]]>>

!!! 术士/法师的3级法术
防护系(Abjur)
<<list-links "[tag[术士3]][tag[法师3]]+[tag[防护]]+[sort[title]]>>
咒法系(Conj)
<<list-links "[tag[术士3]][tag[法师3]]+[tag[咒法]]+[sort[title]]>>
预言系(Div)
<<list-links "[tag[术士3]][tag[法师3]]+[tag[预言]]+[sort[title]]>>
惑控系(Ench)
<<list-links "[tag[术士3]][tag[法师3]]+[tag[惑控]]+[sort[title]]>>
塑能系(Evoc)
<<list-links "[tag[术士3]][tag[法师3]]+[tag[塑能]]+[sort[title]]>>
幻术系(Illus)
<<list-links "[tag[术士3]][tag[法师3]]+[tag[幻术]]+[sort[title]]>>
死灵系(Necro)
<<list-links "[tag[术士3]][tag[法师3]]+[tag[死灵]]+[sort[title]]>>
变化系(Trans)
<<list-links "[tag[术士3]][tag[法师3]]+[tag[变化]]+[sort[title]]>>
共通(Univ)
<<list-links "[tag[术士3]][tag[法师3]]+[tag[共通]]+[sort[title]]>>

!!! 术士/法师的4级法术
防护系(Abjur)
<<list-links "[tag[术士4]][tag[法师4]]+[tag[防护]]+[sort[title]]>>
咒法系(Conj)
<<list-links "[tag[术士4]][tag[法师4]]+[tag[咒法]]+[sort[title]]>>
预言系(Div)
<<list-links "[tag[术士4]][tag[法师4]]+[tag[预言]]+[sort[title]]>>
惑控系(Ench)
<<list-links "[tag[术士4]][tag[法师4]]+[tag[惑控]]+[sort[title]]>>
塑能系(Evoc)
<<list-links "[tag[术士4]][tag[法师4]]+[tag[塑能]]+[sort[title]]>>
幻术系(Illus)
<<list-links "[tag[术士4]][tag[法师4]]+[tag[幻术]]+[sort[title]]>>
死灵系(Necro)
<<list-links "[tag[术士4]][tag[法师4]]+[tag[死灵]]+[sort[title]]>>
变化系(Trans)
<<list-links "[tag[术士4]][tag[法师4]]+[tag[变化]]+[sort[title]]>>

*强记术仅限法师使用。

共通(Univ)
<<list-links "[tag[术士4]][tag[法师4]]+[tag[共通]]+[sort[title]]>>

!!! 术士/法师的5级法术
防护系(Abjur)
<<list-links "[tag[术士5]][tag[法师5]]+[tag[防护]]+[sort[title]]>>
咒法系(Conj)
<<list-links "[tag[术士5]][tag[法师5]]+[tag[咒法]]+[sort[title]]>>
预言系(Div)
<<list-links "[tag[术士5]][tag[法师5]]+[tag[预言]]+[sort[title]]>>
惑控系(Ench)
<<list-links "[tag[术士5]][tag[法师5]]+[tag[惑控]]+[sort[title]]>>
塑能系(Evoc)
<<list-links "[tag[术士5]][tag[法师5]]+[tag[塑能]]+[sort[title]]>>
幻术系(Illus)
<<list-links "[tag[术士5]][tag[法师5]]+[tag[幻术]]+[sort[title]]>>
死灵系(Necro)
<<list-links "[tag[术士5]][tag[法师5]]+[tag[死灵]]+[sort[title]]>>
变化系(Trans)
<<list-links "[tag[术士5]][tag[法师5]]+[tag[变化]]+[sort[title]]>>
共通(Univ)
<<list-links "[tag[术士5]][tag[法师5]]+[tag[共通]]+[sort[title]]>>

!!! 术士/法师的6级法术
防护系(Abjur)
<<list-links "[tag[术士6]][tag[法师6]]+[tag[防护]]+[sort[title]]>>
咒法系(Conj)
<<list-links "[tag[术士6]][tag[法师6]]+[tag[咒法]]+[sort[title]]>>
预言系(Div)
<<list-links "[tag[术士6]][tag[法师6]]+[tag[预言]]+[sort[title]]>>
惑控系(Ench)
<<list-links "[tag[术士6]][tag[法师6]]+[tag[惑控]]+[sort[title]]>>
塑能系(Evoc)
<<list-links "[tag[术士6]][tag[法师6]]+[tag[塑能]]+[sort[title]]>>
幻术系(Illus)
<<list-links "[tag[术士6]][tag[法师6]]+[tag[幻术]]+[sort[title]]>>
死灵系(Necro)
<<list-links "[tag[术士6]][tag[法师6]]+[tag[死灵]]+[sort[title]]>>
变化系(Trans)
<<list-links "[tag[术士6]][tag[法师6]]+[tag[变化]]+[sort[title]]>>

*法师回忆术仅限法师使用。

共通(Univ)
<<list-links "[tag[术士6]][tag[法师6]]+[tag[共通]]+[sort[title]]>>

!!! 术士/法师的7级法术
防护系(Abjur)
<<list-links "[tag[术士7]][tag[法师7]]+[tag[防护]]+[sort[title]]>>
咒法系(Conj)
<<list-links "[tag[术士7]][tag[法师7]]+[tag[咒法]]+[sort[title]]>>
预言系(Div)
<<list-links "[tag[术士7]][tag[法师7]]+[tag[预言]]+[sort[title]]>>
惑控系(Ench)
<<list-links "[tag[术士7]][tag[法师7]]+[tag[惑控]]+[sort[title]]>>
塑能系(Evoc)
<<list-links "[tag[术士7]][tag[法师7]]+[tag[塑能]]+[sort[title]]>>
幻术系(Illus)
<<list-links "[tag[术士7]][tag[法师7]]+[tag[幻术]]+[sort[title]]>>
死灵系(Necro)
<<list-links "[tag[术士7]][tag[法师7]]+[tag[死灵]]+[sort[title]]>>
变化系(Trans)
<<list-links "[tag[术士7]][tag[法师7]]+[tag[变化]]+[sort[title]]>>
共通(Univ)
<<list-links "[tag[术士7]][tag[法师7]]+[tag[共通]]+[sort[title]]>>

!!! 术士/法师的8级法术
防护系(Abjur)
<<list-links "[tag[术士8]][tag[法师8]]+[tag[防护]]+[sort[title]]>>
咒法系(Conj)
<<list-links "[tag[术士8]][tag[法师8]]+[tag[咒法]]+[sort[title]]>>
预言系(Div)
<<list-links "[tag[术士8]][tag[法师8]]+[tag[预言]]+[sort[title]]>>
惑控系(Ench)
<<list-links "[tag[术士8]][tag[法师8]]+[tag[惑控]]+[sort[title]]>>
塑能系(Evoc)
<<list-links "[tag[术士8]][tag[法师8]]+[tag[塑能]]+[sort[title]]>>
幻术系(Illus)
<<list-links "[tag[术士8]][tag[法师8]]+[tag[幻术]]+[sort[title]]>>
死灵系(Necro)
<<list-links "[tag[术士8]][tag[法师8]]+[tag[死灵]]+[sort[title]]>>
变化系(Trans)
<<list-links "[tag[术士8]][tag[法师8]]+[tag[变化]]+[sort[title]]>>
共通(Univ)
<<list-links "[tag[术士8]][tag[法师8]]+[tag[共通]]+[sort[title]]>>

!!! 术士/法师的9级法术
防护系(Abjur)
<<list-links "[tag[术士9]][tag[法师9]]+[tag[防护]]+[sort[title]]>>
咒法系(Conj)
<<list-links "[tag[术士9]][tag[法师9]]+[tag[咒法]]+[sort[title]]>>
预言系(Div)
<<list-links "[tag[术士9]][tag[法师9]]+[tag[预言]]+[sort[title]]>>
惑控系(Ench)
<<list-links "[tag[术士9]][tag[法师9]]+[tag[惑控]]+[sort[title]]>>
塑能系(Evoc)
<<list-links "[tag[术士9]][tag[法师9]]+[tag[塑能]]+[sort[title]]>>
幻术系(Illus)
<<list-links "[tag[术士9]][tag[法师9]]+[tag[幻术]]+[sort[title]]>>
死灵系(Necro)
<<list-links "[tag[术士9]][tag[法师9]]+[tag[死灵]]+[sort[title]]>>
变化系(Trans)
<<list-links "[tag[术士9]][tag[法师9]]+[tag[变化]]+[sort[title]]>>
共通(Univ)
<<list-links "[tag[术士9]][tag[法师9]]+[tag[共通]]+[sort[title]]>>

<<list-links "[tag[法术和领域]]">>



法术列表中的一个法术后面的M或F角标分别意味着这个法术需要特殊材料或法器成分,这些通常不会包含在法术材料包中。一个X角标意味着施法者需要支付经验值。

''法术描述顺序:''法术列表中法术的描述顺序是以法术英文名称按字母顺序排列,除非那些法术属于一个特定的法术链。

如果一个法术是以“次等(lesser)”,“高等(greater)”,“群体(mass)”作为开头,那么在排列时用这个法术的第二个单词取代开头单词作为排列标准。

''生命骰(Hit Dice,HD):''当法术结果关系到生物的生命骰数的时候,生命骰的用法就等价于人物等级(character levels)。对于那些生命骰数仅仅来自于他们的种族,而与职业无关的生物来说,它们的人物等级就等于他们的生命骰数。

''施法者等级(Caster Level):''法术的强度通常取决于施法者等级,也就是在施展某道法术时施法者的职业等级。若该生物没有职业,则其施法者等级等于其生命骰数,除非另有指定。法术列表中的“等级”就是指施法者等级。

''生物与人物(Creatures and Characters):''在法术描述中,“生物”与“人物”是等价的。

<<list-links "[tag[法术]]+[sort[title]]>>

!! 负重能力

人物的移动速度如何被其穿着的防具和携带的物品重量减缓是由累赘规则所决定的。累赘分两种:防具累赘和负重。

''防具累赘(Encumbrance by Armor):''防具决定了人物防御等级上的最大敏捷加值,防具检定减值,速度和奔跑速度。除非人物过于瘦弱或携带过多物品,否则你只需要知道这么多。你携带的其他物品不会在盔甲的基础上更进一步降低速度。

然而,若人物过于瘦弱或携带过多物品,你就必须计算重量负重,尤其是当你想要携带较重的物品时。

''负重(Weight):''若你想要知道你的人物所携带物品是否重到比盔甲还能降低速度,可将防具、武器和所有物品的重量合计,然后根据人物的力量,参照表:负重能力判定人物的负重是属于轻度负荷、中度负荷或是重度负荷。携带物品的总重量会限制人物防御等级上的最大敏捷加值,负重检定减值(类似防具检定减值),一般移动速度和奔跑系数,如果人物某项能力会因为穿着中型盔甲或重型盔甲而受限,则在中度负荷或重度负荷时,也分别会有同样限制。人物在轻度负荷时行动不会受阻碍。

如果你穿着防具,则每一类的计算中都以两者中较糟糕的为准,不需重复累计。

''举重和拖行(Lifting and Dragging):''人物可以把重量相当于最大负重的东西举过头顶。

人物也可以把重量两倍于最大负重的物品抬离地面,但只能勉强移动。这时人物失去防御等级中的敏捷加值,并且每轮只能以整轮动作移动5尺。

人物在一般情况下可以推动或拖行五倍于最大负重的物品。若在较好的状况下重量可以再加倍。如果状况较差,重量至少减半。

''体型较大或较小的生物:''表:负重能力是以中型生物为基准,体型较大的生物依体型的不同可以携带更多倍的重量,倍数如下:大型(Large)(×2)、超大型(Huge)(×4)、巨型(Gargantuan)(×8)和超巨型(Colossal)(×16)。体型较小的生物则依体型不同所能携带的重量较少:小型(Small)(×3/4)、超小型(Tiny)(×1/2)、微型(Diminutive)(×1/4)和超微型(Fine)(×1/8)。

四足生物比人物能携带更多的负重。根据该动物的力量值,查阅表:负重能力并用以下倍数来代替之前给出的倍数来决定其负重:超微型(×1/4)、微型(×1/2)、超小型(×3/4)、小型(×1)、中型(×1-1/2)、大型(×3)、超大型(×6)、巨型(×12)和超巨型(×24)。

''超乎寻常的力量:''对力量值无法在表:负重能力上查到的生物,从表中力量值20到29中,根据该生物力量值个位数找到对应的负重数值,然后十位数字每多10点就相应把负重数值乘以4。

''表:负重能力''

|!	力量值	|!	轻度负荷	|!	中度负荷	|!	重度负荷	|
|^	1	|^	3磅或以下	|^	4-6磅	|^	7-10磅	|
|^	2	|^	6磅或以下	|^	7-13磅	|^	14-20磅	|
|^	3	|^	10磅或以下	|^	11-20磅	|^	21-30磅	|
|^	4	|^	13磅或以下	|^	14-26磅	|^	27-40磅	|
|^	5	|^	16磅或以下	|^	17-33磅	|^	34-50磅	|
|^	6	|^	20磅或以下	|^	21-40磅	|^	41-60磅	|
|^	7	|^	23磅或以下	|^	24-46磅	|^	47-70磅	|
|^	8	|^	26磅或以下	|^	27-53磅	|^	54-80磅	|
|^	9	|^	30磅或以下	|^	31-60磅	|^	61-90磅	|
|^	10	|^	33磅或以下	|^	34-66磅	|^	67-100磅	|
|^	11	|^	38磅或以下	|^	39-76磅	|^	77-115磅	|
|^	12	|^	43磅或以下	|^	44-86磅	|^	87-130磅	|
|^	13	|^	50磅或以下	|^	51-100磅	|^	101-150磅	|
|^	14	|^	58磅或以下	|^	59-116磅	|^	117-175磅	|
|^	15	|^	66磅或以下	|^	67-133磅	|^	134-200磅	|
|^	16	|^	76磅或以下	|^	77-153磅	|^	154-230磅	|
|^	17	|^	86磅或以下	|^	87-173磅	|^	174-260磅	|
|^	18	|^	100磅或以下	|^	101-200磅	|^	201-300磅	|
|^	19	|^	116磅或以下	|^	117-233磅	|^	234-350磅	|
|^	20	|^	133磅或以下	|^	134-266磅	|^	267-400磅	|
|^	21	|^	153磅或以下	|^	154-306磅	|^	307-460磅	|
|^	22	|^	173磅或以下	|^	174-346磅	|^	347-520磅	|
|^	23	|^	200磅或以下	|^	201-400磅	|^	401-600磅	|
|^	24	|^	233磅或以下	|^	234-466磅	|^	467-700磅	|
|^	25	|^	266磅或以下	|^	267-533磅	|^	534-800磅	|
|^	26	|^	306磅或以下	|^	307-613磅	|^	614-920磅	|
|^	27	|^	346磅或以下	|^	347-693磅	|^	694-1,040磅	|
|^	28	|^	400磅或以下	|^	401-800磅	|^	801-1,200磅	|
|^	29	|^	466磅或以下	|^	467-933磅	|^	934-1,400磅	|
|^	+10	|^	x4	|^	x4	|^	x4	|

''表:负重影响''

|!		|!		|!		|!	---速度---	|<|<|
|!	负重情况	|!	最大敏捷加值	|!	检定减值	|!	(30英尺)	|!	(20英尺)	|!	奔跑	|
|^	中度负荷	|^	+3	|^	-3	|^	20英尺	|^	15英尺	|^	x4	|
|^	重度负荷	|^	+1	|^	-6	|^	20英尺	|^	15英尺	|^	x3	|

!!!!防具和负重量对其他基本速度的影响

下表列出了基本速度为20英尺到100英尺之间(以10尺为增量)防具和负重量造成的影响。

|!	基本速度	|!	减缓后速度	|!	基本速度	|!	减缓后速度	|
|^	20英尺	|^	15英尺	|^	70英尺	|^	50英尺	|
|^	30英尺	|^	20英尺	|^	80英尺	|^	55英尺	|
|^	40英尺	|^	30英尺	|^	90英尺	|^	60英尺	|
|^	50英尺	|^	35英尺	|^	100英尺	|^	70英尺	|
|^	60英尺	|^	40英尺	|^		|^		|

!! 移动(MOVEMENT)

游戏中的移动量度有三种:

*战术移动(Tactical):战斗时使用,以每轮中行动的英尺数(或方格数)计算。
*区域移动(Local):探索区域时使用,以每分钟行动的英尺数计算。
*陆上移动(Overland):长距离移动时,以每小时或每天移动的英里数计算。


''移动方式:''不论是哪种移动量度,一般可以都分为行走、急行或奔跑。

//行走(Walk)://对于无负重拖累的人类,从容不迫但是有目的的移动下每小时约可行走3英里。

//急行(Hustle)://急行是一种慢跑,无负重拖累的人类每小时约可急行6英里。对于在一轮内移动双倍速度,或者一轮内除了移动单倍距离外还做了一个标准动作或者其他移动动作的人物来说,他在移动时就是急行。

//奔跑(Run,×3)://对于穿重型盔甲的人物而言,奔跑就是以一般速度的三倍速移动。穿着全身盔甲的人类,每小时约可跑6英里。

//奔跑(Run,×4)://对于轻度负荷、中度负荷或未着盔甲的人而言,奔跑就是以一般速度的四倍速移动。无负重拖累的人类每小时约可跑12英里,若穿着链甲则约每小时8英里。


!!! 战术移动(TACTICAL MOVEMENT)

战斗时使用战术移动。通常人物在战斗中不是行走,而是急行或奔跑。如果人物在移动时进行一些动作,视为以半轮时间急行,半轮时间做事。


''受阻移动(Hampered Movement):''障碍物,地面状况不佳或视线不良都会减缓移动的速度。当移动受阻时,每个方格通常当作两个方格来计算,效果等同于减少了人物在一次移动中可以移动的距离。

如果多种状况同时发生,则把一般状况的移动速度乘上所有的移动减值。(这是正常翻倍规则的特例)

在某些情况下,你的移动受阻使你甚至无法移动5英尺(1格),在这种情况下,你可以使用一个全回合动作向任何方向移动5英尺(1格)。虽然这看起来像五尺快步,但它不是,而且这会引发对手正常的借机攻击。(你无法在无法通行的地形上或你无法移动时使用本规则。)

你无法以奔跑或冲锋穿过任何会阻碍你移动的方格。


!!! 区域移动(LOCAL MOVEMENT)

人物探索某个区域时,以分钟为单位计算速度。

''行走(Walk):''在区域量度下行走不会有任何问题。

''急行(Hustle):''在区域量度下急行不会有任何问题。但若急行超过1小时,请见下文有关陆上移动的说明。

''奔跑(Run):''人物体质若达到9或更高,可以跑1分钟而不会有任何问题。一般每跑1到2分钟需休息1分钟。


!!! 陆上移动(OVERLAND MOVEMENT)

穿越原野这类长距离移动时使用陆上移动规则。陆上移动以每小时或每天为单位,所谓一天是指8小时实际旅行时间。使用划桨船时,一天是指划行10小时。搭乘以风力航行的船只时,一天是指航行24小时。

''行走(Walk):''每天可以毫无问题的行走8小时。超过8小时则可能会累倒(参阅有关强行军的说明)

''急行(Hustle):''人物可以毫无问题的急行1小时。如果在两次睡眠之间急行超过1小时,第二小时会受到1点非致命伤害,而且每多一小时会再受到相当于前一小时的两倍伤害。人物由于急行受到任何非致命伤害都会导致疲乏(fatigued)。

一个疲乏的人物无法奔跑、冲锋,且力量和敏捷都会受到-2减值。解除非致命伤害同时会解除疲乏。

''奔跑(Run):''人物无法长时间连续奔跑。

有规律地跑跑停停其实就是急行。

''地形(Terrain):''地形会影响你当天或该小时所能移动的距离(查阅表:地形和陆上移动)。大道(highway)是指又直又宽,由人工铺出的路。便道(road)是指泥土路。小径(trail)和便道差不多,但只能允许队伍以一列纵队前进,而且不利于行驶车辆。荒野(trackless)则是指没有路的原野。

''强行军(Forced March):''一般旅行时,一天可以走8小时,其他时间则用于扎营、拔营、休息及饮食。

如果进行强行军,一天可以移动超过8小时,然后每小时需做一次体质检定(DC10,每超过1小时+2)。如果检定失败,会受到1d6点非致命伤害。在强行军中受到非致命伤害的人物会陷入疲乏。消除非致命伤害同时会解除疲乏。过于勉强人物可能会昏迷。

''骑乘移动(Mounted Movement):''载人的坐骑可以急行,但它受到的是普通伤害而非非致命伤害。载人的坐骑也可以强行军,但它的体质检定必定失败,而且受到的也是一般伤害。在急行和强行军中受到伤害的坐骑也会陷入疲乏。

查阅表:坐骑和车辆来了解不同坐骑和被动物牵引的车辆的速度。

''水路移动(Waterborne Movement):''查阅表:坐骑和车辆来了解水路移动的速度。

''表:移动和距离 ''

|!		|!	-------速度-------	|<|<|<|
|^		|^	15英尺	|^	20英尺	|^	30英尺	|^	40英尺	|
|''1轮(战术移动)^^1^^'' |<|<|<|<|
|^	行走	|^	15英尺	|^	20英尺	|^	30英尺	|^	40英尺	|
|^	急行	|^	30英尺	|^	40英尺	|^	60英尺	|^	80英尺	|
|^	奔跑(×3)	|^	45英尺	|^	60英尺	|^	90英尺	|^	120英尺	|
|^	奔跑(×4)	|^	60英尺	|^	80英尺	|^	120英尺	|^	160英尺	|
|''1分钟(区域移动)'' |<|<|<|<|
|^	行走	|^	150英尺	|^	200英尺	|^	300英尺	|^	400英尺	|
|^	急行	|^	300英尺	|^	400英尺	|^	600英尺	|^	800英尺	|
|^	奔跑(×3)	|^	450英尺	|^	600英尺	|^	900英尺	|^	1,200英尺	|
|^	奔跑(×4)	|^	600英尺	|^	800英尺	|^	1,200英尺	|^	1,600英尺	|
|''1小时(陆上移动)'' |<|<|<|<|
|^	行走	|^	1-1/2英里	|^	2英里	|^	3英里	|^	4英里	|
|^	急行	|^	3英里	|^	4英里	|^	6英里	|^	8英里	|
|^	奔跑	|^	-	|^	-	|^	-	|^	-	|
|''1天(陆上移动)'' |<|<|<|<|
|^	行走	|^	12英里	|^	16英里	|^	24英里	|^	32英里	|
|^	急行	|^	-	|^	-	|^	-	|^	-	|
|^	奔跑	|^	-	|^	-	|^	-	|^	-	|
|^	1 //战术移动时通常用战斗地图上整齐的方格表示,而非使用英尺(1方格=5英尺)。	//|<|<|<|<|


''表:受阻移动 ''

|!	状况	|!	移动减速	|
|^	困难地形	|^	x2	|
|^	障碍物1	|^	x2	|
|^	视线不良	|^	x2	|
|^	无法通行	|^	-	|
|^	1也许需要一次技能检定	|<|

''表:地形和陆上移动 ''

|!	地形	|!	大道	|!	便道和小径	|!	荒野	|
|^	沙漠	|^	x1	|^	X1/2	|^	x1/2	|
|^	森林	|^	x1	|^	X1	|^	x1/2	|
|^	丘陵	|^	x1	|^	X3/4	|^	x1/2	|
|^	丛林	|^	x1	|^	X3/4	|^	x1/4	|
|^	荒野	|^	x1	|^	X1	|^	x3/4	|
|^	山地	|^	x3/4	|^	X3/4	|^	x1/2	|
|^	平原	|^	x1	|^	x1	|^	x3/4	|
|^	沼泽	|^	x1	|^	x3/4	|^	x1/2	|
|^	苔原,冻土带	|^	x1	|^	x3/4	|^	x3/4	|


''表:坐骑和车辆''

|!	坐骑/车辆	|!	每小时	|!	每天	|
|^	坐骑(负重)	|^		|^		|
|^	轻型马/轻型战马	|^	6英里	|^	48英里	|
|^	轻型马(151-450磅)^^1^^	|^	4英里	|^	32英里	|
|^	轻型战马(231-690磅)^^1^^|^	4英里	|^	32英里	|
|^	重型马/重型战马	|^	5英里	|^	40英里	|
|^	重型马(201-600磅)^^1^^	|^	3-1/2英里	|^	28英里	|
|^	重型战马(301-900磅)^^1^^	|^	3-1/2英里	|^	28英里	|
|^	矮种马/矮种战马	|^	4英里	|^	32英里	|
|^	矮种马(76-225磅)^^1^^	|^	3英里	|^	24英里	|
|^	矮种战马(101-300磅)^^1^^	|^	3英里	|^	24英里	|
|^	驴/骡	|^	3英里	|^	24英里	|
|^	驴(51-150磅)^^1^^	|^	2英里	|^	16英里	|
|^	骡(231-690磅)^^1^^	|^	2英里	|^	16英里	|
|^	骑乘用犬	|^	4英里	|^	32英里	|
|^	骑乘用犬(101-300磅)^^1^^	|^	3英里	|^	24英里	|
|^	轻型马车/重型马车	|^	2英里	|^	16英里	|
|^	船	|^		|^		|
|^	木筏/驳船(撑篙/拖曳)^^2^^	|^	1/2英里	|^	5英里	|
|^	平底船(划桨)^^2^^	|^	1英里	|^	10英里	|
|^	划艇(划桨)^^2^^	|^	1-1/2英里	|^	15英里	|
|^	帆船(扬帆)	|^	2英里	|^	48英里	|
|^	战舰(扬帆并划桨)	|^	2-1/2英里	|^	60英里	|
|^	长船(扬帆并划桨)	|^	3英里	|^	72英里	|
|^	大型划船(扬帆并划桨)	|^	4英里	|^	96英里	|

|^	1 //像马那样的四足动物可以比人物携带更重的负荷。查阅表:负重能力获得更多介绍。//	|^		|^		|
|^	2 //木筏、驳船和平底船是用在河上或湖中。如果顺流而下,把水的流速(通常3英里/小时)加到船速上。而除了划船的10小时之外,如果有人掌舵,则船就能再额外顺流漂行14小时,也就是每天多42英里的航行距离。这几种船不能沿任何河流逆流划行而上,但可以借助沿岸的动物拖曳而上。//	|^		|^		|


!!! 三维移动(MOVING IN THREE DIMENSIONS)

!!!!战术空间移动(Tactical Aerial Movement)

有时会出现复杂的三维空间立体场景,这种场景牵涉到空中滞留、转向与保持速度等变化情形。大多数飞行生物在转弯时都必须减速,其中有许多还必须绕一大圈才能转向,而且必须要保持一个最低向前速度。每种飞行生物都具有不同的机动性,详情可查阅表:机动性。

最低向前速度(Minimum Forward Speed):飞行生物若不能维持其最低向前速度,便必须在移动结束时着陆。若该生物所处位置离地面过高,则他在第一轮中便会笔直地向下坠落150呎。若此距离足以让该生物着地,则该生物受到坠落伤害(Falling Damage)。若此距离不足以使该生物着地,则该生物必须在下一轮从失速坠下的状态回复为正常状态。要从失速中回复,须通过反射检定(DC 20),若未通过便继续向下坠落300呎。若此轮落下距离足以使该生物着地,该生物便受到坠落伤害。倘若此距离尚未足以使该生物着地,则该生物在下一轮中仍能进行失速回复检定。

//盘旋(Hover)://空中滞留的能力。

//倒退飞行(Move Backward)://向后方飞行的能力。

//倒退(Reverse)://具有良好(good)机动性的生物在以其速度开始倒退飞行前必须先消耗掉相当于5尺的移动。

//转向(Turn)://生物前进特定距离时,可同时转向的最大角度。

//急转弯(Turn in Place)://生物的机动性若为普通或良好,便能消耗一定速度进行急转弯。

//最大转向角度(Maximum Turn)://生物在原地转身时的最大转向角度。

//仰角(Up Angle)://生物向上攀升的最大角度。

//爬升速度(Up Speed)://生物向上攀升的最大速度。

//俯角(Down Angle)://生物向下俯冲的最大角度。

//俯冲速度(Down Speed)://飞行生物能以两倍飞行速度向下俯冲。

//升降缓冲(Between Down and Up)://机动性为普通、不良或笨拙的飞行生物,在向上攀升前和向下俯冲后必须平飞一段距离。但飞行生物在向上攀升之后便能立即向下俯冲,中间不须再进行平飞的过程。

''表:机动性 ''

|!		|!	机动性	|!		|!		|!		|!		|
|!		|!	完美(Perfect)	|!	良好(Good)	|!	普通(Average)	|!	不良(Poor)	|!	笨拙(Clumsy)	|
|^	最低飞行速度	|^	无	|^	无	|^	半速	|^	半速	|^	半速	|
|^	盘旋	|^	可以	|^	可以	|^	不可	|^	不可	|^	不可	|
|^	倒退飞行	|^	可以	|^	可以	|^	不可	|^	不可	|^	不可	|
|^	倒退	|^	任意	|^	-5英尺	|^	不可	|^	不可	|^	不可	|
|^	转向	|^	任意	|^	90o/5英尺	|^	45o/5英尺	|^	45o/5英尺	|^	45o/10英尺	|
|^	急转弯	|^	任意	|^	+90o/-5英尺	|^	+45o/-5英尺	|^	不可	|^	不可	|
|^	最大转向角度	|^	任意	|^	任意	|^	90o	|^	45o	|^	45o	|
|^	仰角	|^	任意	|^	任意	|^	60o	|^	45o	|^	45o	|
|^	爬升速度	|^	全速	|^	半速	|^	半速	|^	半速	|^	半速	|
|^	俯角	|^	任意	|^	任意	|^	任意	|^	45o	|^	45o	|
|^	俯冲速度	|^	倍速	|^	倍速	|^	倍速	|^	倍速	|^	倍速	|
|^	升降缓冲	|^	0	|^	0	|^	5英尺	|^	10英尺	|^	20英尺	|

!!! 逃逸与追赶

在以轮为单位所进行的移动当中,我们只要计算方格数就知道:在没有其他情况的条件下移动速度较慢的人注定无法逃开速度较快的人。同样速度较快的人也总是能轻易逃离速度较慢的人。

若两个互相追赶的人物速度相等时,有一个简单的办法来解决这场追逐:如果一个人物正在追逐另外一个人物,而且两者速度相同,并且已经追逐了几个回合,那么双方可以进行敏捷对抗检定来看看之前几个回合内谁是较快的。若被追者得胜,便能逃逸;若追赶者获胜,便能追上对方。

有时候会进行长途追逐,可能要花上整天时间,而双方很可能只远远瞥见对方的身影。要进行这种长时间追逐,必须进行体质对抗检定,决定谁较能忍受长途跋涉。若被追者得胜,便能逃逸;否则,辛苦的追赶者便能追上猎物。

!!! 方格间移动

一般而言,当人物不是正处于以轮为单位进行战斗的状况下,就与真实世界中的人一样,可随意移动到目的地。例如,在5呎平方的区块中能够挤下好几个人,但他们无法在这么狭窄的空间中有效地进行战斗。人物小模型的移动规则在战斗中十分重要,但在战斗之外的场景,就不须过于计较。


!! 探索(EXPLORATION)

!!! 视力与光源(VISION AND LIGHT)

矮人和半兽人有黑暗视觉能力,其他种族都需要光源。查阅表:光源和照明了解光源的照明范围和持续时间。

在光线明亮的场合,所有人物都可以清楚视物。生物无法在光线明亮的场合躲藏,除非它隐形或是有掩蔽。

在有昏暗照明的场合,人物可以朦胧视物。对该人物而言,在这种环境内的生物受到隐蔽。在有阴影场合中的生物可以通过躲藏检定来隐蔽自己。

在黑暗场合,不具有黑暗视觉的生物视同失明。在战斗中有50%失手几率(所有敌人处于全隐蔽),防御等级失去敏捷加值,防御等级受到-2减值,只能以半速移动,搜索和大部分基于强壮和敏捷的技能检定会受到-4减值。

具有昏暗视觉的人物(精灵,侏儒和半精灵)可以看见两倍于光照半径范围内的事物。对这类人物而言,光亮范围和昏暗范围都要加倍计算。

具有黑暗视觉的人物(矮人和半兽人)可以在60英尺黑暗范围内像通常那样视物。生物无法在具有黑暗视觉的人物周围60英尺内躲藏,除非它隐形或是有掩蔽。

''表:光源和照明''

|!物品 |!明亮范围 |!昏暗范围 |!持续时间 |
|^	蜡烛(Candle)	|^	无^^1^^	|^	5英尺	|^	1小时	|
|^	永燃火把(Everburning torch)	|^	20英尺	|^	40英尺	|^	永久	|
|^	普通油灯(Lamp, common)	|^	15英尺	|^	30英尺	|^	6小时/品脱	|
|^	牛眼提灯(Lantern, bulleye)^^2^^	|^	60英尺锥形	|^	120英尺锥形	|^	6小时/品脱	|
|^	附盖提灯(Lantern, hooded)	|^	30英尺	|^	60英尺	|^	6小时/品脱	|
|^	照明杖(Sunrod)	|^	30英尺	|^	60英尺	|^	6小时	|
|^	火把(Touch)	|^	20英尺	|^	40英尺	|^	1小时	|
|^	''法术''	|^	''明亮范围''	|^	''昏暗范围''	|^	''持续时间''	|
|^	不灭明焰(Continual flame)	|^	20英尺	|^	40英尺	|^	永久	|
|^	舞光术(火把型)(Dancing lights(torches))	|^	20英尺 (每个)	|^	40英尺 (每个)	|^	1分钟	|
|^	昼明术(Daylight)	|^	60英尺	|^	120英尺	|^	30分钟	|
|^	光亮术(Light)	|^	20英尺	|^	40英尺	|^	10分钟	|
|^	1 //蜡烛不提供光亮照明,只提供昏暗照明。//	|<|<|<|
|^	2 //牛眼提灯的照明范围为锥形而不是辐射型。//	|<|<|<|


!!! 破坏与进入

在尝试破坏物体时,你有两个选择:用武器打碎它或是纯粹用力量破坏它。

!!!!打碎物体
用挥砍类或钝击类武器打碎一件武器或盾牌需要通过一次击破武器(sunder)的特殊攻击。打碎物体相当于击破武器或盾牌,只是你的攻击所对抗的是物品的防御等级。通常你只能用挥砍类或钝击类武器打碎物体。

''防御等级:''物体通常不会动,比起生物,它们更容易被击中,但更加坚硬,能弹开一些攻击。物体的防御等级平均为10+体型调整值+敏捷调整值。一件未活化的物体不仅敏捷为0(防御等级-5),而且防御等级还要-2。此外,如果你使用一个整轮动作来瞄准,你的近战攻击视为必然命中,而你的远程攻击命中检定获得+5加值。

''硬度:''每个物体都有硬度--一种表现它是如何抵抗伤害的数值。每当物体受到伤害时,从伤害值中减去硬度。只有超出物体硬度的伤害值才会减去它的生命值。(查阅表:普通盔甲,武器和盾牌的生命值,表:物质硬度和生命值,和表:物体硬度和生命值。)

''生命值:''一件物体的总生命值要看它是由何种物质构成的,还有它的大小。(查阅表:普通盔甲,武器和盾牌的生命值,表:物质硬度和生命值,和表:物体硬度和生命值。)当物体的生命值到0,它就坏了。

非常大件物体的不同部分有相互独立的生命值。

能量攻击:酸液和音波攻击如同对生物那样,会对大多数物体造成正常伤害,当成功命中物体后可正常的投伤害骰。电流和火焰攻击对大多数物体造成一半伤害,在减去硬度之前伤害需除以2,寒冷攻击对大多数物体造成四分之一伤害,在减去硬度之前伤害需除以4。

远程武器伤害:物体受到远程武器的一半伤害(除非该武器是攻城机械或者类似武器)。在减去硬度之前伤害需除以2。

//无效武器://某些特定武器无法对某些特定物体造成有效伤害。

//免疫://物体免疫非致命伤害和重击。

甚至被视作生物的活化物体也由于它们是构装生物而具有此种免疫。

//魔法盔甲,盾牌和武器://每+1的增强加值都会增加盔甲,武器或盾牌的2点硬度和10点生命值。

//针对弱点攻击://某些特定攻击对某些物体特别有效。此时攻击造成两倍伤害,而且可能忽视物体硬度。

//受损物品://一件受损的物体仍具有全部功能,直到它的生命值到0,此时它被毁坏。

受损的(但是没有被毁坏)的物体可以通过手艺技能修复。

''豁免:''非魔法,未被持有的物品无法进行豁免检定。它们视作豁免检定失败,因此它们总是会受到法术影响。一件被人物持有的物品(被抓住,接触,或穿着)按这个人物进行豁免检定(即使用该人物的豁免加值)。

魔法物品总是可以进行豁免检定。一件魔法物品的强韧,反射,和意志豁免加值等于2加上其施法者等级的二分之一。一件被持有的魔法物品进行豁免检定时可以从使用持有者的豁免加值和它自己的中取其较好的。

//活化物体(Animated Objects)://在计算活化物体的防御等级时将它们当作生物(不将它们视作非活化物体)。

!!!!破坏物品
当人物打算用猛力的一击而非造成伤害的方法破坏物品,用力量检定(而不是像用击破武器进行特殊攻击那样投命中骰和伤害骰)看它是否成功。DC主要基于物品的构造而非物品材质。

如果物品已经失去了一半甚至更多生命值,破坏它的DC下降2。

大型和小型生物在使用力量检定破门时,根据其体型获得加值或减值:超微型(-16)、微型(-12)、超小型(-8)、小型(-4)、大型(+4)、超大型(+8)、巨型(+12)和超巨型(+16)。

铁撬或便携式攻城槌可以增加人物破门的机会。

 

''表:普通盔甲、武器、和盾牌的硬度以及生命值''

|!	武器或盾牌	|!	硬度	|!	生命值^^1^^	|
|^	轻型刃器	|^	10	|^	2	|
|^	单手型刃器	|^	10	|^	5	|
|^	双手型刃器	|^	10	|^	10	|
|^	轻型金属柄武器	|^	10	|^	10	|
|^	单手型金属柄武器	|^	10	|^	20	|
|^	轻型带柄武器	|^	5	|^	2	|
|^	单手型带柄武器	|^	5	|^	5	|
|^	双手型带柄武器	|^	5	|^	10	|
|^	弹射型武器	|^	5	|^	5	|
|^	盔甲	|^	特殊^^2^^	|^	盔甲加值x5	|
|^	小圆盾	|^	10	|^	5	|
|^	轻型木盾	|^	5	|^	7	|
|^	重型木盾	|^	5	|^	15	|
|^	轻型钢盾	|^	10	|^	10	|
|^	重型钢盾	|^	10	|^	20	|
|^	塔盾	|^	5	|^	20	|

|^	1 //此处给出的生命值数值只是针对中型的盔甲、武器和盾牌而言。相应的装备每比中型小1个体型级别,则在此数值基础上除以2,而每比中型大1个体型级别,则在此数值基础上乘以2//。|
|^	2 //根据原材料来决定。//|


''表:物质硬度与生命值 ''

|!物质 |!	硬度	|!	生命值	|
|^	纸或布	|^	0	|^	2/英寸厚度	|
|^	绳	|^	0	|^	2/英寸厚度	|
|^	玻璃	|^	1	|^	1/英寸厚度	|
|^	冰	|^	0	|^	3/英寸厚度	|
|^	皮革	|^	2	|^	5/英寸厚度	|
|^	木	|^	5	|^	10/英寸厚度	|
|^	石	|^	8	|^	15/英寸厚度	|
|^	钢铁	|^	10	|^	30/英寸厚度	|
|^	密银	|^	15	|^	30/英寸厚度	|
|^	精金	|^	20	|^	40/英寸厚度	|


''表:物体的大小和防御等级''

|!	大小	|!	防御等级调整值	|
|^	超巨型	|^	-8	|
|^	巨型	|^	-4	|
|^	超大型	|^	-2	|
|^	大型	|^	-1	|
|^	中型	|^	+0	|
|^	小型	|^	+1	|
|^	超小型	|^	+2	|
|^	微型	|^	+4	|
|^	超微型	|^	+8	|

 

''表:物体硬度和生命值''

|!	物体	|!	硬度	|!	生命值	|!	破坏DC	|
|^	绳(1英寸粗)	|^	0	|^	2	|^	23	|
|^	简单木门	|^	5	|^	10	|^	13	|
|^	小箱子	|^	5	|^	1	|^	17	|
|^	普通木门	|^	5	|^	15	|^	18	|
|^	宝箱	|^	5	|^	15	|^	23	|
|^	强化木门	|^	5	|^	20	|^	23	|
|^	砌石墙(1英尺厚	|^	8	|^	90	|^	35	|
|^	凿切石墙(3英尺厚)	|^	8	|^	540	|^	50	|
|^	铁链	|^	10	|^	5	|^	26	|
|^	镣铐	|^	10	|^	10	|^	26	|
|^	精制镣铐	|^	10	|^	10	|^	28	|
|^	铁门(2英寸厚)	|^	10	|^	60	|^	28	|


 

''表:破坏或挣断物品的DC''

|!	力量检定用于:	|!	DC	|
|^	破坏简单木门	|^	13	|
|^	破坏普通木门	|^	18	|
|^	破坏强化木门	|^	23	|
|^	挣断绳索	|^	23	|
|^	弯曲铁条	|^	24	|
|^	破坏栅栏门	|^	25	|
|^	挣断铁链	|^	26	|
|^	破坏铁门	|^	28	|
|^	''环境''	|^	''DC调整^^1^^''	|
|^	封门术(Hold portal)	|^	+5	|
|^	密法锁(Arcane lock)	|^	+10	|
|^	1 //如果同时适用,选较大值。//	|<|

''感知护符(Periapt of Wisdom)'':看起来像镶有珍珠的小链子。穿戴者的感知值有+2、+4或+6加值(视种类而定)。

施法者等级:8。先决条件:“制造奇物”,“通神”、“通晓传奇”。交易价格:4000金币(+2),16000金币(+4),36000金币(+6)。
''表:给养与服务  ''

|!	冒险装备	 |!		 |!		|
|!	物品	 |!	价格	 |!重量 |
|^		 |^		 |^		|
|^	背包(Backpack) (空)	 |^	2 金币	 |^	2磅^^1^^	|
|^	木桶(Barrel)(空)	 |^	2 金币	 |^	30磅	|
|^	篮子(Basket) (empty)	 |^	4 银币	 |^	1磅	|
|^	睡袋(Bedroll)	 |^	1 银币	 |^	5磅^^1^^	|
|^	铜铃(Bell)	 |^	1 金币	 |^	—	|
|^	冬用毛毯(Blanket, winter)	 |^	5 银币	 |^	3磅^^1^^	|
|^	滑轮组(Block and tackle)	 |^	5 金币	 |^	5磅	|
|^	玻璃酒瓶 (Bottle, wine, glass)	 |^	2 金币	 |^	—	|
|^	水桶(Bucket)(空)	 |^	5 银币	 |^	2磅	|
|^	铁蒺藜(Caltrops)	 |^	1 金币	 |^	2磅	|
|^	蜡烛(Candle)	 |^	1 铜币	 |^	—	|
|^	帆布 (Canvas) (每平方码)	 |^	1 银币	 |^	1磅	|
|^	地图或卷轴匣(Case, map or scroll)	 |^	1 金币	 |^	1/2磅	|
|^	链条,10尺(Chain) 	 |^	30 金币	 |^	2磅	|
|^	粉笔,1支(Chalk)	 |^	1 铜币	 |^	—	|
|^	木箱(Chest)(空)	 |^	2 金币	 |^	25磅	|
|^	铁撬(Crowbar)	 |^	2 金币	 |^	5磅	|
|^	薪柴(Firewood)(一天用量)	 |^	1 铜币	 |^	20磅	|
|^	鱼钩(Fishhook)	 |^	1 银币	 |^	—	|
|^	渔网,25平方尺(Fishing net)	 |^	4 金币	 |^	5磅	|
|^	扁瓶(Flask)(空)	 |^	3 铜币	 |^	1-1/2磅	|
|^	燧石与铁片(Flint and steel)	 |^	1 金币	 |^	—	|
|^	爪钩(Grappling hook)	 |^	1 金币	 |^	4磅	|
|^	铁锤(Hammer)	 |^	5 银币	 |^	2磅	|
|^	墨水,1盎司小瓶装(Ink) 	 |^	8 金币	 |^	—	|
|^	墨水笔(Inkpen)	 |^	1 银币	 |^	—	|
|^	陶制水壶(Jug, clay)	 |^	3 铜币	 |^	9磅	|
|^	长梯(Ladder),10尺	 |^	5 铜币	 |^	20磅	|
|^	普通油灯(Lamp, common)	 |^	1 银币	 |^	1磅	|
|^	牛眼提灯(Lantern, bullseye)	 |^	12 金币	 |^	3磅	|
|^	附盖提灯(Lantern, hooded)	 |^	7 金币	 |^	2磅	|
|^	锁(Lock)	 |^		 |^	1磅	|
|^ 简单 |^	20 金币	 |^	1磅	|
|^ 一般 |^	40 金币	 |^	1磅	|
|^ 良好	 |^	80 金币	 |^	1磅	|
|^ 精巧	 |^	150 金币	 |^	1磅	|
|^	镣铐(Manacles)	 |^	15 金币	 |^	2磅	|
|^	镣铐,精制品(Manacles, masterwork)	 |^	50 金币	 |^	2磅	|
|^	钢面小镜(Mirror, small steel)	 |^	10 金币	 |^	1/2磅	|
|^	啤酒杯(Mug/Tankard, clay)	 |^	2 铜币	 |^	1磅	|
|^	灯油,1品脱小瓶装(Oil)	 |^	1 银币	 |^	1磅	|
|^	纸(Paper)(每张)	 |^	4 银币	 |^	—	|
|^	羊皮纸(Parchment) (每张)	 |^	2 银币	 |^	—	|
|^	矿工用十字镐(Pick, miner’s)	 |^	3 金币	 |^	10磅	|
|^	陶制水罐(Pitcher, clay)	 |^	2 铜币	 |^	5磅	|
|^	岩钉(Piton)	 |^	1 银币	 |^	1/2磅	|
|^	木杆,10尺(Pole)	 |^	2 银币	 |^	8磅	|
|^	铁壶(Pot, iron)	 |^	5 银币	 |^	10磅	|
|^	腰包(Pouch, belt)(空)	 |^	1 金币	 |^	1/2磅^^1^^	|
|^	便携式攻城槌(Ram, portable)	 |^	10 金币	 |^	20磅	|
|^	口粮(Rations, trail)(一天量)	 |^	5 银币	 |^	1磅^^1^^	|
|^	麻绳 (Rope, hempen)(50尺)	 |^	1 金币	 |^	10磅	|
|^	丝绳 (Rope, silk)(50尺)	 |^	10 金币	 |^	5磅	|
|^	麻袋(Sack)(空)	 |^	1 银币	 |^	1/2磅^^1^^	|
|^	封蜡(Sealing wax)	 |^	1 金币	 |^	1磅	|
|^	缝衣针(Sewing needle)	 |^	5 银币	 |^	—	|
|^	哨子(Signal whistle)	 |^	8 银币	 |^	—	|
|^	玺戒(Signet ring)	 |^	5 金币	 |^	—	|
|^	长柄锤(Sledge)	 |^	1 金币	 |^	10磅	|
|^	肥皂(Soap)(1磅)	 |^	5 银币	 |^	1磅	|
|^	铁锹(Spade or shovel)	 |^	2 金币	 |^	8磅	|
|^	望远镜(Spyglass)	 |^	1,000 金币	 |^	1磅	|
|^	帐篷(Tent)	 |^	10 金币	 |^	20磅^^1^^	|
|^	火把(Torch)	 |^	1 铜币	 |^	1磅	|
|^	小玻璃瓶,墨水或药水用(Vial, ink or potion)	 |^	1 金币	 |^	1/10磅	|
|^	水袋(Waterskin)	 |^	1 金币	 |^	4磅^^1^^	|
|^	磨刀石(Whetstone)	 |^	2 铜币	 |^	1磅	|
|!	特殊物质和物品	 |!		 |!		|
|!	物品	 |!	价格	 |!重量 |
|^	强酸,扁瓶装(Acid)	 |^	10 金币	 |^	1磅	|
|^	炽火胶,扁瓶装(Alchemist’s fire)	 |^	20 金币	 |^	1磅	|
|^	抗毒剂,小瓶装(Antitoxin)	 |^	50 金币	 |^	—	|
|^	永燃火把(Everburning torch)	 |^	110 金币	 |^	1磅	|
|^	圣水,扁瓶装(Holy water)	 |^	25 金币	 |^	1磅	|
|^	烟雾棒(Smokestick)	 |^	20 金币	 |^	1/2磅	|
|^	照明杖(Sunrod)	 |^	2 金币	 |^	1磅	|
|^	绊足包(Tanglefoot bag)	 |^	50 金币	 |^	4磅	|
|^	爆雷石(Thunderstone)	 |^	30 金币	 |^	1磅	|
|^	火柴(Tindertwig)	 |^	1 金币	 |^	—	|
|!	职业工具和技能工具包	 |!		 |!		|
|!	物品	 |!	价格	 |!重量 |
|^	炼金用具(Alchemist’s lab)	 |^	500 金币	 |^	40磅	|
|^	工匠工具(Artisan’s tools)	 |^	5 金币	 |^	5磅	|
|^	工匠工具,精制品(Artisan’s tools, masterwork)	 |^	55 金币	 |^	5磅	|
|^	攀爬工具(Climber’s kit)	 |^	80 金币	 |^	5磅^^1^^	|
|^	易容工具(Disguise kit)	 |^	50 金币	 |^	8磅^^1^^	|
|^	医药箱(Healer’s kit)	 |^	50 金币	 |^	1磅	|
|^	冬青与槲寄生(Holly and mistletoe)	 |^	—	 |^	—	|
|^	木制圣符(Holy symbol, wooden)	 |^	1 金币	 |^	—	|
|^	银制圣符(Holy symbol, silver)	 |^	25 金币	 |^	1磅	|
|^	沙漏(Hourglass)	 |^	25 金币	 |^	1磅	|
|^	放大镜(Magnifying glass)	 |^	100 金币	 |^	—	|
|^	乐器,普通(Musical instrument, common)	 |^	5 金币	 |^	3磅^^1^^	|
|^	乐器,精制品(Musical instrument, masterwork)	 |^	100 金币	 |^	3磅^^1^^	|
|^	商用天平(Scale, merchant’s)	 |^	2 金币	 |^	1磅	|
|^	法术材料包(Spell component pouch)	 |^	5 金币	 |^	2磅	|
|^	法师的法术书(Spellbook, wizard’s)(空白)	 |^	15 金币	 |^	3磅	|
|^	盗贼工具(Thieves’ tools)	 |^	30 金币	 |^	1磅	|
|^	盗贼工具,精制品(Thieves’ tools, masterwork)	 |^	100 金币	 |^	2磅	|
|^	工具,精制品(Tool, masterwork)	 |^	50 金币	 |^	1磅	|
|^	水钟(Water clock)	 |^	1,000 金币	 |^	200磅	|
|!	服饰	 |!		 |!		|
|!	物品	 |!	价格	 |!重量	 |
|^	工匠工作服(Artisan’s outfit)	 |^	1 金币	 |^	4磅^^1^^	|
|^	牧师祭袍(Cleric’s vestments)	 |^	5 金币	 |^	6磅^^1^^	|
|^	御寒衣物(Cold weather outfit)	 |^	8 金币	 |^	7磅^^1^^	|
|^	礼服(Courtier’s outfit)	 |^	30 金币	 |^	6磅^^1^^	|
|^	艺人服装(Entertainer’s outfit)	 |^	3 金币	 |^	4磅^^1^^	|
|^	探险家服装(Explorer’s outfit)	 |^	10 金币	 |^	8磅^^1^^|
|^	武僧服装(Monk’s outfit)	 |^	5 金币	 |^	2磅^^1^^	|
|^	贵族服装(Noble’s outfit)	 |^	75 金币	 |^	10磅^^1^^	|
|^	平民服装(Peasant’s outfit)	 |^	1 银币	 |^	2磅^^1^^	|
|^	皇室服装(Royal outfit)	 |^	200 金币	 |^	15磅^^1^^	|
|^	学者服装(Scholar’s outfit)	 |^	5 金币	 |^	6磅^^1^^	|
|^	旅行者服装(Traveler’s outfit)	 |^	1 金币	 |^	5磅^^1^^	|
|!	饮食及住宿	 |!		 |!		|
|!	物品	 |!	价格	 |!重量 |
|^	麦酒(Ale)	 |^		 |^		|
|^ 一加仑  |^	2 银币	 |^	8磅	|
|^ 一杯 |^	4 铜币	 |^	1磅	|
|^	酒筵(Banquet)(每人花费)	 |^	10 金币	 |^	—	|
|^	面包(Bread, per loaf) (每条)	 |^	2 铜币	 |^	1/2磅	|
|^	乳酪(Cheese, chunk of)( 每块)	 |^	1 银币	 |^	1/2磅	|
|^	旅馆住宿(Inn stay)(每日)	 |^		 |^		|
|^ 良好 |^	2 金币	 |^	—	|
|^ 普通 |^	5 银币	 |^	—	|
|^ 下等 |^	2 银币	 |^	—	|
|^	食物(每天)(Meals)	 |^		 |^		|
|^ 上等 |^	5 银币	 |^	—	|
|^ 普通 |^	3 银币	 |^	—	|
|^ 粗劣 |^	1 银币	 |^	—	|
|^	肉(Meat, chunk of)( 每块)	 |^	3 银币	 |^	1/2磅	|
|^	酒(Wine)	 |^		 |^		|
|^ 一罐普通的酒 |^	2 银币	 |^	6磅	|
|^ 一瓶佳酿 |^	10 金币	 |^	1-1/2磅	|
|!	坐骑及相关装备	 |!		 |!		|
|!	物品	 |!	价格	 |!重量 |
|^	坐骑用盔甲(Barding)	 |^		 |^		|
|^ 中型生物 |^	x2	 |^	x1	|
|^ 大型生物 |^	x4	 |^	x2	|
|^	马嚼和缰绳	 |^	2 金币	 |^	1磅	|
|^	守卫用犬(Dog, guard)	 |^	25 金币	 |^	—	|
|^	骑乘用犬(Dog, riding)	 |^	150 金币	 |^	—	|
|^	驴或骡(Donkey or mule)	 |^	8 金币	 |^	—	|
|^	饲料(Feed)(每日份)	 |^	5 铜币	 |^	10磅	|
|^	马(Horse)	 |^		 |^		|
|^ 重型马 |^	200 金币	 |^	—	|
|^ 轻型马 |^	75 金币	 |^	—	|
|^ 矮种马 |^	30 金币	 |^	—	|
|^ 重型战马 |^	400 金币	 |^	—	|
|^ 轻型战马 |^	150 金币	 |^	—	|
|^ 矮种战马 |^	100 金币	 |^	—	|
|^	鞍座(Saddle)	 |^		 |^		|
|^ 军用 |^	20 金币	 |^	30磅	|
|^ 载货 |^	5 金币	 |^	15磅	|
|^ 骑乘 |^	10 金币	 |^	25磅	|
|^	异种鞍座(Saddle, Exotic)	 |^		 |^		|
|^ 军用 |^	60 金币	 |^	40磅	|
|^ 载货 |^	15 金币	 |^	20磅	|
|^ 骑乘 |^	30 金币	 |^	30磅	|
|^	鞍囊(Saddlebags)	 |^	4 金币	 |^	8磅	|
|^	租用马厩 (Stabling)(每日)	 |^	5 银币	 |^	—	|
|!	运输工具	 |!		 |!		|
|!	物品	 |!	价格	 |!重量 |
|^	四轮马车(Carriage)	 |^	100 金币	 |^	600磅	|
|^	二轮马车(Cart)	 |^	15 金币	 |^	200磅	|
|^	大型划船(Galley)	 |^	30,000 金币	 |^	—	|
|^	河船(Keelboat)	 |^	3,000 金币	 |^	—	|
|^	长船(Longship)	 |^	10,000 金币	 |^	—	|
|^	划艇(Rowboat)	 |^	50 金币	 |^	100磅	|
|^	桨(Oar)	 |^	2 金币	 |^	10磅	|
|^	帆船(Sailing ship)	 |^	10,000 金币	 |^	—	|
|^	雪车(Sled)	 |^	20 金币	 |^	300磅	|
|^	重型马车(Wagon)	 |^	35 金币	 |^	400磅	|
|^	战舰(Warship)	 |^	25,000 金币	 |^	—	|
|!	施法和服务	 |!		 |!		|
|!	服务	 |!	价格	 |!		|
|^	租用马车(Coach cab)	 |^	每英里3 铜币	 |<|
|^	雇用受训人员(Hireling, trained)	 |^	每天3 银币	|<|
|^	雇用未受训人员(Hireling, untrained)	 |^	每天1 银币	 |<|
|^	雇用信使(Messenger)	 |^	每英里2 铜币	 |<|
|^	过路税和城门税(Road or gate toll)	 |^	1 铜币	 |<|
|^	搭船(Ship’s passage)	 |^	每英里1 银币	 |<|
|^	施展0级法术(Spell, 0-level)	 |^	施法者等级 x 5 gp^^2^^	 |<|
|^	施展1级法术(Spell, 1st-level)	 |^	施法者等级 x 10 gp^^2^^	 |<|
|^	施展2级法术(Spell, 2nd-level)	 |^	施法者等级 x 20 gp^^2^^	 |<|
|^	施展3级法术(Spell, 3rd-level)	 |^	施法者等级 x 30 gp^^2^^	 |<|
|^	施展4级法术(Spell, 4th-level)	 |^	施法者等级 x 40 gp^^2^^	 |<|
|^	施展5级法术(Spell, 5th-level)	 |^	施法者等级 x 50 gp^^2^^	 |<|
|^	施展6级法术(Spell, 6th-level)	 |^	施法者等级 x 60 gp^^2^^	 |<|
|^	施展7级法术(Spell, 7th-level)	 |^	施法者等级 x 70 gp^^2^^	 |<|
|^	施展8级法术(Spell, 8th-level)	 |^	施法者等级 x 80 gp^^2^^	 |<|
|^	施展9级法术(Spell, 9th-level)	 |^	施法者等级 x 90 gp^^2^^	 |<|

|^	//— 没重量,或者可以没有记录重量的必要	// |^		 |^		|
|^	1 //适合小型角色使用的这类物品重量是标准的四分之一,小型角色使用的容器容积也是标准的四分之一。//	 |^		 |^		|
|^	2 //法术附加的花费见具体法术的说明。如果法术附加的花费和施展法术的价格总合超过3,000 金币,那么一般很难找到施法者。//	 |^		 |^		|


!!! 冒险者装备

部分在表:给养与服务中列出的冒险者装备将会在下文中说明。

''铁蒺藜(Caltrops):''铁蒺藜是有四个尖端的铁钉,因为设计的关系,不管你如何将它们散落,始终有一个尖角向上。你可以将它们散落在地上,以企望让敌人踩在上面,或至少来减慢你的敌人行进的速度。一袋2磅重的铁蒺藜可以覆盖5尺见方的区域。

每次当一个生物进入被铁蒺藜覆盖的区域(或者待在该区域中战斗持续一个回合),这个生物就可能会踩上一枚铁蒺藜。铁蒺藜对该生物进行攻击检定(基本攻击加值+0)。在这次攻击中,生物的盔甲,盾牌,偏斜加值将不被计算。如果生物穿了鞋子,或其它类似鞋子的装备,将会获得+2的防御等级加值。如果铁蒺藜成功的进行了一次攻击,那么,生物被判定踩上了铁蒺藜。铁蒺藜会造成1点伤害,并且因为目标的脚受伤了,速度将会减半。移动速度的减值会持续24小时,直到生物成功的被治疗(DC 15的医疗检定),或至少得到了1点的魔法治疗为止。一个冲锋或者奔跑的人物在踩到铁蒺藜时,必须立即停下。任何以半速或者更慢的速度行进可以顺利的通过铁蒺藜覆盖的区域而不受伤害。 
铁蒺藜对某些特殊的敌人不起作用。

''蜡烛(Candle):''一支蜡烛可以微弱地照亮5尺的范围,并可以燃烧一个小时。

''链条(Chain):''链条具有10的硬度,并拥有5点的生命值。它可以通过一个DC 26的力量检定被扯断。

''铁撬(Crowbar):''在使用铁撬进行力量检定时,可以得到+2的环境加值。如果将其用于战斗,它被视为一件单手临时武器,造成与同样大小的木棒相同数值的钝击伤害。

''燧石与铁片(Flint and Steel):''使用燧石与铁片点燃火把是一个整轮动作,而用它点燃其它火种都至少要使用这么多时间。

''爪钩(Grappling Hook):''使用爪钩时需要进行一个绳技的检定(DC 10,每扔出10尺DC加2)。

''铁锤(Hammer):''如果将铁锤用于战斗,它被视为一件单手临时武器,造成与同样大小的带刺铁手套相同数值的钝击伤害。

''墨水(Ink):''这是黑色的墨水。你也可以购买其它颜色的墨水,但价格是黑色墨水的两倍。

''陶壶(Jug, Clay):''普通陶壶带有一个塞子,可以容纳1加仑的液体。

''普通油灯(Lamp, Common):''一盏普通油灯可以清晰地照亮15尺辐射形范围,并且可以在之外30尺辐射形范围提供昏暗照明。每燃烧6个小时消耗1品脱的油。你可以单手持一盏灯。

''牛眼提灯(Lantern, Bullseye):''一盏牛眼提灯可以清晰地照亮60尺远的锥形区域,并且可在之外120尺远的锥形区域内提供昏暗照明。每燃烧6个小时消耗1品脱的油。你可以单手持一盏灯。

''附盖提灯(Lantern, Hooded):''一盏附盖提灯可以清晰地照亮30尺辐射形范围,并且可以在之外6尺辐射形范围提供昏暗照明。每燃烧6个小时消耗1品脱的油。你可以单手持一盏灯。

''锁(Lock):''使用开锁技能开锁的困难等级取决于锁的质量:简单(DC 20),一般(DC 25),良好(DC 30),精巧(DC 40)。

''镣铐,精制镣铐(Manacles and Manacles, Masterwork):''镣铐可以铐住一个中等体型的生物。被锁住的生物可以使用脱逃术进行挣脱(困难等级为30,精制镣铐为35),你也可以使用力量将它扯断(力量检定,困难等级26,精制镣铐28)。镣铐硬度为10,并有10点的生命值。

大多数的镣铐都带有锁,在购买镣铐时要加上锁的价格。
同样的价格,你可以买到为小型生物准备的镣铐。对于大型生物,价格为前者的10倍,超大型的生物是100倍,巨型,超巨型,超小型,微型,和超微型的生物只能被特制的镣铐所束缚。

''灯油(Oil):''一品脱的灯油可以供一盏提灯使用6个小时,你可以将一瓶灯油作为泼溅武器使用。你可以引用使用炽火胶的规则,只是需要花费一个整轮动作准备瓶子和引信。当它被投掷后,瓶子只有50%的机会燃起火焰。 
你可以将1品脱的油倾倒在地面上,覆盖5尺见方的区域,使这部分地面变滑。如果将它点燃,那么它可以燃烧 2轮,期间火焰对该区域的生物将会造成1d3点火伤害。

''便携式攻城槌(Ram, Portable):''在试图使用这种包铁的木柱破门时,你在力量的检定上可以获得+2的环境加值,当有另外一人在帮助你时,该加值可以再增加2。

''麻绳(Rope, Hempen):''它有2点的生命值,可以通过一次成功的力量检定来挣断它(DC 23)。

''丝绳(Rope, Silk):''它有4点生命值,可以通过一次成功的力量检定来挣断它(DC 24)。它可以在进行绳技检定上提供+2的环境加值。

''望远镜(Spyglass):''通过它看到的东西都会被放大为原来的两倍。

''火把(Torch):''火把可以燃烧一个小时,它可以清晰地照亮20尺辐射形范围,并且在之外40尺辐射形范围提供昏暗照明。如果将其用于战斗,它被视为一件单手临时武器,造成与同样大小的铁手套相同数值的钝击伤害,再加上1点的火伤害。

''小玻璃瓶(Vial):''小玻璃瓶可以容纳1盎司的液体。这种瓶子带有塞子,通常宽不大于1英寸,高不大于3英寸。

 

!!! 特殊物质和物品

下面列出的物品中,除了永燃火把和圣水外,都可以使用手艺(炼金术)技能制造出来。

''强酸(Acid):''你可以将一瓶强酸投掷出去作为泼溅武器使用。这类攻击被视为射程增量为10尺的远程接触攻击。直接命中会造成1d6点的酸伤害。在5尺之内的生物都会由于酸液的飞溅而受到1点酸性伤害。

''炽火胶(Alchemist’s Fire):''你可以将一瓶炽火胶投掷出去作为泼溅武器使用。这类攻击被视为射程增量为10尺的远程接触攻击。

直接命中会造成1d6点的火伤害。在5尺之内的生物都会由于火焰的飞溅而受到1点火伤害。在你直接命中目标随后的一个回合,目标将受到额外的1d6点伤害。他还可以使用一个整轮动作试图扑灭身上的火焰来避免受到该额外的伤害,这需要进行一次成功的反射豁免检定(困难等级15)。在地上打滚可以获得+2的检定加值。跳进湖里或者使用魔法来灭火将自动使得火焰熄灭。

''抗毒剂(Antitoxin):''如果你服用了抗毒剂,在一个小时内,你将在所有对抗毒素的坚韧豁免检定中获得+5的炼金术加值。

''永燃火把(Everburning Torch):''这支火把上被施展了不灭明焰(continual flame)法术。它可以清晰地照亮20尺辐射形范围,并且在之外40尺辐射形范围提供昏暗照明。

''圣水(Holy Water):''圣水可以对不死生物和邪恶异界生物造成伤害,就像酸造成伤害那样。你可以将一瓶圣水投掷出去作为泼溅武器使用。

这类攻击被视为射程为10的远程接触攻击。瓶子如果掷到有实体的生物身上会破裂开,但是对付那些无实体的生物,你必须打开瓶子,将圣水泼到它们身上。因此,只有在虚体生物和你毗邻时你才能用圣水泼到它。该动作为远程的接触动作,它不会引发借机攻击。

直接命中不死生物和邪恶异界生物会造成2d4点的伤害。在5尺之内的该类生物都会由于圣水的飞溅而受到1点伤害。

善良神诋的教堂会以成本价出售圣水(没有任何盈利)。

''烟雾棒(Smokestick):''在点燃时,这根经过了炼金术加工过的木棒会立即在10尺立方的范围内释放出浓厚的、不透明的烟雾(将其视为一个云雾术(a fog cloud)法术,只是有中等或更强的风在可以在1回合内吹散它)。木棒在1个回合后毁坏,烟雾则会自然消散。

''照明杖(Sunrod):''它是1尺长金制尖端的铁棒。当它被敲击时,会发出明亮的光。它可以清晰地照亮30尺辐射形范围,并且在之外60尺辐射形范围提供昏暗照明,持续时间6个小时。在使用之后,金制的尖端会被烧坏,同时失去使用价值。

''绊足包(Tanglefoot Bag):''当你将绊足包扔向一个生物时(作为射程增量为10尺的远程接触攻击),袋子会散开,里面的粘胶将会飞溅出来,纠缠在目标的身上,之后在暴露的空气下会很快的变硬且有弹性。被纠缠的生物将会遭到-2的攻击检定减值及-4的敏捷减值。被纠缠的目标必须通过反射的豁免检定(困难等级15),否则将会被粘附在地面上无法移动。如果通过了检定,他也只能以一半的速度移动。

超大型或者更大的生物不受绊足包的影响。飞行生物不会被粘附在地面上,但它必须通过反射豁免检定(困难等级15),否则就不能飞(假设它使用翅膀飞行)并且落在地面上。绊足包在水下没有作用。

被粘附在地板上(或不能飞)的生物可以通过力量的检定(困难等级为17),或者对该粘胶施加15点的挥砍伤害来试图挣脱。刮掉自己身上的粘胶,或者其他人协助刮掉粘胶并不需要进行攻击检定,可以直接进行伤害的检定。一旦恢复了行动自由,人物可以以半速移动(或飞行)。在被粘胶限定行动时,施法者在施展法术时必须通过专注检定(困难等级15)以保证法术的成功。在暴露在外界2d4回合以后粘胶会变脆并容易破碎,会碎成碎片,失去它的作用。万溶剂(universal solvent)可以立即溶解粘住生物的粘胶。

''爆雷石(Thunderstone):''你可以以射程增量20尺的远程接触攻击投掷出爆雷石。当它击中了坚硬的地面时(或击中硬物),它将发出巨大的声响视作声波攻击。10尺内的生物将必须进行强韧豁免(困难等级15),否则将会被震聋1小时。失去听觉的生物先攻权遭到-4的减值,并且在施展任何带有言语成分的法术时有20%的机会失败。

你并不一定要击中特定的目标,你可以只是简单地瞄准一块5尺见方的区域,该区域的防御等级视为5。

''火柴(Tindertwig):''这种木制小棒末段的炼金术物质在摩擦粗糙的表面时会燃起火焰。用火柴可以比燧石和铁片(或者放大镜)更快的生起火焰。用它点燃火把是一个标准的动作(而不是整轮动作),在点燃其他火种时至少为一个标准动作。

 

!!! 工具和技能工具包

''炼金用具(Alchemist’s Lab):''炼金用具提供了完备的工具来制造炼金物品,它对手艺(炼金术)提供了+2的环境检定加值。炼金用具的花费和你的炼金术技能被没有什么联系。当你在没有炼金用具的情况下,拥有炼金术的人物被认为是拥有足够的工具进行他的研究,但是还没足够到获得炼金用具提供的+2环境加值。

''工匠工具(Artisan’s Tools):''这套特殊的工具是任何手艺都需要的。如果没有这些工具,在进行工作时,你将被迫使用临时的工具(手艺检定遭到-2的减值)。

''工匠工具,精制品(Artisan’s Tools, Masterwork):''这套工具和工匠工具的用途是一样的,但精制的工匠工具更适于做这些工作,所以你在使用手艺技能时会得到+2的环境检定加值。

''攀爬工具(Climber’s Kit):''在攀爬时,由于它使得你获得了+2的攀爬环境检定加值,是相当有用的工具。

''易容工具(Disguise Kit):''这是易容时再好不过的工具,你可以获得+2的伪装环境检定加值。一套易容工具可以供你使用10次。

''医药箱(Healer’s Kit):''在进行急救时医药箱非常有用,此时,你获得了+2的急救环境检定加值。一个医药箱可以使用10次。

''圣徽,木制或者银制(Holy Symbol, Silver or Wooden):''圣徽汇聚了正能量,牧师或圣骑士将它们作为准备法术的法器,或者是驱散不死生物的工具。每种信仰都有自己特定的圣徽。

''斜徽(Unholy Symbols):''邪徽汇聚了负能量,通常为邪恶的牧师使用(或者是中立的牧师在试图施展邪恶的法术或者命令不死生物时也会使用到它)。

''放大镜(Magnifying Glass):''简单的镜头可以允许你更靠近的观察一个小的物体。在生火时,它还可以作为燧石和铁片的替代品。用放大镜生火时需要像阳光一样强的光,并将热量集中于易燃物上,使用放大镜生火至少是一个整轮动作。在对一件小型物品估价,或者进行某些非常微细的估价时,你使用放大镜将获得+2的估价环境检定加值。

''乐器,一般或者精制品(Musical Instrument, Common or Masterwork):''使用精制的乐器时,表演技能将获得+2的环境加值。

''商用天平(Scale, Merchant's):''在进行需要称重的估价时(包括任何由贵金属制成的物品),商用天平使你获得了+2的估价环境加值。

''法术材料包(Spell Component Pouch):''一个拥有法术材料包的施法者被认为是获得了所有他需要的法术材料和法器,除了特别注明价格的材料、以及神术法器,或者袋子不能装下的法器。

''法师的法术书(Spellbook, wizard’s)(空白):''一本法术书有100页,一个法术占用的页数是1页每级(0级法术占1页)。

''盗贼工具(Thieves' Tools):''你在施展解除装置和开锁技能时将会使用这些工具。如果没有这些工具,你在解除装置和开锁时,只能使用临时的工具,这些技能的检定将会有-2的环境检定减值。

''盗贼工具,精制品(Thieves’ Tools, Masterwork):''这个工具包里包含了很多精心制造的工具,使你在解除装置和开锁时获得+2的环境检定加值。

''工具,精制品(Tool, Masterwork):''在进行工作时,这些工具会是极好的助手。在进行相关的技能检定时(如果有的话)可以得到+2的环境检定加值。在进行同一项技能检定时多个精制工具的效果不会叠加。

''水钟(Water Clock):''这个大型、大容量的物品可以给出正确的时间,从它最后被设定的那一次开始,它的误差在每天半个小时以内。你必须注入一定量的水,并保证其处于静止的状态,因为它通过水滴有规律的滴下来记录时间。

 

!!! 服饰

''工匠工作服(Artisan’s Outfit):''包括了带有扣子的衬衫,一条有细绳的围裙或者裤子,一双鞋子,可能还有一顶帽子。该套装束可能还会提供一条腰带或者皮质的围裙,可以用来装一些工具。

''牧师祭袍(Cleric’s Vestments):''它是牧师在进行其一些工作时穿着的教会制服,并不是用来冒险的。

''御寒衣物(Cold Weather Outfit):''一件羊毛的外套,亚麻制的帽子,羊毛的帽子,沉重的斗篷,厚实的裤子或者围裙,再加一双靴子,这就是一套完整的御寒衣物。在身着御寒衣物时,你在对抗寒冷天气的强韧豁免上获得+5的环境加值。

''礼服(Courtier’s Outfit):''这套服饰包括了色彩夺目剪裁讲究的服装,是按照宫廷贵族中流行的风格制作的。身着街头的服饰你很难取得贵族或者朝臣们的好感(试图影响他们时,所有与魅力相关的技能检定都会受到-2的减值)。如果你穿着这套服饰却没有珠宝装饰(这些花费需要额外的50金币),在他们眼中你只是一个不入流的平民罢了。

''艺人服装(Entertainer’s Outfit):''它是一套浮华的,甚至是华而不实的为演出准备的服饰。整套服饰设计古怪,它是专门设计来让你进行翻筋斗,跳舞,走钢丝,或者仅仅是用来奔跑(当观众脸色变得难看时)。

''探险家服装(Explorer’s Outfit):''探险家服装包括了全套衣物,可以应付各种特殊情况。它们是:坚硬的靴子,皮革的马裤或者围裙,腰带,衬衫(可能还有一件背心或者夹克),手套,以及斗篷。一件束腰的外衣、皮革的围裙会取代布制的围裙被穿在身上。整套衣服有相当多的口袋(特别是斗篷)。该套装束还包括了其他额外的你需要的东西,例如一条围巾或者一顶宽边的帽子。

''武僧服装(Monk’s Outfit):''这套简单的装束包括了便鞋,宽松的裤子,衬衣,和一条将衣服扎起来的腰带。武僧服装提供了最大的机动灵活性,它是由精制的布匹制成。你可以在口袋里藏一把小型的武器,而衣物的肩带和腰带很坚韧,你可以把它们当短的绳子使用。

''贵族服装(Noble’s Outfit):''这套服饰被设计得特别豪华,并表现出其价格的昂贵。衣服上装饰了贵重的金属和宝石。为了适合贵族群体的地位,每个贵族都需要有一枚玺戒(见冒险者装备,上文)以及宝石的装饰(至少价值100金币)。

''平民服装(Peasant’s Outfit):''这套服装通常是一件松散的衬衫加上一条松垂的裤子(或裙子),或者就是件外套。鞋子通常只是布制裹脚。

''皇室服装(Royal Outfit):''这套服饰仅仅包括了服饰部分,不包含皇家的节杖、王冠、戒指以及其他的物品。衣服上装饰着大量的宝石,黄金,丝绸以及皮毛。

''学者服装(Scholar’s Outfit):''包括了一件长袍,一条腰带,一顶帽子,一双软底鞋,可能还有一件斗篷。

''旅行者服装(Traveler’s Outfit):''包括了鞋子,羊毛的裙子或者裤子,坚韧的皮带,一件衬衫(可能还有一件背心或者夹克),以及一顶带兜帽的斗篷。

 

!!! 饮食及住宿

''旅馆住宿(Inn):''廉价铺位只是提供了一块靠近壁炉的地面。普通的铺位则包括了一块暖和而且垫高了的地板,你还可以有一条毯子和一个枕头。而良好的住宿包括了一间私人的小房间,一张床和一些令人愉快的东西,在屋子角落,你甚至还可以找到一个夜壶。

''食物(Meals):''粗劣的饭食包括了面包、烤甘蓝、洋葱以及水。普通的饭食则是面包、鸡肉、胡罗卜、掺水的麦酒或者葡萄酒。而上等的食物则会包括面包、馅饼、牛肉、麦酒或者是葡萄酒。

 

!!! 坐骑及相关装备

''坐骑用盔甲,中型生物及大型生物(Barding, Medium-Size Creature and Large Creature):''坐骑用盔甲(Barding)通常是一种可以覆盖一匹马的头,颈,胸部,身体以及脚部的盔甲。更重的盔甲可以提供更好的保护,但是你的坐骑的速度也会被减慢。坐骑用盔甲可用的盔甲类型类型和表:盔甲和盾牌中列出的类型相同。

供马(大型非人形生物)使用的盔甲的价格是中等人形生物的盔甲价格的4倍,重量则是表:盔甲和盾牌中列出的2倍(见特殊生物的盔甲)。如果是为矮种马或其他中等体型的坐骑准备的盔甲,那么价格是普通盔甲的2倍,重量和列表中同类供人使用的盔甲一样。
中型和重型的盔甲会减慢坐骑的速度,见下面的表格。

|!		 |!	基本速度	 |!		 |!		 |
|!	坐骑用盔甲	 |!	(40尺)	 |!	(50尺)	 |!	(60尺)	 |
|^	中型	 |^	30尺	 |^	35尺	 |^	40尺	 |
|^	重型	 |^	30尺^^1^^	 |^	35尺^^1^^	 |^	40尺^^1^^	 |
|^	1 //坐骑在装备重型盔甲时只能以3倍正常速度奔跑,而不是4倍。//	 |<|<|<|


飞行的坐骑在穿着中型或重型的盔甲时不能飞行。
给坐骑脱下或穿上盔甲所花费的时间是表:穿戴盔甲里列出的数值的5倍。装备了盔甲的坐骑不能用来装载其他除了骑士及普通鞍囊以外的东西。

''骑乘用犬(Dog, Riding):''中等体型的狗可以通过特殊的训练作为小体型骑手的坐骑。它在战斗中和战马一样的勇猛。如果你从骑乘用犬身上跌落,你不会受到任何伤害。

''驴和骡(Donkey or Mule):''驴和骡对危险很不敏感,而且稳重、吃苦耐劳,并具有长距离运送沉重货物的能力。和马不同,它们会毫无抵制(虽然可能并不情愿)的进入到地下城或者其他陌生及充满了威胁的地方。

''饲料(Feed):''马、驴、骡及矮种马可以放养,由它们自己进食,但用饲料喂养它们是更好的选择。如果你有一条骑乘犬,你必须要有一些肉来喂养它。

''马(Horse):''马(除了矮种马)适合于人类、矮人、精灵、半精灵或者半兽人作为坐骑使用。而矮种马则适合于侏儒,半身人作为坐骑使用。

战马和矮种战马更适合在战斗中骑乘,而轻型马,重型马和矮种马在战斗中会难以控制。

''异种鞍座(Saddle, Exotic):''异种鞍座和正常的鞍座类似,但是它是为特殊的坐骑所设计。异种鞍座也有军用、载货、骑乘的类型。

''军用鞍座(Saddle, Military):''军用鞍座护住了骑手,在和待在鞍座上相关的骑术检定上骑手将获得+2环境加值。如果你在马上被击倒并失去意识,你有75%的机会不会从鞍座上跌落下来(一般的骑乘鞍座为50%)。

''载物鞍座(Saddle, Pack):''载物马鞍是用来盛放装备和供应物的,不能骑乘。它能装载的货物重量与坐骑的最大载物重量相同。

''骑乘鞍座(Saddle, Riding):''骑乘马鞍是可供一人骑乘的标准鞍座。

 

!!! 运输

''四轮马车(Carriage):''四轮马车最多可以在车厢里载入4个人,再加上两名车夫。一般情况下,需要两匹马(或者其它拉车的动物)来拖动它。它还带有全套用来牵引马车的挽具。
二轮马车(Cart):二轮马车可以用一匹马(或者其它拉车的动物)拉动,它包括了全套的挽具。

''大型划船(Galley):''这种三桅船的两面各有70支桨,总共需要200名船员。它有130尺长,20尺宽,能运送150吨货物或250名士兵。它可以装上冲角;在船头、船尾和船身中部都可以架设船楼和炮台,这些改造至少要花费8,000 金币。这种船不能入海航行,只能靠着海岸线航行。不管是划桨还是扬帆,它的速度都是每小时4英里左右。

 

''平底船(Keelboat):''这种船有50至75尺长,15至20尺宽。它有一根装配横帆的桅杆和很少的几只桨。它有8至15名船员,能运送40至50吨的货物或100名士兵。这种船可以入海航行,就像沿着河航行一样(多亏了它的平底)。它的速度是每小时1英里左右。

''长船(Longship):''这种75尺长的船有40只桨,总共需要50名船员。它有一根装配横帆的桅杆,能运送50吨的货物或120名士兵。这种船可以入海航行。不管是划桨还是扬帆,它的速度都是每小时3英里左右。

''划艇(Rowboat):''这种小艇有8至12尺长,它可以运送2至3名乘客。它的速度是每小时1到1.5英里左右。

''帆船(Sailing ship):''这种适合航海的大船有75至90尺长,20尺宽,有20名船员。它能运送150吨的货物。它有两根装配横帆的桅杆,可以入海航行。它的速度是每小时2英里左右。

''雪车(Sled):''雪车是用来在雪地或坚冰上行进的车辆,需要两匹马(或者其它拉车的动物)来拖动它。它还带有全套用来牵引雪车的挽具。

''重型马车(Wagon):''重型马车是一种有四个轮子、无顶篷、用来运送重的货物的马车。一般情况下,需要两匹马(或者其它拉车的动物)来拖动它。它还带有全套用来牵引马车的马具。

''战舰(Warship):''这种单桅船长100尺,可以靠桨航行。它有60至80名划桨的船员。它能运送160名士兵,但由于缺少能给这么多人提供补给的空间,无法进行长途航行。这种船不能入海航行,最多只能靠着海岸线航行。这种船不能用来载货。不管是划桨还是扬帆,它的速度都是每小时2 5英里左右。

 

!!! 施法和服务

有时候,对一个问题最佳的解决方案是雇佣些人来帮你处理。

''租用马车:''这里给出的价格是租一辆马车把客人(和较轻的货物)从一个城镇送到另一个城镇。而如果只是乘马车在城中穿行,只需要花一个铜币。

''雇用受训人员(Hireling, trained):''这里给出的价格是一名受训人员工作一天的最低报酬,而很多这类人员需要更多的报酬。这类雇用包括佣兵,泥瓦匠,手艺人,抄写员,车夫,或其它受训人员。

''雇用未受训人员(Hireling, untrained):''这里给出的价格是一名未受训人员工作一天的报酬。这类雇用包括劳工,守门人,厨师,女佣,或其他仆役。

''雇用信使(Messenger):''雇用信使包括骑马和徒步的信使。如果他们正好要去你要送信到的地方,他们可能只会收一半的费用。

''过路税和城门税(Road or gate toll):''在经过一条保养的很好并且有很多守卫的路时,你经常会被收税以维持这条路的开销。有些拥有很大城墙的城市会在你进入或离开时(有时只会在进入时)收取城门税。

''搭船(Ship’s passage):''大部分船只都不是专用于载客的,但几乎都可以在运货时顺便带上几个乘客。如果乘客的体型比中等体型要大,或有其他原因难以乘船,搭船的价格就要加倍。

''法术(Spell):''列表中的价格是一个施法者为你释放一个法术的价格。该价格是假定你去施法者那里,并且在他方便的时候(一般要等24小时,施法者需要时间来准备法术)施法的价格。如果你想将一个施法者带到其他的地方并施展法术,你必须和法师商议,而一般的回答会是“不”。

法术的价格列表并不包括材料成分、器材成分及经验值成分。如果法术包括了材料成分,它的价格会被计入到法术的价格中去。

如果法术需要器材(除了神术器材),那么法术的价格必须加上器材1/10的价格。如果有经验值,每失去一点经验值你必须多付出5个金币。

此外,如果法术有危险,施法者会要求你证明你有能力,并且愿意处理这样的险情(也就是说,假设施法者已经同意这次施法)。如果法术会将施法者和你传送到其他地方,不管你是否随施法者返回,你都要花费两倍于施展这个法术的费用。

另外,并不是每个城镇都能找到有能力施展所有级别法术的施法者。你在小城镇(或大的居留地)中可以找到施展1级法术的施法者;在大城镇中可以找到施展2级法术的施法者;在小城市中可以找到施展3至4级法术的施法者;在大城市中可以找到可以施展5至6级法术的施法者;而在都市中则可以找到能够施展7至8级法术的施法者;但就算在都市中也不一定能找到能够施展9级法术的施法者。


 <<list-links "[tag[特殊能力]][tag[种类/亚种]]+[tag[核心]]+[sort[title]]>>

 <<list-links "[tag[核心]]+[tag[怪物]]-[tag[动物]]-[tag[特殊能力]]-[tag[种类/亚种]]+[sort[title]]>>


动物
 <<list-links "[tag[核心]]+[tag[怪物]]+[tag[动物]]-[tag[特殊能力]]-[tag[种类/亚种]]+[sort[title]]>>


虫类
 <<list-links "[tag[核心]]+[tag[怪物]]+[tag[虫类]]-[tag[特殊能力]]-[tag[种类/亚种]]+[sort[title]]>>




 

''核心规则:''每当你试图进行一个有一定几率失败的动作时,你投一个20面骰子(d20)。为了检测你的人物是否成功完成动作,你必须:

* 投d20
* 加上任何相关的修正值
* 拿结果与目标数值进行比较

 



如果结果等于或大于目标数值,你的人物成功。若小于目标数值,那么你失败了。



 

!!! 骰子(DICE)



投骰子是用类似“3d4+3”的公式来描述的,它表示“投了3个四面骰并加3”(结果是6至15间的一个数)。第一个数字告诉你投几个骰子(把它们的结果加起来)。紧跟在“d”后面的数字告诉你使用的骰子类型。后面任何的数字表明结果中将要加上或减去的数值。

 

''d%:''百分骰的使用略有区别。你通过投两个不同的10面骰子产生一个1至100之间的数。其中一个骰子(在投之前决定)是十位数,另一个是个位数。两个0代表100。



 

!!! 小数的舍入

通常情况下,当你得到小数时要去掉小数部分,即使小数部分等于或大于0.5也是如此。

//特例://某些特定的投骰最小为1,比如伤害和生命值。


 

!!! 乘法



有时候规则让你乘一个数或一个投出的值。当只有一个乘数时,正常地乘那个数即可。而当有两个或多个乘数乘以任何抽象值(比如修正或投出的值)时,将这些乘数合并成一个单独的乘数,即每个额外的乘数减一后加到第一个乘数上。因此,一个2倍(×2)再加一个 2倍(×2)得到的是3倍(×3,因为 2 + 1 = 3)。

 

当乘数是现实中的值(比如重量或距离),替换以不同的乘法规则。一个生物双倍其体型(因此其重量乘8),然后被石化(它的重量大约要乘上一个因子3),此时的重量是平时的24倍而不是10倍。相似的,一个瞎了的生物试图通过困难的地形,每个方格将按4个方格计算(两次翻倍,总共是×4),而不是相当于3个方格(加上两次100%)。



 

!! 属性点数(ABILITY SCORES)



!!! 属性修正(ABILITY MODIFIERS)


每项属性,在种族带来的改变以后,有着从-5到+5的修正值。表:属性修正和法术奖励给出了不同属性值的对应修正值。它同时给出了奖励法术位,如果你的人物是施法者你必须要了解它。
修正值是当人物试图进行与该属性相关的行动时,附加到你投出的骰子值上的数值。你也可以把修正值用在一些不需要投骰子的数值上。正的修正值叫做加值(bonus),负的修正值叫做减值(penalty)。





''表:属性修正和奖励法术''

|>|>|!----------- 奖励法术(根据法术等级) -----------	|<|<|<|<|<|<|<|<|<|
|!属性值	|!修正	|!0	|!1级	|!2级	|!3级	|!4级	|!5级	|!6级	|!7级	|!8级	|!9级	|
|	1	|	-5	|	----------- 无法施展与此属性相关的法术 ---------	|<|<|<|<|		|		|		|		|		|
|	2-3	|	-4	|	----------- 无法施展与此属性相关的法术 ---------	|<|<|<|<|	|		|		|		|		|
|	4-5	|	-3	|	----------- 无法施展与此属性相关的法术 ---------	|<|<|<|<|	|		|		|		|		|
|	6-7	|	-2	|	----------- 无法施展与此属性相关的法术 ---------	|<|<|<|<|	|		|		|		|		|
|	8-9	|	-1	|	----------- 无法施展与此属性相关的法术 ---------	|<|<|<|<|	|		|		|		|		|
|	10-11	|	0	|	-	|	-	|	-	|	-	|	-	|	-	|	-	|	-	|	-	|	-	|
|	12-13	|	+1	|	-	|	1	|	-	|	-	|	-	|	-	|	-	|	-	|	-	|	-	|
|	14-15	|	+2	|	-	|	1	|	1	|	-	|	-	|	-	|	-	|	-	|	-	|	-	|
|	16-17	|	+3	|	-	|	1	|	1	|	1	|	-	|	-	|	-	|	-	|	-	|	-	|
|	18-19	|	+4	|	-	|	1	|	1	|	1	|	1	|	-	|	-	|	-	|	-	|	-	|
|	20-21	|	+5	|	-	|	2	|	1	|	1	|	1	|	1	|	-	|	-	|	-	|	-	|
|	22-23	|	+6	|	-	|	2	|	2	|	1	|	1	|	1	|	1	|	-	|	-	|	-	|
|	24-25	|	+7	|	-	|	2	|	2	|	2	|	1	|	1	|	1	|	1	|	-	|	-	|
|	26-27	|	+8	|	-	|	2	|	2	|	2	|	2	|	1	|	1	|	1	|	1	|	-	|
|	28-29	|	+9	|	-	|	3	|	2	|	2	|	2	|	2	|	1	|	1	|	1	|	1	|
|	30-31	|	+10	|	-	|	3	|	3	|	2	|	2	|	2	|	2	|	1	|	1	|	1	|
|	32-33	|	+11	|	-	|	3	|	3	|	3	|	2	|	2	|	2	|	2	|	1	|	1	|
|	34-35	|	+12	|	-	|	3	|	3	|	3	|	3	|	2	|	2	|	2	|	2	|	1	|
|	36-37	|	+13	|	-	|	4	|	3	|	3	|	3	|	3	|	2	|	2	|	2	|	2	|
|	38-39	|	+14	|	-	|	4	|	4	|	3	|	3	|	3	|	3	|	2	|	2	|	2	|
|	40-41	|	+15	|	-	|	4	|	4	|	4	|	3	|	3	|	3	|	3	|	2	|	2	|
|	42-43	|	+16	|	-	|	4	|	4	|	4	|	4	|	3	|	3	|	3	|	3	|	2	|
|	44-45	|	+17	|	-	|	5	|	4	|	4	|	4	|	4	|	3	|	3	|	3	|	3	|


以此类推……
  
  
  
  
  
  
  
  
  
  
  
 

 !!! 属性和施法者


和奖励法术相关的属性取决于人物的施法者类型:对法师来说是智力;对牧师、德鲁依、圣武士和巡林客来说是感知;对术士和诗人则是魅力。除了得有高的属性点数以外,施法者还必须有足够高的职业等级才能施放某一等级的法术。(详见职业说明部分。)





!! 属性


每一项属性都部分的描述了你的人物,并且影响到他/她的一些行动。



!!! 力量(STRENGTH,STR)


力量量化了人物的肌肉和身体强壮度。这项属性对战士、野蛮人、圣武士、巡林客和武僧特别重要,它能帮助他们在战斗中获胜。力量同时限制了人物负重的上限。
人物的力量修正将用于:

* 近战攻击命中骰。
* 使用近战武器或投掷武器时的伤害骰(包括投石索)。(特例:非惯用手只有人物一半的力量加值,而双手武器获得一点五倍的力量加值。而力量减值(并非力量加值)将作用在非复合弓做出的攻击上。)
* 攀爬、跳跃和游泳检定。这些技能以力量作为关键属性。
* 力量检定(如破门等)。



!!! 敏捷(DEXTERITY,DEX)


敏捷量化了手眼协调性、灵活度、反射以及平衡性。这项属性是游荡者最重要的属性,但对那些通常穿着轻甲或中甲(巡林客和野蛮人),或不穿甲(武僧、法师和术士),以及任何想成为优秀弓箭手的人物来说,敏捷也很重要。
人物的敏捷修正将用于:

* 远程攻击命中骰,包括弓、弩、飞斧以及其他远程武器的攻击。
* 防护等级(Armor Class ,AC),确保人物能对攻击做出反应。
* 反射豁免判定,你能够依靠快速的移动躲开火球术和其他一些攻击。
* 平衡、脱逃术、隐藏、潜行、开锁、骑术、手上功夫、翻滚和绳技检定。这些技能以敏捷作为关键属性。


!!! 体质(CONSTITUTION,CON)



体质表示了人物的健康和耐力。体质加值能增加角色的生命点数,所以它对所有职业都很重要。
人物的体质修正将用于:

* 每个生命骰的投掷(但体质减值永远不能使结果低于1--也就是说,人物在升级时至少能获得一点HP)。
* 强韧豁免检定,用于抵抗毒素及类似的威胁。
* 专注检定。专注是个对施法者很重要的技能,以体质为关键属性。
如果人物的体质值的改变足以使其体质修正发生变化,其生命值也相应的增加或减少。



!!! 智力(INTELLIGENCE,INT)


智力决定了人物学习和推理的能力。这项属性对法师非常重要,因为它决定了法师所能施放的法术数量,抵抗他们施放法术的难度,以及法术的威力。同时智力对任何想拥有多种技能的人物都很重要。
人物的智力修正将用于:

* 游戏开始时所掌握的语言数目。
* 每等级获得的技能点数。(但你的人物每级至少能获得1点技能点。)
* 估价、手艺、文书解读、解除装置、伪造、知识、搜索以及法术辨识检定。这些技能以智力作为关键属性。
* 法师由高智力值得到施法次数奖励。施放一个法师法术所需要的最低智力值是10+法术等级。
动物的智力值为1或者2。类人生物至少为3。



!!! 感知(WISDOM,WIS)


感知表现了人物的意志力、常识判断力、感知力和直觉。智力表现人物分析信息的能力,而知觉更多的表现在对周围事物的察觉和了解上。感知是牧师和德鲁依最重要的属性,对圣武士和巡林客也很重要。如果你希望你的人物有敏锐的直觉,那就给他高的感知属性。任何生物都有感知。
人物的感知修正将用于:

* 意志豁免检定(用于对抗魅惑人类之类的法术)
* 医疗、聆听、专业、察言观色、侦察和生存检定。这些技能以感知作为关键属性。
牧师、德鲁依、圣武士、巡林客由高感知值得到施法次数奖励。施放一个牧师、德鲁依、圣武士、巡林客法术所需要的最低感知值是10+法术等级。



!!! 魅力(CHARISMA,CHA)

魅力表示人物的魄力、说服力、个人吸引力、领导能力和身体的自然魅力。这项属性对圣武士、术士和吟游诗人最重要。它对牧师也很重要,因为它影响着牧师驱退不死生物的能力。任何生物都有魅力。
人物的魅力修正将用于:

* 唬骗、交涉、易容、收集信息、驯养动物、威吓、表演和使用魔法装置检定。这些技能以魅力作为关键属性。
* 试图影响他人的行动的检定
* 牧师和圣武士的驱散检定,用来驱散僵尸、吸血鬼及其他不死生物。
术士或诗人由高魅力值得到施法次数奖励。施放一个术士或诗人法术所需要的最低感知值是10+法术等级。



当属性值变动时,所有相关能力值相应的变动。人物智力的增加并不能使其追加获得之前等级的技能值。

如果购买一个本职技能,每技能点可以获得一个级数(rank)(即此技能检定时有+1加值)。如果购买其他职业的本职技能(跨职技能),每技能点可以获得1/2级数。

你的本职技能最高级数为你的人物等级+3。

你的跨职技能最高级数为上述数字的一半(保留小数点)。

''使用技能:''要做一个技能检定,投:1d20+技能修正(技能修正=技能级数+属性修正+杂项修正)

该投掷结果类似攻击检定或者豁免判定--投掷结果越高越好。无论你是试着达到或超过某个特定难度等级(DC),或者要击败其他人物的技能检定结果都是如此。

''技能级数:''角色在某技能上的级数基于角色在该技能投入了多少技能点数。很多技能即便人物没有级数也可以使用,这样使用这些技能叫做“做一次未受训技能检定”。

''属性修正:''技能检定中使用的属性修正是该技能关键属性(关系到技能使用的属性)的修正值。各技能的关键属性列在技能说明中。

''杂项修正:''杂项修正包括种族加值,防具检定减值,还有由专长提供的加值,以及其他修正。

 

在本职技能上花费的每个技能点都会让你提升一个级数。本职技能是可以在人物的本职技能列表中查到的技能。在跨职技能上花费的每个技能点会让你提升1/2个级数。跨职技能是人物本职技能列表中查不到的技能。(半个级数不会改善技能检定,但是两个1/2级数是一个级数。)你不能节省技能点在之后使用。

本职技能最高级数为人物等级+3。跨职技能最高级数为上述数字的一半(保留小数点)。

不管购买技能是按照本职技能还是跨职技能购买,如果它是你任何职业的本职技能,该技能的最高级数都等于你的总人物等级+3。

 

!! 使用技能

当你的人物使用某技能,你需要做一个该技能检定来看看做得怎么样。较高的技能检定值代表较好的情况。根据情况,你的检定结果必须达到或超过某个的特定数字(DC或者对手的技能检定结果)才能获得成功。事情越难,所需的检定值也越高。

环境也会影响检定。不分心的轻松工作可以让角色做小心的尝试,同时可以避免简单的错误。有充足时间的人物可以一次又一次的尝试,因而能确保得到最好的结果。如果有其他帮助,人物在其他时候有可能失败的情况下也有可能获得成功。

 

!!! 技能检定

一次技能检定考虑了人物的训练情况(技能级数),天赋(属性修正),以及幸运(投骰)。也许还包含了他(她)种族对某些事情的特殊诀窍(种族加值)或者他(她)正穿着的防具(防具检定减值),或许还包括这个人物具备的特定专长,以及其他事情。

要做一次技能检定,投掷1d20再加上人物的该技能修正。技能修正包含了人物在此技能上的级数还有技能关键属性的属性修正,再加上其他任何可能的杂项修正,包括种族加值和防具检定减值。较高的结果代表较好的情况。和攻击检定或豁免判定不同,d20自然骰得到20不代表自动成功,自然骰得到1也不会自动失败。

 

!!!! 难度等级
有些检定用来对抗一个难度等级(DC)。该DC是你技能检定成功所必须得到的数字。

 

''表:难度等级示例''

|!	困难程度(DC)	|!	示例(使用的技能)	|
|^	非常容易(0) 	|^	注意到视野中一件大物品(侦察)	|
|^	容易(5)	|^	爬上打结的绳索(攀爬)	|
|^	一般(10) 	|^	听到正在靠近的警卫(聆听)	|
|^	棘手(15) 	|^	对马车轮做手脚让它掉下来(解除装置)	|
|^	有挑战性(20) 	|^	在湍急的水中游泳(游泳)	|
|^	难以克服的(25)	|^	打开一个一般的锁(开锁)	|
|^	英雄般的(30) 	|^	跳过30尺宽的裂隙(跳跃)	|
|^	几乎不可能完成(40)	|^	在下24小时雨后追踪一群穿越过坚硬地面的兽人(生存)	|


 

!!!!对抗检定
对抗检定是通过将自己检定结果和其他人物的检定结果比较以决定是否成功的一种技能检定。在对抗检定中,结果较高者获胜,较低者失败。在平局时,有较高技能修正者胜出。如果这也一样,重新投掷以打破僵局。

 

''表:对抗检定示例''

|!	任务	|!	技能(关键属性)	|!	对抗技能(关键属性)	|
|^	骗取他人信任 	|^	唬骗(魅力)	|^	察言观色(感知)	|
|^	装扮成他人	|^	易容(魅力) 	|^	侦察(感知)	|
|^	制造假地图 	|^	伪造(智力) 	|^	伪造(智力)	|
|^	对他人躲藏 	|^	躲藏(敏捷) 	|^	侦察(感知)	|
|^	威逼他人退让	|^	威吓(魅力) 	|^	特别^^1^^|
|^	悄悄靠近他人 	|^	潜行(敏捷) 	|^	聆听(感知)	|
|^	偷钱包 	|^	手上功夫(敏捷) 	|^	侦察(感知)	|
|^	紧紧捆住囚犯 	|^	绳技(敏捷) 	|^	脱逃术(敏捷)	|
|^	1 对抗威吓鉴定是进行目标的等级检定,而不是技能检定。详见威吓技能说明。	|<|<|


1 对抗威吓鉴定是进行目标的等级检定,而不是技能检定。详见威吓技能说明。
 


 

!!!!重试
通常情况下,如果检定失败可以重新做一次技能检定,你也可以继续试下去。但是,有些技能的失败结果必须被重视。有少数技能在特定任务里只要失败一次就变得无用了。对大部分技能而言,只要人物在给定的任务中成功一次即可,多余的成功次数是没有意义的。

 

!!!!未受训技能检定
一般情况下,如果你的角色尝试使用某种他没有掌握的技能,你可以和正常情况一样做技能检定。技能修正将不包括技能级数,因为该角色在此技能上没有级数。其他任何可用修正,例如技能关键修正,都可以在此检定中使用。

很多技能只有受过训练的人才能使用。

 

!!!!有利和不利情况
有些情况会让使用技能更易或更难,体现在技能检定中技能修正上的加值或减值,或者改变技能检定的DC。

考虑到各种特殊情况,技能检定成功机会可以通过四种方式来影响成功概率。

1、给技能使用者+2环境加值代表有利情况,例如有很好的工具,从其他人那里获得帮助(见共同尝试技能),或者拥有难得的正确信息。

2、给使用者-2环境减值代表不利情况,例如被迫使用临时工具或者有错误信息。

3、将DC降低2点代表较容易完成任务的环境,例如有友好的观众或者工作标准可以较低。

4、将DC增加2点代表较难完成任务的环境,例如有不友好的观众或者工作必须完美无缺。

影响人物使用技能能力的情况会改变技能修正。而能改变人物使用技能必须达到多么好才能成功的情况改变了DC。技能修正加值和检定DC的下降都带来相同的结果:都带来了更好的成功机会。但是它们代表了不同的情况,有些时候这种区别是很重要的。

 

时间和技能检定
使用一个技能可能需要一轮、不需要时间、或者需要好几轮甚至更长时间。大部分技能的使用是标准动作,移动动作,或者整轮动作。动作的类型定义了在战斗轮(6秒)架构中该动作需要多长时间来做,以及该动作视为多少移动距离。有些技能检定是瞬间的并代表对某个事件的反应,或者是一个动作的一个部分。这些技能检定不是动作。其他技能检定代表是移动的一部分。

 

!!!!无需投掷的检定
一次技能检定代表一次试图完成某些目标的尝试,通常是在有各种时间压力或者令人分心的事情的情况下。但是,有些时候在更有利的情况下,人物可以排除运气因素来使用技能。

''取10(Taking 10):''当你的人物不受威胁或者不分心,你可以选择取10。不用投掷1d20来做技能检定,假定你掷出10然后计算结果。对于很多日常工作,取10来就可以自动成功。分心或者威胁(例如战斗)使得人物无法取10。在大部分情况下,取10纯粹是安全措施——你知道(或者期待)一次平均投骰结果就可以成功,但是害怕糟糕的投骰结果会导致失败,因此你决定满足于平均值(一个10)。取10在那些即便得到高投骰结果也没帮助的情况下特别有用。

''取20(Taking 20):''当你有充足时间(对检定需要1轮、一个整轮动作,或一个标准动作的技能来说,这通常是2分钟),没有威胁也没有分心的事情,并且技能尝试失败不会带来惩罚,你可以取20。换句话说,如果你投了足够的时间最后总能在1d20里得到20。不用投掷1d20来做技能检定,直接按照投掷得到20来计算结果。

取20意味着你不停试直到获得20,这也意味着你在成功前失败了很多次。取20需要20倍于单独检定的时间。

因为取20代表人物在成功前失败过很多次,所以如果在那些失败会带来惩罚的技能上取20,你的人物就会在成功前自动招致那些惩罚。通常“取20”的技能包括脱逃术,开锁,还有搜索。

''属性检定和施法者等级检定:''属性检定上通常可以取10或者取20。但在施法者等级检定上两者都不能应用。

 

!!! 共同尝试技能 

当多于一个的角色同时为了同一个目标尝试同一个技能,他们的努力可能互相影响。

 

!!!!独立事件
通常情况下,几个人物尝试作某些动作和他们各自的成功和失败是彼此独立的。一个人物的攀爬检定结果不会影响其他人的攀爬检定。

 

!!!!援助他人
你可以通过在共同努力中作同种技能检定来帮助他人在技能检定中获得成功。如果你在你的检定中得到10或更高,那么按照有利情况规则,你正帮助的人物可以在其检定中获得+2加值。(你不能在援助他人时取10。)在很多情况下,人物的援助没有好处,或者只有有限数量的人能同时进行帮助。

在使用那些对技能使用者有限制的技能时,如果你的人物不能独自达到目标,那么你也不能援助他人。

 

!!!!技能共效
有可能角色有两种可以很好共同使用的技能。通常来说,在一个技能上有5或更高的级数可以让人物在该技能的每个共效技能的技能检定上都获得+2加值,见技能说明。在有些情况中,这个加值只有在以特别方式使用该技能时才有效,而并非所有的检定上。有些技能给角色所作的其他检定提供了好处,例如那些需要使用特殊职业特性的检定。

 

!!! 属性检定

有些时候角色要试着做一些没有关联特定技能的事情。在这些情况下,你要做一个属性检定。一次属性检定是投掷1d20再加上对应属性修正。在本质上,你做了一个未受训技能检定。

在某些情况下,一个动作就是一次对某人属性单纯的检定,没有运气因素。正如你不需要做一次身高检定来判断谁较高,你也不需要做一次强壮检定来看谁更强壮。
<<list-links "[tag[技能与专长]]">>
这一部分描述了各个技能,包括通常使用方法和典型的修正。有些时候人物可以在这里描述以外的用途上使用技能。

这里是技能描述的格式。

 

!!! 技能名字

技能名字一行包括了(在技能名字之外)以下信息

''关键属性(Key Ability):''那些修正值可以影响技能检定的属性的缩写。例外:使用语言(Speak Language)的关键属性是“无”,因为该技能的使用不需要检定。

''需受训(Trained Only):''如果这个标识出现在技能名字行内,则你必须在该技能上有至少1个级数才能使用。如果没有这句,则此技能未受训也可以使用(级数为0)。如果受训或未受训使用上有特殊说明,它们会在“未受训”部分中列出(见后)。

''防具检定减值(Armor Check Penalty):''如果这个标识出现在技能名字行内,则在使用此技能的检定上要使用防具检定减值(如果有)。如果没有这个标识则不必使用防具检定减值。

 

技能名字行之后是如何使用该技能的一般描述。在此描述之后有些其他类型信息:

''检定(Check):''在成功的技能检定之后人物(技能描述中的“你”)可以做什么以及检定DC。

''动作(Action):''使用该技能所需的动作类型,或者需要时间总量。

''重试(Try Again):''任何应用在持续尝试成功使用技能的条件。如果技能不允许你在同一个任务上尝试多次,或者失败会带来固有惩罚(例如攀爬技能),你就不能取20。如果这一段省略了,那么该技能可以重试,而除了需要额外的时间外不受任何固有惩罚。

''特别(Special):''任何和此技能有关的其他事情,例如使用此技能带来的特别效果,或者人物因为职业、专长、或者种族带来的奖励等。

''共效(Synergy):''有些技能可以因为协同效果而带给其他一个或多个技能带来加值。这一项指出了该技能因为共效而可能获得或给予的加值情况。

''限制(Restriction):''某些技能的全部功能会仅限于特定职业的人物或具有特定专长的人物。这一项指出了该技能任何存在的这类限制。

''未受训(Untrained):''这一项指出在该技能上没有级数的人物在使用技能时的情况。如果这一项没有出现,则意味着未受训人物可以正常使用该技能(如果它无需训练即可使用),对标明了“需受训”的技能来说这意味着未受训人物不能尝试使用此技能。


<<list-links "[tag[技能]]+[sort[title]]">>
进阶职业(Prestige classes)提供了另外一种类型的兼职。和基础职业不同,人物在得到进阶职业等级前必须满足一定的先决条件。升级系统同样适用于进阶职业,也就是说进阶的第一步同样是要选择所要进阶的职业。若人物在此前没有满足进阶职业的先决条件,便无法获得进阶职业等级。获得进阶职业不会得到通常兼职的经验值惩罚。

 

!!!! 术语定义

以下为此章中所用到的一些术语的定义。

''基础职业:''十一种基础职业之一。

''施法者等级:''通常情况下等于人物某一可施法职业的职业等级(见下文)。一些可施法的进阶职业也将会计入其中。

''人物等级:''人物所拥有的所有职业的等级总和。

''职业等级:''人物所拥有的某一职业等级。若人物只有一种职业,则其职业等级与人物等级相同。

<<list-links "[tag[进阶职业]]">>
''静思卷册(Tome of Clear Thought)'':教你如何提升记忆力和逻辑能力的巨著,字里行间蕴藏强大魔力。欲读完这本书,须费时48小时,至少分散于六天,此后智力值有+1到+5(视种类而定)天赋加值。一旦读完,书本内的魔力就消失,变为普通书。

施法者等级:17。先决条件:“制造奇物”,“愿望术”或“奇迹术”。交易价格:27500金币(+1)、55000金币(+2)、82500金币(+3)、110000金币(+4)、137500金币(+5)。制造耗费:1250金币+5100XP(+1)、2500金币+10200XP(+2)、3750金币+15300XP(+3)、5000金币+20400XP(+4)、6250金币+25500XP(+5)。重量:5磅。


























<<list-links "[tag[魔法概述]]">>



一道法术是一种一次性的魔法效果。法术分为两大类:奥术(arcane,由吟游诗人,术士和法师施展)和神术(divine,由牧师、德鲁伊以及老练的圣武士和巡林客施展)。一部分施法者只能从有限的已知法术列表中选择法术,然而另一些却有更宽广和多变的选择。大部分的施法者需要预先准备法术——无论是从法术书上还是通过虔诚的祈祷和冥思——而另外一些则可以不需准备而本能的施法。无论人物是通过怎样不同的方式学习或准备法术的,在施展的时候,法术是非常相似的。

神术和奥术又可以分为八个魔法学派。这些学派表现了魔法的不同作用方式。

!! 施展法术

无论奥术还是神术,也不管人物是预先准备法术还是当场选择法术,施法的步骤都是一样的。

!!! 选择法术

施法时首先要选择法术。如果你是牧师、德鲁伊、老练的圣武士,老练的巡林客,以及法师,那么你只能选择当天早先已经准备好并且还未施展的法术(见准备法师法术与准备神术的说明)。如果你是吟游诗人或术士,你可以选择任何已知的法术,前提是你能施展该等级或更高等级的法术。

要想施法,你必须能够发声(若该法术含有言语成分),作出姿势(若该法术含有姿势成分),并持有材料或器材(若需要)。此外,你必须集中精神以便施法。

如果某个法术有多重功效,那么在施法时选择使用何种功效。你并不需要明确地准备(或学习,对于吟游诗人或术士来说)该特定的功效。

一旦你施展了某个准备好的法术,就不能再次施展它,直到重新准备为止(如果你准备了许多份相同的法术,每一份可以施展一次)。若是吟游诗人或术士,对各个法术等级都有每日法术数量限制,只要没达到上限,就可以重复施展相同的法术。

!!! 集中精神

施法时必须保持精神集中。若在施法时受到干扰,你必须进行一次专注检定,否则就会失去该法术。受到的干扰越大,你所施法术的等级越高,专注检定的DC就越高。若检定失败,你将失去该法术,就好像法术没有产生任何效果一样。

''受伤:''如果在试图施法时受到伤害,你必须进行专注检定(DC=10+所受伤害+你所施的法术等级),未通过则失去该法术。这种干扰产生在你施法途中,可能是在你开始和完成施法之间(对于施法时间是一整轮或者更多的法术),或者是对你施法的反击中(比如由施法引起的借机攻击,或是意外的攻击,比如对手的准备动作)。

如果你正在受到持续性伤害,计算对你施法的影响时用该伤害的一半。你必须进行专注检定(DC=1+最近一次持续伤害的一半+你所施法术的等级)。如果最近一次伤害是该伤害源的最后一次伤害,则此次伤害不会影响你。重复型伤害不算是持续性伤害。

''法术:''如果你在施法时受到其他法术的影响,你必须进行专注检定,否则将失去正在施展的法术。如果影响你的法术造成了伤害,专注检定的DC=10+所受伤害+你所施法术等级。

若该法术是以其他的方式影响你,专注检定的DC=该法术的豁免DC+你所施法术的等级。对于那些无豁免检定的法术来说,视为可进行豁免检定计算。

''擒抱或压制:''当你与人擒抱或遭受压制时,你只能施展不含姿势成分的法术,而且必须已经将该法术的材料成分握在手中(若需要)。即便如此,你也要进行专注检定(DC=20+你所施的法术等级),否则失去该法术。

''颠簸震动:''如果你骑着马,坐在快速行进的马车里,乘小船通过急流,在暴风雨中的船舱里,或仅仅是遭遇到了类似的情况,在这种情况下施法,你便要进行专注检定(DC=10+你所施的法术等级),否则失去该法术。

''剧烈震动:''如果你骑着飞驰的马,坐在疾驰的马车里,乘小船通过风暴,在暴风雨中的甲板上,或是进入了类似这种糟糕的局面里,在这种情况下施法,你便要进行专注检定(DC=15+你所施的法术等级),否则失去该法术。

''暴虐天气:''在暴虐的天气中施法,你需要进行专注检定。若你身处疾风骤雨之中,专注检定DC=5+你所施法术的等级;若你身处强风冰雹或飞砂走石的状况中,专注检定的DC=10+你所施的法术等级。任一情况下,检定失败则失去该法术。若这种天气状况是由法术引起,则按照上面法术部分的规则处理。

''防御式施法(Casting Defensively):''若你在施法时不想引发任何借机攻击,你必须进行专注检定(DC=15+你所施的法术等级),通过则成功施法,否则失去法术。

''纠缠(Entangled):''在被捕网、绊足包,或类似效果的法术纠缠时施法,你需要进行专注检定(DC=15),通过则成功施法,失败则失去法术。

!!! 反制法术(COUNTERSPELLS)

所有的法术都可以用来作为反制法术。要这样做你需要使用法术的能量瓦解其他人物正在施展的同样法术。即便一个法术是神术而另外一个是奥术也可以反制。

''如何反制法术:''要反制法术,你必须选择一个对手作为反制法术的目标,这通过准备动作实现。你得等你的反制对象施法时,才能完成你的动作。(你仍然可以以你的速度移动,因为准备动作是一个标准动作)。

当反制对象施法时,你进行一次辨识法术检定(DC=15+该法术等级),此检定属于即时动作。如果检定成功,你便正确辨识出对方的法术并能尝试反制。若检定失败,便不能反制。

要完成反制,你必须施展反制法术。作为通用规则,只有完全相同的法术才能反制。若你有能力施展并准备好了相同的法术(如果你需要准备法术),你便可以施展出来,法术会有些微的改变以造成反制法术效果。如果目标在法术距离内,法术便会互相抵消而不造成任何其他的结果。

''反制超魔法术:''在决定能否反制某法术时,不需要考虑超魔专长。

''特殊例外:''有些法术可以特别用来互相反制,尤其是当这些法术彼此具有相对的效果时。

''用解除魔法反制法术:''你可以使用法术解除魔法反制任何施法者的法术,并且不需要辨识出对方施展的法术。但是,在反制法术的时候解除魔法并不总能成功(见该法术的描述部分)。

!!! 施法者等级(CASTER LEVEL)

法术的威力常取决于它的施法者等级,对大部分的施法者来说这等于你用来施展该法术的职业的等级。

你可以选择用较低的施法者等级来施展某个法术,但是你选择的等级必须足够高到能够施展该法术,同时所有与施法者等级有关的法术特性都要按你选择的施法者等级计算。

若某项职业特性,领域神赋力量,或其他特殊能力调整了你的施法者等级,那么该调整不但适用于与施法者等级有关的效果(例如距离,持续时间和伤害计算),而且适用于你对抗目标法术抗力时的施法者等级检定和做解除检定时的用到的施法者等级(包括解除检定的施法者等级和计算解除DC时用到的施法者等级)。

!!! 法术失败

一旦你试图在不符合某法术条件规定的情况下施展该法术,则施法失败且浪费掉该法术。

若你无法保持集中精神,法术也会失效。若你穿着盔甲施展含有姿势成分的法术,法术也有可能失败。

!!! 法术结果

一旦知道哪些生物(或物体和区域)受到影响,以及这些生物是否通过了豁免检定(若允许),你就可以应用法术造成的任一结果。

!!! 特殊法术效果

许多特殊法术效果都与法术的魔法学派有关。某些法术同时具有多种学派的特性。

''攻击:''有些法术与攻击有关。所有进攻性的战斗动作,即使不会对对手造成伤害,都算是攻击。试图驱散或斥喝不死生物也算是攻击。所有会让对手进行豁免检定,或者会造成伤害,或者用其他方式危害或牵制对手的施法,都算是攻击。施展召唤怪物或其他盟友的法术并不算攻击,因为这些法术本身没有直接伤害到任何人。

''加值类型:''通常,加值都具有类型,类型显示出法术是如何造成这些加值的。关于加值有一点很重要,即具有相同类型的两种加值通常不能累加。除了闪避加值,大部分的环境加值,以及种族加值以外,只有较好的加值起作用(见下文,结合魔法效果)。减值的原理相同——人物承受两种或更多相同类型的减值时,只有最差的减值起作用。

''复活亡者:''某些法术有能力让被害的人物复活。

当一个活着的生物死亡时,他的灵魂会脱离身体,离开物质界,穿越星界,然后前往他的神祗所在的位面居住。若该生物并未信仰任何神祗,他的灵魂将去往与他阵营相应的位面。将某人复活就意味着找回他的灵魂并将之归回他的身体。

//失去等级://任何死而复生的生物一般都会失去一个经验等级。人物新的经验值总量为他新的(减至的)等级所需最低经验值与达到下一级所需最低经验值的中点。如果人物死亡时为1级,他将失去2点体质值,而不是降级。

复活时失去的等级或体质值无法以任何凡间的手段回复,即使是许愿术(wish)和神迹术(miracal)也不行。复活的人物可以通过进一步的冒险获得经验值来重新升级。1级时死亡的人物复活后在达到允许提升属性值的等级时也可以选择加强体质值。

//防止复活://敌人可能会设法阻止人物复活。夺走尸体可以防止他人用死者复活(raise dead)或复生术(resurrection)来复活死者。锢魂术(trap the soul)可以阻止任何复活手段,除非首先将灵魂释放。

//违反意志://不愿重回人世的灵魂无法复活。灵魂能知道试图复活它的人物的姓名,阵营和信仰的神祗(若有),所以有可能因此拒绝复活。

!!! 结合魔法效果

法术或魔法效果通常按照描述生效,无论在相同的区域或受术者身上还有多少其他的法术或魔法效果正在起作用。除了特殊情况,法术不会影响其他法术的效果。如果某个法术对其他的法术有特殊的影响,该法术的描述中会有解释。有几条通则适用于法术或魔法效果在同一地方作用的情况:

''累加效果:''对攻击检定,伤害投骰,豁免检定和其他特质造成加值或减值的法术通常不能重复累计。更普遍的规则是,类型相同的加值不能累加,即使是来自不同法术(或是法术以外的效果;见上文关于加值类型的描述)也一样。

//加值名称不同://如果来自两个法术的加值或减值的类型不同,便可以累加。没有类型名的加值可以和任何加值累加。

//多次强度不同的相同效果://当两个或更多相同的法术作用于同一区域或目标但是强度不同时,只有最强的效果起作用。

//结果不同的相同效果://相同的法术有时会对同一受术者造成多次不同的效果。通常这些连续法术的最后一个会盖过其他法术。实际上前面的法术并没有被移除或解除,不过只要最后一个法术仍然生效,他们的效果便不会出现。

//使其他效果失效://有时候,某个法术可以使一些后续的法术失效。这些法术都还存在,只不过被某种方式无效化了。

//多重心智控制效果://有时候,一些控制心智的魔法效果会使彼此失效,例如某个使目标失去行动能力的法术。通常只要不是使受术者无法行动的法术,就不会彼此妨碍。若某个生物受到两个或更多的生物的心智控制,他会尽自己所能在每个控制允许的范围内尽量服从所有的命令。如果受控生物同时收到互相冲突的命令,则控制者必须进行魅力对抗检定来决定该生物服从哪条命令。

''效果相反的法术:''效果相反的法术按照他们生效的次序依次正常的生效,包括加值,减值和其他改变。有些法术会彼此反制和抵消,这些特殊的效果会在法术描述部分中详述。

''立即效果:''两个或更多持续时间为“立即”(instantaneous)的法术若作用在同一目标上,效果会累积。

!! 法术描述

每个法术的描述都以一种标准格式表示,以下是各类信息的解释和详细说明。

!!! 名称

每条法术描述的第一行会给出该法术一般为人所知的名称。

!!! 魔法学派(SCHOOL)(子学派,SUBSCHOOL)

名称下面的一行给出了法术所属的魔法学派(以及适当的子学派)。

!!! [描述符][DESCRIPTOR]

如果有必要,在学派与子学派之后还会有描述符(列于中括号内),它们将法术做进一步的分类。有些法术有不止一个性质描述。

这些描述符包括:强酸(acid)、气(air)、混乱(chaotic)、寒冷(cold)、黑暗(darkness)、死亡(death)、土(earth)、电击(electricity)、邪恶(evil)、恐惧(fear)、火(fire)、力场(force)、善良(good)、依赖于语言(language-dependent)、秩序(lawful)、光亮(light)、影响心灵(mind-affecting)、音波(sonic),和水(water)。

大部分描述符自身并没有游戏效果,但是它们决定法术如何与其他的法术、特殊能力、罕见生物、阵营等等相互作用。

依赖于语言性质的法术使用有意义的语言作为传达信息的媒介,如果法术目标听不见或听不懂施法者所说的话,则法术失败。

影响心灵的法术只对智力值为1或者更高的生物才会起作用。

!!! 法术等级(LEVEL)

法术描述的下一行给出了法术的等级,法术等级从数字0到9,定义了法术相对力量的对比。列在数字前面的是可以施展该法术的职业的名称。法术等级部分也列出法术是否是领域法术以及作为领域法术时的等级。法术等级会影响所有允许对抗该效果的豁免检定的DC。

施法职业及其缩写:吟游诗人(bard Brd)、牧师(cleric Clr)、德鲁伊(druid Drd)、圣武士(paladin Pal)、巡林客(ranger Rgr)、术士(sorcerer Sor)、法师(wizard Wiz.)。

与法术有关的领域包括:气(Air)、动物(Animal)、混乱(Chaos)、死亡(Death)、破坏(Destruction)、土(Earth)、邪恶(Evil)、火(Fire)、善良(Good)、医疗(Healing)、知识(Knowledge)、秩序(Law)、机运(Luck)、魔法(Magic)、植物(Plant)、保护(Protection)、力量(Strength)、太阳(Sun)、旅行(Travel)、诡术(Trickery)、战争(War)、水(Water)。

!!! 法术成分(COMPONENTS)

法术成分是指你施法时必须做的事或必须持有的东西。法术描述中的成分部分都包括了该法术所需成分的类型。对于材料,器材和经验值成分会在描述文字的结尾特别说明。通常情况下你无需担心法术成分的问题,但是当你因故无法使用法术成分或是材料和器材成分非常昂贵时,你就不得不考虑法术成分的重要性。

''言语(Verbal, V):''言语成分就是一段念出的咒语,你必须能够清晰洪亮的发声。沉默术(silence)和嘴巴被塞住会妨碍发声(进而妨碍到法术)。耳聋的施法者施展带有言语成分的法术时,会有20%的几率使法术失效。

''姿势(Somatic, S):''姿势成分是一些精确而又有规律的手势。你必须至少空出一只手,才能完成姿势成分。

''材料(Material, M):''材料成分是一些会在法术施放过程中被法术能量消耗掉的实体物质或物体。除非标明了材料的价格,否则材料的消耗和花费可以忽略不计。不必为忽略价格的材料担心,只要你带着你的法术材料包,那么就认为你具有所有这些不需花费的材料。

''器材(Focus, F):''器材成分是某种类型的道具。和材料成分不同,器材成分不会在施法时消耗掉而且可以再利用。但和材料相同,除非标明了价格,否则器材的花费可以不计,只要你带着你的法术材料包,那么就认为你具有所有这些不需花费的器材。

''法器(Divine Focus, DF):''法器成分是一种精神象征物。牧师和圣武士的法器是与人物信仰相符的圣徽。

如果某法术的法术成分栏标示“器材/法器”或“材料/法器”,表示对该法术的奥术形式是器材或材料成分(斜线前的名称),而对神术形式是法器成分(斜线后的名称)。

''消耗经验值(XP Cost, XP):''施展某些强力的法术需要耗费经验值,这样失去的经验值没有任何法术能够回复。你无法支付会造成你等级下降的经验值。所以,在你获得足够富余的经验值之前你不能施展该法术。不过,当你获得足够升级的经验值时,你可以选择用它们来施展法术而不是用来升级。经验值和材料成分一样——在施法时被消耗掉,无论法术成功与否。

!!! 施法时间(CASTING TIME)

大部分法术的施法时间是一个标准动作,其他的要花费一整轮或更多,还有极小部分仅仅只需要一个即时动作。

需要花费一轮时间来施放的法术是一个整轮动作,法术将正好在你施法后的下一轮里你的行动前开始前生效。在法术完成后你可以正常的行动。

需要花费一分钟来施放的法术将在1分钟后你的行动开始时生效(在这10轮中的每一轮里,你都在以整轮动作施法,就如上文提到的花费一轮时间的施法)。所有的行动都必须连续并且不能被打断,否则法术自动失败。

当你开始施展花费一轮或更长时间的法术,你就必须从当前轮起持续保持专注,直到下一轮(至少如此)你的行动开始之前。如果你在施法完成之前无法保持专注,你将失去该法术。

只需要花费一个即时动作的法术不计入你每轮只能施法一次的限制,但是,你每轮也只能施展这样的法术一次。施法时间为一个即时动作的法术施展时不会引发借机攻击。

你需要在法术开始展现效果时作出所有的决定(距离、目标、范围、效果、形式等等)。

!!! 距离(RANGE)

法术描述的距离部分详细说明了法术能够施放的距离。法术距离是指从你算起法术效果能作用的最远距离,同样也是你能指定的法术源起点的最远距离。如果法术区域有任何部分超出距离,则那些区域视为无效。以下是一些标准距离:

''个人(Personal):''该法术只能影响你自己。

''接触(Touch):''你必须接触到受术对象。能造成伤害的接触类法术能够像武器一样造成重击,掷骰原值为20即造成重击威胁,重击成功造成双倍伤害。有些法术允许你接触多个目标。作为施法的一部分,你可以尽可能多的接触自愿的目标,但是所有的目标都必须在你完成施法的同一轮内被接触到。

''近距(Close):''法术可施展到离你25英尺远的地方,每提升2个施法者等级,可以再增加5英尺距离。

''中距(Medium):''法术可施展到100英尺+10英尺/每施法者等级。

''远距(Long):''法术可施展到400英尺+40英尺/每施法者等级。

''无限制(Unlimited):''法术可施展到你所在的位面内的任何地方。

''以英尺表示距离(Range Expressed in Feet):''有些法术不属于任何标准距离,仅用英尺表示施展距离。

!!! 瞄准(AIMING A SPELL)

你必须根据法术的类型选择该法术影响的目标或是法术效果的源起点。此部分给出了法术的目标、效果和作用区域。

''目标(Target or Targets):''有些法术是针对具体目标的。按照法术自身的说明,这些法术必须施放到生物或物体上,你必须能够看到或摸到目标对象,并明确的选定该目标。在法术完成之前,你不必选择目标。

如果某个法术的目标是你自己(法术描述中提到“目标:你自己”),你不需进行豁免检定,法术抗力也不起作用,该法术的“豁免检定”和“法术抗力”部分可以忽略。

某些法术限制了你只能对自愿的目标施放。声明你自己为自愿目标是随时可行的(即使你处于措手不及状态或还未轮到你行动)。失去意识的生物自动视为自愿。不过,清醒但不能移动或处于无助状态的目标不能自动视为自愿(比如被束缚、畏缩、正在擒抱、麻痹、被压制或被震慑)。

有些法术允许你在施展完毕后将其重新指向新的目标对象或区域。重定向一个法术是一个移动动作并且不会引发借机攻击。

''效果(Effect):''有些法术能够召唤或制造事物而不是影响现有的东西。

你必须指定事物出现的方位,要么你能看见那地方,要么你可以说明那地方。距离限制了法术效果出现的远近,但是,若该效果可以移动,则它的移动不受距离的限制。

//射线(Ray)://有些效果是射线,你使用射线瞄准如同使用远程武器一般,只是通常射线属于远程接触攻击,而不是普通的远程攻击。如同使用远程武器,你可以尝试向黑暗中或隐形的生物射击,之后期望能打中什么。和目标法术不同,你并不一定要看到目标。当然,其他生物或障碍物可以阻挡你的视线或为目标对象提供掩蔽。

如果射线类法术有持续时间,该持续时间指射线产生的效果的持续时间,而不是射线本身的持续时间。

能造成伤害的射线类法术能够像武器一样造成重击,掷骰原值为20即造成重击威胁,重击成功造成双倍伤害。

//扩散(Spread)://有些效果(特别是各种云雾)会从一个源起点向外扩散,源起点必须是方格的交点。此类效果会绕过转角,甚至到达你看不见的地方。计算距离时要使用经过的实际距离,并计算法术效果转向的次数。当决定扩散效果的距离时,要延墙壁周围计算,而不能穿过它们。同样,就像移动一样,在转角处不能沿着对角线扩散。你必须指定源起点的位置,但不需要对范围内的所有部分都有效果线(Line of Effect)(见下文)。

''区域(Area):''有些法术会影响一片区域。有时某法术描述会定义特殊的区域,但是通常情况下,“区域”都是下文所定义的种类之一。

无论区域的形状如何,你必须选择法术的源起点,但你不能控制法术具体影响哪些生物,法术源起点必须是方格的交点。要确定某生物是否位于法术区域之内需要计算他与源起点之间距离的格子数,做法和处理移动和远程攻击射程一样,。唯一不同的是,应该是一个交点一个交点的数,而不是用方格的中心点来数。

你也可以沿着方格的对角线来数,但是要记住每偶数个对角线按2个方格计。如果某方格的远边在法术区域内,那么所有在这个格子内的事物都在法术区域内。反之,如果法术区域刚刚到达某方格的近边,那么所有在这个格子内的事物都不会被法术影响。

//爆发(Burst)、弥漫(Emanation)、或扩散(Spread)://大部分区域类法术都是以爆发、弥漫、或扩散的方式作用。在这三种情况下,你都要选择法术源起点并度量法术效果到源起点的距离。

爆发类法术能够影响到区域内所有能被法术触及的东西,甚至是你看不见的生物。相对于源起点全掩蔽(total cover)的生物可以不受影响(换言之,爆发效果不能绕过转角)。爆发区域的默认形状是一个球体,但是有些爆发类法术特别注明了是锥状(cone-shaped)。爆发区域说明了法术效果能从源起点延伸到多远。

弥漫类法术的作用方式类似于爆发,不过法术效果会在持续时间内从源起点持续的向外辐射。大部分弥漫类法术的作用区域是锥状或球形。

扩散类法术的作用方式也类似于爆发,但是法术效果可以绕过转角。你选择一个源起点,然后法术效果向各个方向扩散出指定的距离。计算法术效果转向的次数,之后计算距离以确定该效果所填充的区域。

//锥形(Cone)、柱形(Cylinder)、线形(Line)、或球形(Sphere)://大部分影响区域的法术都有规则的形状,包括锥形、柱形、线形、和球形。

影响区域为锥形的法术会沿你指定的方向以四分之一圆的形状射出。该区域始于你所在方格的任意一角并逐渐变宽,大部分的锥状法术属于爆发类或弥漫类(见上文),所以不能绕过转角。

影响区域为柱形的法术在施展时,同样需要指定源起点,该点是一个水平圆的圆心。法术能量会自顶轰下,形成圆柱形。柱形法术无视范围内所有的障碍物。

线形法术会沿你指定的方向以一条线射出,这条线始于你所在的方格的任意一角,一直延伸到射程的极限,除非遇到了能阻挡该法术效果的屏障。线形法术所经过的所有方格里的所有生物都会受到影响。

影响区域为球形的法术,其效果从源起点开始填充成一个球形区域。球形区域法术可能是爆发类、弥漫类、和扩散类。

//生物(Creatures)://这种区域类型的法术直接影响生物(类似目标对象法术),不过是影响区域内所有特定类型的生物,而不是你所选择的个别生物。区域的类型可能是球形爆发,锥状爆发,或是别的类型。

许多法术只影响“活物(living creatures)”,这代表了除了构装生物和不死生物以外的所有生物。法术范围内其他不符合条件的生物不计入法术影响的生物。

//物体(Objects)://该区域类型的法术只影响你所选择的范围内的物体(与“生物”类型相同,只不过影响物体)。

//其他(Other)://影响区域独特的法术,会在法术描述中详细说明。

//可变(Shapeable)://如果法术的“区域和效果”部分结尾写着“可变” (S),这表示你能改变法术影响区域的形状。改变后的效果或区域的任何一个维度其尺寸不得小于10英尺。许多效果和区域是以立方表示,这样就更容易塑造成不规则的形状。空中和水下效果和区域常视为三维空间。

''效果线(Line of Effect):''效果线是一条畅通的直线,标示了法术能影响到的东西。效果线会被固态屏障阻挡。它有些像远程武器的“视觉线”(Line of Sight),但是效果线不会受到雾,黑暗,和其他会影响正常视线的因素影响。

施法时,在你与目标对象之间以及与产生魔法效果的地点之间必须有清晰的效果线,在你与法术源起点之间也要有清晰的效果线。

爆发、锥状、柱状、和弥漫法术只会影响与源起点(球状爆发的球心、锥状爆发的起点、柱状的圆切面、和弥漫的源起点)之间有效果线的区域、生物和物体。

若实体屏障上有1平方英尺或以上的通孔,那么它就不能再阻挡法术效果线。这就是说如果一面5英尺宽的墙上有这样一个开口就无法作为阻挡效果线的障壁。

!!! 持续时间(DURATION)

法术描述的持续时间部分说明了法术的魔法能量能够持续多久。

''定时(Timed Duration):''许多法术的持续时间是以轮、分钟、小时,或是其他的量来衡量。时间一到,魔法就会消失,法术随即终止。如果法术持续时间不确定,那么需要秘密掷骰决定(施法者并不知道法术的持续时间)。

''立即(Instantaneous):''此类法术的能量在法术施展的瞬间出现并施放,但是造成的结果可能会持续很长一段时间。

''永久(Permanent):''此类法术的能量和效果会一直保留,这就意味着法术会被解除魔法(dispel magic)所解除。

''专注(Concentration):''若你一直保持专注,法术就会一直持续。专注以维持法术是一个标准动作并且不会引发借机攻击。能够打破你施法时的专注的事物同样可以打破维持法术时的专注,并使法术失效。

在你专注于某个法术时无法施展另一个法术。有时,在你停止专注后,法术还会持续一段很短的时间。

''对象、效果和区域:''若法术直接影响生物,在法术持续时间内法术效果会随着受术者移动。若法术制造某种效果,此效果在持续时间内可能移动也可能静止,也可能在持续时间结束之前就被破坏。若法术影响一片区域,则在持续时间内法术效果留在该区域内,进入该区域的生物将受到法术影响,而离开后便不再受影响。

''接触类法术与暂不散发(Touch Spells and Holding the Charge):''大部分情况下,当你施展接触类法术后,如果暂时不释放法术,就能将法术效果存留下来(延迟法术的散发时间)。你可以每轮都进行接触攻击。若这时又你施展一个法术,存留的效果就会消散掉。

某些接触类法术允许你接触多个目标来作为施法的一部分。这种类型的接触类法术不能选择暂不散发;你必须在法术完成的同一回合内接触所有的受术者。

''能量散发(Discharge):''有些法术会持续到被设置好的一个时间,或者被触发,或者能量消散。

''可解消(Dismissible):''如果法术描述的“持续时间”一行中标示了“可解消”(D),表示你随时可以解消法术。你必须在法术距离之内并且说出解消的咒语,这咒语通常是由该法术的言语成分演变而来。如果该法术没有言语成分,则你可以使用手势解消法术。解消法术是一个标准动作并且不会引发借机攻击。

由法术的本质所致,需要专注保持的法术总是可解消的,解消这类法术不需要动作,只需在自己行动结束的时候停止专注就可以了。

!!! 豁免检定(SAVING THROW)

通常,有害的法术允许受术者进行一次豁免检定来避免部分或全部的效果。法术描述中的“豁免检定”部分说明了允许豁免检定的类型以及通过豁免检定的结果。

''无效(Negates):''通过豁免检定则法术对受术者无效。

''部分生效(Partial):''法术会对受术者产生某种效果,通过豁免检定则可以减轻某些效果。

''效果减半(Half):''法术会造成伤害,通过豁免检定则使受到的伤害减半(舍去小数部分)。

''无(None):''不可进行豁免检定。

''不相信(Disbelief):''通过检定的受术者不受效果影响。

''(物体,object):''此法术可以针对物品,只有魔法物品和正被抵抗该法术的人持用(拿着、穿着或握持等)的物品可以进行豁免检定。不管哪种情况,除非物品的豁免检定加值更高,否则使用持用者的豁免检定加值。(这些注释并不是说这类法术只能对物品施展,某些此类法术能对生物和物体施展。)魔法物品的豁免检定加值=2+该物品施法者等级的一半。

''(无害,harmless):''此类法术通常是有益而无害的,但受术者仍然可以按自己的意愿试图进行豁免检定。

''豁免检定难度等级:''对抗你施展的法术的DC=10+该法术的等级+你所对应的属性加值(法师是智力;吟游诗人和术士是魅力;牧师、德鲁伊、圣武士和巡林客是感知)。同一法术的等级会因职业的不同而不同,你只能使用你的与职业相应的法术等级。

''豁免检定成功:''当生物通过成功的豁免检定对抗了没有显著物理效果的法术后,能够感觉到有敌对的力量或是刺痛感,但是无法确定该攻击的确切性质。同样,如果有生物成功豁免了你施放的目标性法术,你能够感觉到法术失败。若是效果或区域型法术,你感觉不到是否有生物通过豁免检定。

''自动失败与自动成功:''豁免检定时的掷骰原值为1时(d20掷出1),检定自动失败,暴露在外的物品可能会受到伤害(见下文,“检定后的留存物品”)。而掷骰原值为20时(d20掷出20),检定自动成功。

''自愿放弃豁免检定:''受术者能够自愿放弃豁免检定,自动接受法术结果。即使拥有特殊魔法抵抗力的生物也能暂时压制这种能力,接受法术结果。

''检定后的留存物品:''除非法术说明中特别指示,否则生物携带或穿戴的物品不会受到魔法攻击的影响。但是,若生物在豁免对抗检定时掷骰原值为1,他身上暴露在外的某个物品可能会遭到损伤(如果法术可以损坏物品)。

见下表:受魔法攻击影响的物品。表中标示了物品受创的难易程度,决定了哪四种被携带的物品最易受创后,掷骰决定哪件物品受创。这样被掷骰决定出的物品必须进行一次豁免检定,并承受攻击带来的伤害。

如果某物品既不是魔法物品又没有被人持用,则该物品不用进行豁免检定,直接受到相应的伤害。

''表:受魔法攻击影响的物品''

|!顺序^^1^^|!物品|
|^第一|^盾牌|
|^第二|^盔甲|
|^第三|^魔法头盔、帽子、头带|
|^第四|^手中物品(包括武器、法杖等)|
|^第五|^魔法斗篷|
|^第六|^未取出或未出鞘的武器|
|^第七|^魔法护腕|
|^第八|^魔法衣服|
|^第九|^魔法珠宝(包括戒指)|
|^第十|^其他|

1 顺序愈前面愈容易受影响。
!!! 
!!! 法术抗力(SPELL RESISTANCE)

法术抗力(SR)是一种特殊的防御性能力。如果你施展的法术受到有法术抗力的生物抵抗,你必须进行一次施法者等级检定(1d20+施法者等级),结果需大于等于该生物的法术抗力,法术才会影响该生物。受术者对抗魔法攻击的的法术抗力就如同AC一样。你可以对施法者等级检定加上所有的施法者等级调整。

法术描述中的“法术抗力”一行和详细说明部分会标示出法术抗力是否能抵抗该法术。在多数情况下,只有受术者被当作法术目标时,法术抗力才会起作用,若受术者进入已在作用的法术区域内,则法术抗力不起作用。

法术抗力说明里的“物品”,“无害”的意思和豁免检定中的相同。有法术抗力的生物想要接受无害法术的效果,必须自愿减弱法术抗力(标准动作),这种情况下,施法者不需要进行上文提及的施法者等级检定。

!!! 详细说明(DESCRIPTIVE TEXT)

这个部分是法术的细节说明,包括法术的用途和作用方式。如果之前的部分中有提到“见说明”,则该部分的解释就在详细说明部分。


!!! 类法术能力(Spell-Like Abilities)
通常情况下,类法术能力的作用与同名法术相同。少数类法术能力较为特别,这会在该能力的描述中详细解释。

类法术能力不需要言语、姿势或材料成分,也不需要器材或经验值消耗,使用者靠心智启用该能力。即使某个类法术能力类似于一个含有姿势成分的奥术,盔甲和盾牌也不会影响到该能力的使用。

除非能力或法术描述中有特别规定,否则使用类法术能力为一个标准动作。在所有其它方面,类法术能力都与同名法术一样。

类法术能力会受到法术抗力的抵抗,也可以被解除魔法(dispel magic)解除。若某区域内魔法被压制或不能生效,类法术能力在该区域也无效。类法术能力不能用于反制法术,也不会被反制。

有些生物实际上是某种术士,他们按照术士的方式施展奥术,并使用需要的法术成分。事实上,某个生物个体可以既拥有类法术能力,又能像术士一样施展其他的法术。

!!! 超自然能力(Supernatural Abilities)
此类能力与法术不同,不会被战斗干扰,通常也不会引发借机攻击。超自然能力不受法术抗力影响,不能反制与被反制,也不会被解除魔法(dispel magic)解除。在魔法被压制或无效的区域内,超自然能力同样也无效。

!!! 特异能力(Extraordinary Abilities)
此类能力与法术不同,不会被战斗干扰,通常也不会引发借机攻击。能抵消或无效化魔法的区域和效果不能对特异能力造成影响,此类能力不能被解除魔法(dispel magic)解除,在反魔场(antimagic field)内依然正常有效。事实上,尽管特异能力可能违背物理法则,但不算是魔法。

!!! 天生能力(Natural Abilities)
这种能力是指生物由于自身肉体特性得到的能力。除了类法术能力、超自然能力和特异能力之外,生物的其他特殊行为都属于天生能力。

!! 魔法学派(Schools of Magic)

几乎所有的法术都属于八个魔法学派中的一个,同一学派法术的作用方式相类似。少数法术(比如秘法印记(arcane mark)、有限祈愿术(limited wish)、魔法恒定术(permanency)、魔法伎俩(prestidigitation)和祈愿术(wish))不属于任何学派,称为“共通”(universal)法术。

!!! 防护系(Abjuration)

防护系法术是保护性的法术。这些法术制造物理或魔法的屏障,抵消魔法或物理能力,伤害进犯的敌人,甚至能驱逐来自异界的生命体。

如果作用中的防护系法术彼此距离10尺以内,且时间达到或超过24小时,魔法场会互相干扰,从而会创造出几乎不可见的能量波动。这种波动让你在用搜索检定来确定这些防护系法术位置时DC下降4。

如果某防护系法术制造了一个阻绝特定生物类型的屏障,该屏障不能用于逼退这种生物。如果你强行使用屏障逼退该类生物,你会感觉到屏障受到明显的压力,如果你持续施压,法术将结束。

!!! 咒法系(Conjuration)

所有咒法系法术都属于五个子学派中的一个。咒法系法术可以为你具现化物体,生物或某种能量(召唤子学派, summoning);从其他位面传送生物到你所属的位面(呼唤子学派,calling);进行医治(医疗子学派,healing);远距离的传送生物或物体(传送子学派,teleportation);或在特定地点制造物体或效果(创造子学派,creation)。你召来的生物通常会听命与你,但是并非总是如此。

被咒法系法术具现化或传送到特定区域的物体或生物不能出现在其他物体或生物的体内,也不能漂浮在空中。他必须出现在一个能支撑他的表面上的空旷区域内。

生物或物体必须出现在法术距离内,但并不总需要待在法术距离内。

''呼唤(Calling):''此类法术可以将其他位面的生物传送到你所在的位面。法术给予该生物一种一次性的返回原属位面的能力,不过法术可以限定何种条件下才可使用该能力。被呼唤来的生物若被杀就会真正死亡而不是消失并重生,这与召唤不同(见下文)。呼唤类法术的持续时间为“立即”,即是说被呼唤而来的生物不会被解除魔法。

''创造(Creation):''此类法术可以操纵物质来在施法者指定的地方(依照上述规则限制)制造出物体或生物。如果法术的持续时间不是“立即”,那么魔法能量维持创造物,当法术效果终止时,创造出的生物和物体会消失的无影无踪;如果法术的持续时间是“立即”,则创造物仅仅是由魔法组合而成,可以不依靠魔法而永久留存。

''医疗(Healing):''此类神圣的咒法系法术能治疗甚至是复活生物。

''召唤(Summoning):''此类法术能将生物或物体立即召至指定地点。当法术结束或是被解除魔法,被召唤来的生物会被立即遣回原来的地方,但除非法术描述中特别指出,否则被召唤来的物体不会如此返回。若被召唤的生物被杀或生命值降至0或以下也会返回。该生物不会真正死亡,只是需要24小时来重组,在此期间不能再次召唤该生物。

当召唤出生物的法术结束,该生物消失,所有他施放的法术也随即终止。被召唤的生物不能使用任何天生的召唤能力,他也会拒绝施展任何会耗费他经验值的法术,同样,若某项类法术能力的同名法术会耗费经验值的话,他也不会使用该项能力。

''传送(Teleportation):''此类法术能将一个或多个生物或物体传送很远的距离。这类法术中最强大的甚至可以穿越位面的边界。和召唤法术不同的是,这种传送是单向的并且不能被解除魔法(除非另有说明)。

传送类法术是通过星界进行的即时旅行,任何能妨碍星界通行的事物都可以妨碍传送类法术。

!!! 预言系(Divination)

预言系法术能使你知道被尘封许久的秘密、预知未来、找到隐藏的事物和看穿骗人的法术。

许多预言系法术的影响区域是锥状,该区域随着你移动并沿着你的视线伸展。锥状即是你每轮可以扫视的范围。如果你多回合重复检视同一区域,通常能得到额外的信息,正如法术描述文字中提到的那样。

''探知(Scrying):''探知法术能创造出一个无形的魔法传感器来为你传输信息,除非特别说明,此魔法传感器与你自己的感官一样敏锐。它的敏锐程度受到以你为目标的法术或效果的影响,但不包括发源于你的法术或效果。尽管如此,此魔法传感器视作你的一个独立的与身体分离的感觉器官。因此就算你目盲、耳聋或是受到其他的感官伤害,它仍能发挥功能。

任何智力值达到12或更高的生物可以通过一个DC=20的智力检定来察觉魔法传感器。如同正在作用的法术一般,魔法传感器可以被解除魔法。

铅板和魔法保护能阻挡探知法术,而且你也能意识到法术被这样阻挡了。

!!! 惑控系(Enchantment)

此类法术能影响别人的心智,控制其行为。

所有的惑控系法术都是影响心灵(mind-affecting)的法术,它们影响目标生物的方式有两种。

''魅惑(Charm):''此类法术能改变目标对你的看法,很典型情况是会将你视作好朋友。

''胁迫(Compulsion):''此类法术能强迫目标以某种方式行动,或是改变他的思维方式。有些法术决定了目标的行动或是作用于目标的效果,有些则允许你在施法时决定目标的行动,而另一些能让你对目标进行持续的控制。

!!! 塑能系(Evocation)

塑能系法术能操纵能量或是利用未知的力量源泉来产生预期的结果,就像是无中生有一样。大多数塑能系法术能造成华丽的效果,而且此类法术也能造成巨大的伤害。

!!! 幻术系(Illusion)

幻术系法术能欺骗他人的感觉或心智,令人看见并不存在的事物,对眼前的事物视而不见。它也能令人听见幻音,或是回忆起从未发生过的事情。

''虚假幻觉(Figment):''此类法术能制造错觉。感觉到虚假幻觉的人都会感受到同样的东西,不会因人而异。(这不是个人独有的精神印象。)虚假幻觉不能使某物看上去像别的东西。含有声音的虚假幻觉不能复制有意义的语音,除非法术描述中允许这样。如果允许复制有意义的语音,必须是你会说的语言。倘若你试图复制你不会说的语言,则该声音会成为毫无意义的乱语。同样,你不能造出你不知道外形的事物。

由于虚假幻觉和五官幻觉(见下文)并不是真实的,所以不能像其他幻术一样产生真实的效果。它们无法对物体或生物造成伤害,不能承重,无法提供养分,不能防护元素伤害。因此,它们主要是用来混淆和阻碍敌人,而不是直接的攻击他们。

虚假幻觉的AC等于10+它的体型修正。

''五官幻觉(Glamer):''此类法术能改变目标的感官知觉,让他看到、摸到、尝到、闻到或听到与真实不同的事物,或是让实际事物被感觉不到。

''心灵幻觉(Pattern):''如同虚假幻觉,此类法术能制造可见的幻象,但是心灵幻觉还能影响那些看到幻象或感受到幻象的人的心智。心灵幻觉都是影响心灵的法术。

''魅影幻觉(Phantasm):''此类法术能制造只有施法者和受术者才能感觉到的心象。这种印象完全存在于受术者的内心,是个人的心灵印象。(这完全存在于脑中而不是外在可见的虚假图象。)第三方就算见到了这一场景也感受不到魅影幻觉。所有的魅影幻觉都是影响心灵的法术。

''幽影幻觉(Shadow):''此类法术能利用异次元能量制造半真实的事物,这种幻术能产生真实的效果。幽影幻觉造成的伤害也是真实的。

''豁免检定与幻术(不相信):''遇见幻术的生物,除非仔细检视或与之发生某种形式的互动,否则不会得到豁免检定的机会来识破幻象。

对幻术的豁免检定成功一次就能识破幻术,但是虚假幻觉和魅影幻觉会保留半透明的外形。

若豁免检定失败,表示人物没有发现真相。若发现可以完全证明幻觉是不真实的情况,则不需进行豁免检定。如果有人成功的识破了幻术并将此事告诉其他人,则这些人的豁免检定获得+4加值。

!!! 死灵系(Necromancy)

此类法术能操纵生死的力量。与不死生物有关的法术占据了这类法术很大的数量

!!! 变化系(Transmutation)

此类法术能改变生物、事物或状况的性质。










!! 牧师的法术

!!! 牧师的0级法术(祷念,ORISONS)
<<list-links "[tag[牧师0]]+[sort[title]]>>

!!! 牧师的1级法术
<<list-links "[tag[牧师1]]+[sort[title]]>>

!!! 牧师的2级法术
<<list-links "[tag[牧师2]]+[sort[title]]>>

!!! 牧师的3级法术
<<list-links "[tag[牧师3]]+[sort[title]]>>

!!! 牧师的4级法术
<<list-links "[tag[牧师4]]+[sort[title]]>>

!!! 牧师的5级法术
<<list-links "[tag[牧师5]]+[sort[title]]>>

!!! 牧师的6级法术
<<list-links "[tag[牧师6]]+[sort[title]]>>

!!! 牧师的7级法术
<<list-links "[tag[牧师7]]+[sort[title]]>>

!!! 牧师的8级法术
<<list-links "[tag[牧师8]]+[sort[title]]>>

!!! 牧师的9级法术
<<list-links "[tag[牧师9]]+[sort[title]]>>


!! 牧师领域


!!!气领域(AIR DOMAIN)

神授力量(Granted Powers):像一个善良牧师驱散不死生物那样驱散或摧毁土系生物。像一个邪恶牧师斥喝不死生物那样斥喝、命令或鼓舞气系生物。这个能力的每天使用次数为3+你的魅力调整值。这个神授力量是超自然能力。

!!!!气领域法术(Air Domain Spells)

#隐雾术(Obscuring Mist):大雾环绕着你。
#风墙术(Wind Wall):使箭矢、小生物和气体偏斜、转向。
#气化形体(Gaseous Form):受术者变为一团气体并能缓慢飞行。
#凌空而行(Air Walk):受术者可以踏入空中,如同在地面上(以45度角攀爬)。
#操控风向(Control Winds):改变风的方向和速度。
#连环闪电(Chain Lightning):每等级造成1d6点伤害;每等级会产生一个继发闪电,每个继发闪电造成一半的伤害。
#操控天气(Control Weather):改变特定地域的天气。
#旋风术(Whirlwind):龙卷风能造成伤害和卷起生物。
#元素集群(Elemental Swarm*):成倍的召唤元素。
*只能作为气类法术施放。

<<list-links "[tag[领域气]]+[sort[title]]>>












 
!!!动物领域(ANIMAL DOMAIN)

神授力量(Granted Powers):你可以每天使用一次动物交谈术(speak with animals),这是类法术能力。
将知识(自然)加入你的牧师职业技能列表。

!!!!动物领域法术(Animal Domain Spells)

#安抚动物(Calm Animals):安抚生命骰总数为2d#+施法者等级的动物。
#动物定身术(Hold Animal):麻痹一个动物,持续时间1轮/每等级。
#支配动物(Dominate Animal):目标动物服从无声的精神指令。
#四级自然盟友召唤术(Summon Nature’s Ally IV*):召唤生物为你作战。
#问道自然(Commune with Nature):了解每等级1英里内的地形。
#防活物护罩(Antilife Shell):活物无法靠近10尺内。
#动物形态(Animal Shapes):每等级使一个盟友变形(polymorphs)为指定的动物形态。
#八级盟友召唤术(Summon Nature’s Ally VIII*):召唤生物为你作战。
#形体变化(Shapechange F):你可以转变为各种生物,并且每轮可以改变一次形态。
*只能召唤动物。
 
<<list-links "[tag[领域动物]]+[sort[title]]>>











!!!混乱领域(CHAOS DOMAIN)

神授力量(Granted Power):你施放混乱类法术时施法者等级+1。

!!!!混乱领域法术(Chaos Domain Spells)

#防护守序(Protection from Law):AC和豁免检定+2,反击精神控制,将元素生物和异界生物阻挡在外。
#粉碎音波(Shatter):震动的音波,伤害目标物品或晶体生物。
#反守序法阵(Magic Circle against Law):与防护法术相同,但是半径为10尺,持续时间10分钟/每等级。
#混乱之锤(Chaos Hammer):伤害并使守序生物蹒跚。
#反制守序(Dispel Law):对抗守序生物攻击时AC获得+4加值。
#活化物体(Animate Objects):受术物品攻击你的敌人。
#混沌真言(Word of Chaos):杀死、困惑、震慑或使非混乱生物耳聋。
#混沌披风(Cloak of Chaos F):AC+4,抗力+4,对抗守序法术时获得SR 25。
#九级怪物召唤术(Summon Monster IX*):召唤跨位面生物为你作战。
*只能作为混乱类法术。
 
<<list-links "[tag[领域混乱]]+[sort[title]]>>









!!!死亡领域(DEATH DOMAIN)

神授力量(Granted Power):你可以每天使用一次死亡之触(death touch)。你使用的死亡之触是可以造成死亡效果的超自然能力。你首先必须对一个有生命的生物做一次成功的近战接触攻击检定(应用接触法术规则)。当你接触到时,你每拥有一个牧师等级掷一次1d6。 如果掷骰总值不小于生物当前的生命值,则其死亡(没有豁免)。

!!!!死亡域法术(Death Domain Spells)

#惊恐术(Cause Fear):使一个生命骰5或以下的生物逃窜1d#轮。
#死亡丧钟(Death Knell):杀害濒死生物;你获得1d8点临时HP,+2到力量和+1等级。
#操纵死尸(Animate Dead M):创造不死生物骷髅和僵尸。
#防死结界(Death Ward):允许受术者免疫死亡类法术和负能量效果。
#杀生术(Slay Living):接触攻击,杀死受术者。
#唤起死灵(Create Undead M):创造食尸鬼(ghouls)、妖鬼(ghasts)、木乃伊(mummies)或魔魂尸(mohrgs)。
#灰飞湮灭(Destruction F):杀死受术者并且毁灭其遗骸。
#唤起高等死灵(Create Greater Undead M):创造幽影(shadows)、缚灵(wraiths)、幽灵(spectres)或囚魂魔(devourers)。
#女妖之嚎(Wail of the Banshee):每等级杀死一个生物。

<<list-links "[tag[领域死亡]]+[sort[title]]>>

 










!!!破坏领域(DESTRUCTION DOMAIN)

神授力量(Granted Power):你获得威力打击(smite power),这个超自然能力可以在单次近战攻击中给攻击掷骰提供+4加值,给伤害掷骰提供每牧师等级1点的加值(如果你命中)。你必须在攻击前声明使用威力打击。此能力每天可以使用一次。

!!!!破坏领域法术(Destruction Domain Spells)

#造成轻伤(Inflict Light Wounds):接触攻击,造成1d8点伤害,每等级再多伤害1点,最多+5点。
#粉碎音波(Shatter):音波的震动伤害目标物品或晶体生物。
#疫病术(Contagion):使受术者感染选定的疾病。
#造成致命伤(Inflict Critical Wounds):接触攻击,造成4d8点伤害,每等级再多伤害1点,最多+20点。
#群体造成轻伤(Inflict Light Wounds, Mass):对一些生物造成伤害, 每个生物造成1d8点伤害,每等级再多造成1点。
#重伤术(Harm):对目标造成每等级10点伤害。
#解离术(Disintegrate):消灭一个生物或物品。
#地震术(Earthquake):80尺半径内出现强烈震动。
#内爆术(Implosion):每轮杀死一个生物。

<<list-links "[tag[领域破坏]]+[sort[title]]>>







 


!!!土领域(EARTH DOMAIN)

神授力量(Granted Power):像一个善良牧师驱散不死生物那样驱散或摧毁气系生物。像一个邪恶牧师斥喝不死生物那样斥喝、命令或鼓舞土系生物。这个能力的每天使用次数为3+你的魅力调整值。这个神授力量是超自然能力。

!!!!土领域法术(Earth Domain Spells)

#魔石术(Magic Stone):将3颗石头变成+1的投掷物,能造成1d#+1点伤害。
#柔石术(Soften Earth and Stone):将石头变为粘土,或将泥土变为沙子或淤泥。
#塑石术(Stone Shape):将石头塑成任何形状。
#刺石术(Spike Stones):范围内的生物受到1d8点伤害,有可能变的缓慢(slowed)。  
#石墙术(Wall of Stone):创造一堵形状可以变化的石墙。
#石肤术(Stoneskin M):忽略每次攻击所造成的10点伤害。
#地震术(Earthquake):80尺半径内出现强烈震动。
#钢筋铁骨(Iron Body):你的身体变成有生命的铁块。
#元素集群(Elemental Swarm*):成倍的召唤元素。
*只能作为土类法术施放。
 
<<list-links "[tag[领域土]]+[sort[title]]>>















!!!邪恶领域(EVIL DOMAIN)

神授力量(Granted Power):你施放邪恶类法术时施法者等级+1。

!!!!邪恶领域法术(Evil Domain Spells)

#防护善良(Protection from Good):AC和豁免检定+2,反击精神控制,将元素生物和异界生物阻挡在外。
#亵渎术(Desecrate M):使一个区域添满负能量,使不死生物强壮。
#反善良法阵(Magic Circle against Good):与防护法术相同,但是半径为10尺,持续时间10分钟/每等级。
#邪影击(Unholy Blight):伤害并使善良生物生病。
#反制善良(Dispel Good):对抗善良生物攻击时AC获得+4加值。
#唤起死灵(Create Undead):创造食尸鬼(ghouls)、妖鬼(ghasts)、木乃伊(mummies)或魔魂尸(mohrgs)。
#渎神之语(Blasphemy):杀害、麻痹、虚弱或眩晕非邪恶受术者。
#邪恶灵光(Unholy Aura F):AC+4,抗力+4,对抗善良法术时获得SR 25。
#九级怪物召唤术(Summon Monster IX*):召唤跨位面生物为你作战。
*只能作为邪恶类法术。
 
<<list-links "[tag[领域邪恶]]+[sort[title]]>>










!!!火领域(FIRE DOMAIN)

神授力量(Granted Power):像一个善良牧师驱散不死生物那样驱散或摧毁水系生物。像一个邪恶牧师斥喝不死生物那样斥喝、命令或鼓舞火系生物。这个能力的每天使用次数为3+你的魅力调整值。这个神授力量是超自然能力。

!!!!火领域法术(Fire Domain Spells)

#燃烧之手(Burning Hands):造成每等级1d4点火伤害(最高 5d4)。
#燃火术(Produce Flame):造成1d6点伤害,每等级再多造成1点伤害,可以接触或投掷。
#抵抗能量伤害(Resist Energy*):忽略10 (或更多) 点来自特定能量类型的攻击所造成的伤害。
#火墙术(Wall of Fire):对10尺内的受术者造成2d4点火伤害。在20尺内的造成1d4点伤害。对穿越火墙者造成2d6点伤害,每等级再多造成1点伤害。
#火焰护盾(Fire Shield):攻击你的生物受到火伤害,你可以在热或冷的攻击中获得保护。
#火种术(Fire Seeds):橡实和浆果变成手榴弹和炸弹。
#火焰风暴(Fire Storm):造成每等级1d6点的火伤。
#焚云术(Incendiary Cloud):可以造成每轮4d6点火伤害。
#元素集群(Elemental Swarm**):成倍的召唤元素。
*只能抵抗寒冷或火焰类型的能量。
**只能作为火类法术施放。

<<list-links "[tag[领域火]]+[sort[title]]>>












 
!!!善良领域(GOOD DOMAIN)

神授力量(Granted Power):你施放善良类法术时施法者等级+1。

!!!!善良领域法术(Good Domain Spells)

#防护邪恶(Protection from Evil):AC和豁免检定+2,反击精神控制,将元素生物和异界生物阻挡在外。
#援助术(Aid):攻击掷骰和对抗恐惧的豁免检定+1。获得1d8点临时HP,每等级再加1点,最多+10。
#反邪恶法阵(Magic Circle against Evil):与防护法术相同,但是半径为10尺,持续时间10分钟/每等级。
#圣光击(Holy Smite):伤害并使邪恶生物目盲。
#反制邪恶(Dispel Evil):对抗邪恶生物攻击时AC获得+4加值。
#剑刃护壁(Blade Barrier):刀剑的墙壁造成每等级1d6点伤害。
#圣言(Holy Word):杀死、麻痹、目盲或使非善良受术者耳聋。
#圣洁灵光(Holy Aura F):AC+4,抗力+4,对抗邪恶法术时获得SR 25。
#九级怪物召唤术(Summon Monster IX*):召唤跨位面生物为你作战。
*只能作为善良类法术。

<<list-links "[tag[领域善良]]+[sort[title]]>>
 










!!!医疗领域(HEALING DOMAIN)

神授力量(Granted Power):你施放医疗类法术时施法者等级+1。

!!!!医疗领域法术(Healing Domain Spells)

#治疗轻伤(Cure Light Wounds):治疗1d8点伤害,每等级再多治疗1点,最多+5点
#治疗中度伤(Cure Moderate Wounds):治疗2d8点伤害,每等级再多治疗1点,最多+10点。
#治疗重伤(Cure Serious Wounds):治疗3d8点伤害,每等级再多治疗1点,最多+15。
#治疗致命伤(Cure Critical Wounds):治疗4d8点伤害,每等级再多治疗1点,最多+20点。
#群体治疗轻伤(Cure Light Wounds, Mass):治疗一些生物,每个生物治疗1d8点伤害,每等级再多治疗1点,最多+25。
#医疗术(Heal):每等级治疗10点伤害、所有疾病和异常精神状态。
#再生术(Regenerate):受术者的断肢长好,治疗4d8点伤害,每等级再多治疗1点,最高+35。
#群体治疗致命伤(Cure Critical Wounds, Mass):治疗一些生物,每个生物治疗4d8点伤害,每等级再多治疗1点,最多+40。
#群体医疗术(Heal, Mass):与医疗术相同,但是可以医疗几个受术者。

<<list-links "[tag[领域医疗]]+[sort[title]]>>
 









!!!知识领域(KNOWLEDGE DOMAIN)

神授力量(Granted Power):将所有知识技能添加到你的牧师职业技能列表中。

你施放预言系法术时施法者等级+1。

!!!!知识领域法术(Knowledge Domain Spells)

#侦测密门(Detect Secret Doors):显露出60尺内的密门。
#侦测思想(Detect Thoughts):施法者可以“聆听”到他人的表面想法。
#锐耳术/鹰眼术(Clairaudience/Clairvoyance):听或看到更远的地方,持续时间1分钟/每等级。
#预言术(Divination M):获得对于特定的计划好的行动的有利建议。
#真知术(True Seeing M):让你看到事物的真实面貌。
#寻找捷径(Find the Path):显示出可以直接到达目的地的路。
#通晓传奇(Legend Lore M F):使你学到关于一个人,一处地方或一件物品的相关传说。
#感知位置(Discern Location):得知生物或物品的准确位置。
#预警术(Foresight):“第六感”会警告你正在逼近的危险。


<<list-links "[tag[领域知识]]+[sort[title]]>>
 








!!!秩序领域(LAW DOMAIN)

神授力量(Granted Power):你施放守序类法术时施法者等级+1。

!!!!秩序领域法术(Law Domain Spells)

#防护混乱(Protection from Chaos):AC和豁免检定+2,反击精神控制,将元素生物和异界生物阻挡在外。
#安定心神(Calm Emotions):使生物平静,抵消情绪性效果。
#反混乱法阵(Magic Circle against Chaos):与防护法术相同,但是半径为10尺,持续时间10分钟/每等级。
#秩序之怒(Order’s Wrath):伤害并使混乱生物晕眩。
#反制混乱(Dispel Chaos):对抗混乱生物攻击时AC获得+4加值。
#怪物定身术(Hold Monster):与人类定身术相同,但是适用所有生物。
#律言(Dictum):杀死、麻痹、缓慢或使非守序的受术者耳聋
#秩序之盾(Shield of Law F):AC+4,抗力+4,对抗混乱法术时获得SR 25。
#九级怪物召唤术(Summon Monster IX*):召唤跨位面生物为你作战。
*只能作为守序类法术。
 

<<list-links "[tag[领域秩序]]+[sort[title]]>>










!!!机运领域(LUCK DOMAIN)

神授力量(Granted Power):你获得每天使用一次好运(good fortune)的能力。这种特异能力允许你在DM宣布你刚刚完成的一次掷骰是成功还是失败前重新掷骰。你必须接受重掷的结果,即使比原来的结果还要差。

!!!!机运领域法术(Luck Domain Spells)

#熵光护盾(Entropic Shield:对你的远程攻击有20%的几率失手。
#援助术(Aid):攻击掷骰和对抗恐惧的豁免检定+1。获得1d8点临时HP,每等级再加1点,最多+10。
#防护能量伤害(Protection from Energy):吸收一种能量造成的伤害,每等级12点。
#行动自如(Freedom of Movement):受术者可以无视障碍正常移动。
#破除结界(Break Enchantment):将目标从惑控状态、变化、诅咒和石化中解放出来。
#假象术(Mislead):使你隐形并且制造幻象分身。
#法术反转(Spell Turning):将1d4+6法术等级的法术反射回施法者。
#片刻预知(Moment of Prescience):在单次攻击掷骰、检定或豁免检定中你获得洞察加值。
#神迹术(Miracle X):请求神祗的干涉。

 <<list-links "[tag[领域机运]]+[sort[title]]>>










!!!魔法领域(MAGIC DOMAIN)


神授力量(Granted Power):使用卷轴、法杖和其他储法型(spell completion)或法术触发型(spell trigger activation)魔法装置时相当你牧师等级一半的法师(至少是1级)。 当目的是使用卷轴或其他魔法装置时,如果你还有兼职法师,那么你的实际法师等级和你的这类有效法师等级可以叠加。

!!!!魔法领域法术(Magic Domain Spells)

#魔法灵光(Magic Aura):显露出物品的魔法灵光。
#鉴定术(Identify):确定魔法物品的特性。
#解除魔法(Dispel Magic):解除魔法或魔法效果。
#法术灌输(Imbue with Spell Ability):将法术传给受术者。
#法术抗力(Spell Resistance):受术者获得1#+ 施法者等级的法术抗力。
#反魔场(Antimagic Field):消除10尺内的魔法。
#法术反转(Spell Turning):将1d4+6法术等级的法术反射回施法者。
#防护法术(Protection from Spells M F):给予+8的抗力加值。
#法师裂解术(Mage’s Disjunction):解除魔法,消除魔法物品的魔法性质。
 

 <<list-links "[tag[领域魔法]]+[sort[title]]>>








!!!植物领域(PLANT DOMAIN)

神授力量(Granted Powers):像一个邪恶牧师斥喝不死生物那样斥喝、命令或鼓舞植物生物。这个能力的使用次数为每天3+你的魅力调整值次。这个神授力量是超自然能力。

将技能:知识(自然)加入你的牧师职业技能列表。

!!!!植物领域法术(Plant Domain Spells)

#纠缠术(Entangle):植物将纠缠40尺半径内的所有人。
#树肤术(Barkskin):天生防护获得 +2(或更高)的增强加值。
#植物滋长(Plant Growth):使植物生长,提高庄稼产量。
#命令植物(Command Plants):支配1个或多个植物生物的行动。
#荆棘之墙(Wall of Thorns):荆棘会伤害任何试图通过它们的人。
#驱离木材(Repel Wood):将木制物品推开。
#活化植物(Animate Plants):活化一棵或更多棵树来为你战斗。
#操控植物(Control Plants):控制一个或更多个植物生物的行动。
#蔓生术(Shambler):召唤1d4+2个蔓生怪(shambling mounds)为你战斗。
 
<<list-links "[tag[领域植物]]+[sort[title]]>>













!!!保护领域(PROTECTION DOMAIN)

神授力量(Granted Power):你可以制造一个保护结界(protective ward),这是超自然能力。你接触的人在他的下一次豁免检定中获得与你牧师等级相同的抗力加值。使用这一能力这是个标准动作。保护结界是属于防护系的效果,可以持续1小时。你每天可以使用一次本能力。

!!!!保护领域法术(Protection Domain Spells)

#圣域术(Sanctuary):对手不能攻击你,同时你不能攻击。
#护卫他人(Shield Other F):你替受术者承担一半的伤害。
#防护能量伤害(Protection from Energy):吸收一种能量造成的伤害,每等级12点。
#法术免疫(Spell Immunity):每4等级可以使受术者免疫1种法术。
#法术抗力(Spell Resistance):受术者获得12+施法者等级的法术抗力。
#反魔场(Antimagic Field):否定10 尺内的魔法。
#排斥术(Repulsion):生物不能接近你。
#心灵屏障(Mind Blank):受术者对精神性/情绪性魔法和探知免疫。
#虹光法球(Prismatic Sphere):与虹光法墙相同,但是将四周都围绕起来。
 
<<list-links "[tag[领域保护]]+[sort[title]]>>










!!!力量领域(STRENGTH DOMAIN)

神授力量(Granted Power):你可以以一种超自然能力使用力量能力。你的力量上获得等同于你牧师等级的增强加值。使用此能力是一个即时动作,此力量会持续1轮。你每天可以使用一次。

!!!!力量领域法术(Strength Domain Spells)

#人类变巨术(Enlarge Person):类人生物的体型变大一倍。
#牛之力量(Bull’s Strength):受术者力量+4,持续时间1分钟/每等级
#魔化防具(Magic Vestment):盔甲或盾牌获得每4等级+1的增强加值。
#法术免疫(Spell Immunity):每4等级可以使受术者免疫1种法术。
#正气如虹(Righteous Might):你的体型变大,并且获得战斗加值。
#石肤术(Stoneskin M):忽略每次攻击所造成的10点伤害。
#擒拿掌(Grasping Hand):巨手可以掩蔽、推或擒抱。
#金刚拳(Clenched Fist):巨手可以掩蔽、推或攻击你的敌人。
#粉碎掌(Crushing Hand):巨手可以掩蔽、推或挤压你的敌人。

<<list-links "[tag[领域力量]]+[sort[title]]>>








 
!!!太阳领域(SUN DOMAIN)

神授力量(Granted Power):每天一次,你可以将原本对抗不死生物的普通驱散变成强力驱散。强力驱散和普通驱散相似,但是可以将原本该被驱散的不死生物摧毁。

!!!!太阳领域法术(Sun Domain Spells)

#忍受环境(Endure Elements):在酷热或严寒的环境中能舒适的生存。
#灼热金属(Heat Metal):使金属变的灼热,以至于会对接触者造成伤害。
#灼热光辉(Searing Light):发出每2等级造成1d8点伤害的射线,对不死生物造成更多伤害。
#火焰护盾(Fire Shield):攻击你的生物受到火伤害,你可以在热或冷的攻击中获得保护。
#焰击术(Flame Strike):用神圣火焰打击敌人(每等级1d6点伤害)。
#火种术(Fire Seeds):橡实和浆果变成手榴弹和炸弹。
#阳炎射线(Sunbeam):光线造成4d6点伤害并致盲。
#阳炎爆(Sunburst):将10尺内的生物致盲并造成6d6点伤害。
#虹光法球(Prismatic Sphere):与虹光法墙相同,但是将四周都围绕起来。

<<list-links "[tag[领域太阳]]+[sort[title]]>>













!!!旅行领域(TRAVEL DOMAIN)

神授力量(Granted Powers):你可以无视来自阻碍行动的魔法效果而如常行动,就好象处在行动自如(freedom of movement)法术的影响下一样。此神授力量每天总的使用次数为你的每牧师等级1轮。这个效果会在申请的时候立即生效,持续到时间耗尽或不在需要为止。此能力每天可以分成很多次使用(每天只有总轮数限制)。

此神授力量是超自然能力。

将生存加入你的牧师职业技能列表。

!!!!旅行领域法术(Travel Domain Spells)

#大步奔行(Longstrider):增加你的速度。
#物品定位术(Locate Object):感应到目标物品的方向(特殊物品或指定物品的类型)。
#飞行术(Fly):受术者以60尺速度飞行。
#任意门(Dimension Door):将你短距离传送。
#传送术(Teleport):你被立即传送,最远距离为100英里/每等级。
#寻找捷径(Find the Path):显示出可以直接到达目的地的路。
#高等传送术(Teleport, Greater):与传送术相同,但是没有距离限制和误差。
#相位门(Phase Door):创造一个隐形的门可以穿过木头或石头。
#星界投射(Astral Projection M):将你和你的伙伴投射到星界。
 
<<list-links "[tag[领域旅行]]+[sort[title]]>>










!!!诡术领域(TRICKERY DOMAIN)

神授力量(Granted Power):将唬骗、易容和躲藏加入你的牧师职业技能列表。

!!!!诡术领域法术(Trickery Domain Spells)

#易容术(Disguise Self):改变你的外表。
#隐形术(Invisibility):目标生物隐形,持续时间1分钟/每等级,或直到此生物攻击。
#回避侦测(Nondetection M):隐藏目标使其不会被预言系法术和探知发现。
#困惑术(Confusion):受术者行为古怪,持续时间1轮/每等级。
#防范探知(False Vision M):用幻像愚弄探知法术。
#假象术(Mislead):使你隐形并且制造幻象分身。
#障幕(Screen):将一个地方用幻象笼罩以迷惑目视观察和探知。
#变形万物(Polymorph Any Object):将任何目标变成任意物体。
#时间停止(Time Stop):1d4+1轮内自由行动。
 
<<list-links "[tag[领域诡术]]+[sort[title]]>>










!!!战争领域(WAR DOMAIN)

神授力量(Granted Power):免费获得所信仰神祗的偏好武器(如果必要)的擅长军用武器专长和神祗偏好武器的武器专攻专长。

!!!!战争领域法术(War Domain Spells)

#魔化武器(Magic Weapon):武器获得+1的加值。
#灵能武器(Spiritual Weapon):自动攻击的魔法武器。
#魔化防具(Magic Vestment):盔甲或盾牌获得每4等级+1的增强加值。
#神圣力量(Divine Power):你获得攻击加值,+6到力量,和每等级1点的HP。
#焰击术(Flame Strike):用神圣火焰打击敌人(每等级1d6点伤害)。
#剑刃护壁(Blade Barrier):刀剑的墙壁造成每等级1d6点伤害。
#真言术:盲(Power Word Blind):使生命值200或更少的生物目盲。
#真言术:震(Power Word Stun):震慑生命值150或更少的生物。
#真言术:死(Power Word Kill):杀死生命值100或更少的生物。
 
<<list-links "[tag[领域战争]]+[sort[title]]>>











!!!水领域(WATER DOMAIN)

神授力量(Granted Power):像一个善良牧师驱散不死生物那样驱散或摧毁火系生物。像一个邪恶牧师斥喝不死生物那样斥喝、命令或鼓舞火系生物。这个能力的每天使用次数为3+你的魅力调整值。这个神授力量是超自然能力。

!!!!水领域魔法(Water Domain Spells)

#隐雾术(Obscuring Mist):大雾环绕着你。
#云雾术(Fog Cloud):产生使视线模糊的雾。
#水中呼吸(Water Breathing):受术者可以在水下呼吸。
#操纵水位(Control Water):使水位上升或下降。.
#冰风暴(Ice Storm):半径40尺的圆柱空间内降下冰雹,对穿过者造成5d6点伤害。
#寒冰锥(Cone of Cold):每等级造成1d6点寒冷伤害。
#酸雾术(Acid Fog):雾会造成酸伤害。
#凋死术(Horrid Wilting):对30尺范围内的受术者造成每等级1d6点伤害。
#元素集群(Elemental Swarm*):成倍的召唤元素。
*只能作为水类法术施放。

<<list-links "[tag[领域水]]+[sort[title]]>>

<<list-links "[tag[神和领域]]">>
!! 神术(Divine Magic)

牧师、德鲁伊、老练的圣武士和老练的巡林客施展神术。与奥术不同,神术从神圣之源汲取能量。牧师的施法能力来自神祗或神圣之源,大自然的神力赐予了德鲁伊和巡林客法术,而秩序与善良的神圣之力让圣武士拥有了施法能力。与奥术相比,神术更趋向于医疗与保护,也更加朴实和缺乏破坏力。

!!! 准备神术

神术施法者准备法术的方式与法师大致一样,但也有些许不同。与神术相关的属性是感知,要施展某等级的神术,人物的感知值必须达到10+该法术等级。同样,感知也会影响额外法术的数量。

''每日时辰:''和法师一样,神术施法者需要预先选择并准备法术。但是他们不需要提前休息来准备法术。取而代之的是,人物选择一天内的特定时辰进行祈祷并接受法术,该时辰通常与日常活动有关。如果人物因故无法在适当的时辰祈祷,他必须尽快进行祈祷。如果人物错过了祈祷的时辰,就只能等到第二天的适当时辰来准备法术。

''法术选择及准备:''神术施法者在每天的适当时辰通过祈祷和冥思来预先选择及准备法术。准备法术需要的时间与法师相同(1小时),也同样需要平静安宁的环境。神术施法者不需要一次准备所有的法术,可以空出一些法术位。但是,由于人物只有在当天第一次准备法术时,精神才是集中的,所以神术施法者不能在此时填充因用掉法术而空出的法术位,也不能放弃先前准备的法术来准备新法术。

神术施法者不需要法术书,但是职业的法术列表会限制他的法术选择。牧师、德鲁伊、圣武士、和巡林客的法术列表都不一样。创建牧师人物时还可以选择两个领域,每个领域都会在各个法术等级上(1-9级)提供一个领域法术供使用,同时都会提供其特殊的神授力量。由于每个法术等级牧师都得到两个领域法术(分别从他选择的两个领域而来),牧师必须从两个法术中选择其一来作为每日额外领域法术准备。如果某个领域法术不在牧师的法术列表中,则只能用领域法术位来准备。

''法术位:''人物角色的表格中标示了该职业各个等级每天能施展的法术数量。这些放置每日法术的空位称为法术位。施法者可以选择在高等级法术位中填入较低等级的法术。若某施法者由于属性值不足而无法施展他应得的较高等级的法术,他仍然可以获得该等级的法术位,但是只能填入较低等级的法术。

''最近施法限制Recent Casting Limit:''与奥术一样,在准备神术时,所有8小时内施展的法术要计入当天可准备的法术数量限制。

''关于治疗伤害(Cure)和造成伤害(Inflict)法术的自发施法:''善良的牧师(或善良神祗的牧师)能够用同等级或较低等级的治疗伤害(Cure)替代该等级先前准备好的法术并自发的施展,但是不能替代领域法术;邪恶的牧师(或邪恶神祗的牧师)能够用同等级或较低等级的造成伤害(Inflict)替代该等级先前准备好的法术(不能是领域法术)并自发的施展。信仰中立神祗的中立牧师,在创造人物时可以选择以上其中一种自发施法的方式。替代后的治疗伤害法术和造成伤害法术的神术能量与经过准备而施展的完全一样。

''关于召唤自然盟友(Summon Nature’s Ally)法术的自发施法:''德鲁伊能够用同等级或较低等级的召唤自然盟友(summon nature’s ally)法术替代该等级先前准备好的法术并自发的施展。替代后的召唤自然盟友法术的神术能量与经过准备而施展的完全一样。

!!! 抄写神术

如同奥术一样,神术也可以抄写和解读(见上文有关抄写奥术的说明)。拥有“辨识法术”技能等级的人物,便可以尝试解读并鉴定神术文字。但是只有法术列表上有该法术(以其神术形式)存在的人物才能通过卷轴施展它。

!!! 新的神术

神术施法者最常获得神术的方式有以下两种:

''升级时获得法术:''在冒险过程中,神术施法者会做一定量的研究。每当人物在神术上获得一个新级别时,人物会自动学会该级别的新法术。

''独立研究:''类似于奥术施法者,神术施法者也可以独立研究法术。除非法术发明者愿意和他人分享该法术,否则只有他自己能准备并使用该法术。




!! 圣武士的法术

!!! 圣武士的1级法术
<<list-links "[tag[圣武士1]]+[sort[title]]>>

!!! 圣武士的2级法术
<<list-links "[tag[圣武士2]]+[sort[title]]>>

!!! 圣武士的3级法术
<<list-links "[tag[圣武士3]]+[sort[title]]>>

!!! 圣武士的4级法术
<<list-links "[tag[圣武士4]]+[sort[title]]>>
!! 受伤和死亡(INJURY AND DEATH)

你的生命值代表杀死你的困难度。不论你损失了多少生命值,只要生命值没有掉到0或以下,你的角色都不会受到任何障碍。

<<list-links "[tag[受伤和死亡]]">>













除了法术创造的魔法物品外,某些材料有它内在的特殊属性。
如果你制造盔甲或武器时使用了不止一种的特殊材料,你只能得到其中主要材料的好处。不过你可以制造一个两端是由不同特殊材料制成的双头武器。

!!! 特殊武器材料

下面提到的特殊材料在游戏里都有特定的效果。基于生物类型或者生物本质,某些类型的生物拥有伤害减免的特性。其中一些生物能够抵抗所有伤害,除了某些特定类型的伤害,比如说邪恶武器或钝击武器造成的伤害。另一些生物则比较容易受到特殊材料武器的伤害。玩家人物可以选择携带几种不同类型的武器,这取决于战役设定和最可能遭遇的生物类型。

 

''精金(Adamantine):''这种极其坚硬的金属可以提高武器或者盔甲的品质。用精金铸造的武器拥有忽视硬度的天然能力,在进行击破武器和攻击物品时,可以忽略小于20的硬度。用精金锻造的盔甲给穿戴者提供了伤害减免,轻型甲为1/-,中型甲为2 /-,重型甲则是3/-。因为精金是如此昂贵,用它制成的武器和盔甲都是精制品(精制品价格已经包括在下表中的价格里)。因此精金武器和弹药在攻击检定上有+1增强加值,盔甲的防具检定减值则比相同类型的普通盔甲少1点。没有金属成分的物品不能用精金制造。箭可以用精金来制造,但木杖不行。

通常只有金属的武器、盔甲和盾牌才能由精金铸造。用精金代替钢制成的武器、盔甲和盾牌的生命值比一般物品多三分之一。每英寸厚的精金有40点生命值,其硬度是20。

|!	精金物品类型	 |!	物品价格调整值	 |
|^	弹药	 |^	+60金币	 |
|^	轻型盔甲	 |^	+5,000金币	 |
|^	中型盔甲	 |^	+10,000金币	 |
|^	重型盔甲	 |^	+15,000金币	 |
|^	武器	 |^	+3,000金币	 |


 

''黑木(Darkwood):''这种珍贵的魔法木材和普通的木头一样硬,但是非常轻。黑木制造的任何木制或大部分是木制的物品(比如弓,箭,矛)视为精制品,而且重量只有原来同种物品的一半。一般情况下不是木制的或只有部分是木制的物品(如战斧或硬头锤)要么不能使用黑木来制造,要么不能得到黑木制造的优点。黑木盾牌的防具检定减值比同类普通盾牌要少2点。计算黑木物品的价格时,在同类精制品的基础上再加上每一磅原始重量10金币。
每英寸厚的黑木有10点生命值,其硬度是5。



''龙革(Dragonhide):''盔甲匠可以用龙的皮革制造精制的盔甲和盾牌。一条龙的皮革可以为小一级体型的人物提供一套精制革甲(hide armor)。如果只选择鳞片和少量皮革,盔甲匠可以为体形小两级的人物制造一件精制板条甲(banded mail),或一套精制半身甲(half-plate)给体形小三级的人物,体形小四级的人物则可以得到一套精制胸甲(breastplate)或精制全身甲(full plate)。如果提供皮革的龙是大型或更大,无论上述哪种情况都可以在制造盔甲的同时还有足够的皮革再去制造一个精制的小型盾或大型盾。
因为龙革盔甲不是金属制的,德鲁伊可以穿戴而没有处罚。
龙革盔甲的价格是同类型的精制盔甲价格的两倍,但制造时间不会超过制造同类型的普通盔甲。
每英寸厚的龙革有10点生命值,其硬度是10。

 

''寒铁(Iron, Cold):''这种深埋在地下的铁因为对精类生物有特别的效果而闻名,要保持它的特性需要进行低温的锻造。用寒铁制造的武器需要的花费是普通武器的两倍。另外,任何魔法增强都需要额外花费2,000金币。
没有金属部分的物品不能用寒铁制造。箭可以用寒铁来制造,但木棍不行。
一个双头武器如果只有一端由寒铁制成,价格增加50%。
每英寸厚的寒铁有30点生命值,其硬度为10。

 

''秘银(Mithral):''秘银是一种非常稀少的,闪耀着银光的金属,虽然比铁轻,但却有一样的硬度。像铁一样锻造后,它成为了制造盔甲的绝佳材料,偶尔也被用来制造其他物品,大部分秘银盔甲在考虑移动速度和其他限制时视作轻一级的盔甲。重甲视作中甲,中甲视作轻甲,不过轻甲还是视作轻甲。秘银制的盔甲和盾其法术失败概率减少10%,最大敏捷加值增加2,防具检定减值减少3(最小到0)。
秘银制的物品的重量只有用其他金属制造的同种物品的一半。就武器而言,重量变轻并不能改变武器尺寸类型或其持握方法(无论是轻型,单手,还是双手武器)。主要部分不是由金属构成的物品不会因为部分秘银材料的存在而有变化(长剑可以是秘银武器,而巨镰不行)。

每英寸厚的秘银有40点生命值,其硬度是15。

|!	秘银物品类型	 |!	物品价格调整值	 |
|^	轻甲	 |^	+1,000金币	 |
|^	中甲	 |^	+4,000金币	 |
|^	重甲	 |^	+9,000金币	 |
|^	盾	 |^	+1,000金币	 |
|^	其他物品	 |^	+500金币/磅	 |


 

''炼银(Silver, Alchemical):''通过一个复杂的炼金过程,炼金师可以在钢制武器上镀上银,使得它可以穿透类似兽化人等生物的伤害减免。
当使用银制武器的攻击成功时,持有者在伤害投骰上有-1减值(通常情况下至少有一点伤害)。在非金属的物品上不能镀银,同样也不能类似精金、寒铁和秘银等稀有金属上也镀银。
每英寸厚的炼银有10点生命值,硬度为8。

|!	炼银物品类型	 |!	物品价格调整值	 |
|^	弹药	 |^	+2金币	 |
|^	轻型武器	 |^	+20金币	 |
|^	单手武器,或双头武器的一端	 |^	+90金币	 |
|^	双手武器,或双头武器的两端	 |^	+180金币	 |

 

''表:特殊攻击''

|!特殊攻击 |!概述 |
|^	[[协助他人|Aid Another(协助他人)]]	|^	使同伴在攻击检定或AC上得到+2加值	|
|^	[[冲撞|Bull Rush(冲撞)]]	|^	将目标向后撞退5英尺或是更远	|
|^	[[冲锋|Charge(冲锋)]]	|^	最多能够以2倍的正常速度移动,并使攻击检定得到+2加值	|
|^	[[卸除武器|Disarm(卸除武器)]]	|^	将武器从你对手的手中击落	|
|^	[[虚招|Feint(虚招)]]	|^	使你对手的AC失去敏捷加值	|
|^	[[擒抱|Grapple(擒抱)]]	|^	和对手进行扭斗	|
|^	[[骑乘战斗|Mounted Combat(骑乘战斗)特殊攻击]]|^	骑着坐骑战斗	|
|^	[[闯越|Overrun(闯越)]]	|^	在移动中穿过或是从上方越过你的对手	|
|^	[[击破武器|Sunder(击破武器)]]	|^	击破对手的武器或是盾牌	|
|^	[[投掷泼溅武器|Throw Splash Weapon(投掷泼溅武器)]]	|^	向目标投掷装有危险液体的容器	|
|^	[[绊摔|Trip(拌摔)]]	|^	绊摔目标	|
|^	[[驱散(斥喝)不死生物|Turn Or Rebuke Undead(驱散或斥喝不死生物)]]	|^	引导正能量(或负能量)来驱逐(或威慑)不死生物	|
|^	[[双武器战斗|Two-Weapon Fighting(双武器战斗)特殊攻击]]	|^	双手各持一把武器进行战斗	|

 
!! 
!! 特殊能力(SPECIAL ABILITIES)

从本质上划分,特殊能力要么是特异能力,要么是类法术能力,要么是超自然能力。

''特异能力(Extraordinary Abilities)(Ex):''特异能力不含魔法,但是不经过大量的训练是无法学会和运用特异能力的。特异能力不会在反魔场(antimagic field)中失效,能干扰或中断魔法的方式和区域不会对特异能力产生作用。除非另有说明,否则使用特异能力属于即时动作。

''类法术能力(Spell-Like Abilities)(Sp):''就像它的名字所意味的那样,类法术能力是类似施法的魔法能力(虽然它们不是法术,也不包含言语、姿态、材料、器材和经验值成分)。类法术能力在反魔场中无法使用,假如类法术能力所类似或对应的法术会受到法术抗力的影响,则该类法术能力也会受到法术抗力的影响。法术解除魔法(dispel magic)对它也有效。在魔法受到抑制或无效的区域(比如反魔场(antimagic field))内类法术能力无法运作。

类法术能力通常存在一个使用频率上的限制。可以任意使用的类法术能力不存在使用上的限制。除非另有说明,否则使用类法术能力属于标准动作,同时在受到威胁时使用会引发借机攻击。和施法类似,可以防御式使用类法术能力,并通过一个专注检定来避免被借机攻击。类法术能力和法术一样可能被干扰。但类法术能力不能用来反制法术,同样也无法被反制。

具有类法术能力的生物,会定义一个施法者等级,用来描述解除它们类法术效果的难度,或确定这些能力具有的等级相关变量(比如距离和持续时间)。生物的施法者等级不会影响生物具有哪些类法术能力;有时这个给定的施法者等级会小于使用这个同名法术所需的施法者等级。如果没有特别给定这个施法者等级的话,生物的施法者等级就是它的HD。类法术能力的豁免DC(如果存在)等于10+类似或对应的法术的等级+生物的魅力调整值。

某些类法术能力所对应的法术,在由不同职业角色施法时它们的效果不同。怪物的类法术能力默认对应于术士/法师版本。如果这个有疑问的法术不属于术士/法师法术,那么按此顺序默认:牧师、德鲁伊、吟游诗人、圣武士、巡林客。

''超自然能力(Supernatural Abilities)(Su):''超自然能力也带有魔法性质,不过不同于类法术能力。超自然能力在魔法受到抑制或无效的区域(比如反魔场(antimagic field))里无法运作,但不受法术抗力影响。超自然能力的效果无法驱散也不能被反制。除非特别说明,否则使用超自然能力属于标准动作。超自然能力可能存在使用限制,也可能可以任意使用,这与类法术能力是一样的。但超自然能力不会引发借机攻击也从不需要进行专注检定。除非特别说明,超自然能力的有效施法者等级等于生物的HD。超自然能力的豁免DC(如果存在)等于10+1/2生物的HD+生物的属性调整值(通常为魅力)。

 
''
表格:特殊能力类型''

|!|!特异能力|!类法术能力|!	超自然能力|
|	驱散	|	无效	|	有效	|	无效	|
|	法术抗力	|	无效	|	有效	|	无效	|
|	反魔场	|	无效	|	有效	|	有效	|
|	借机攻击	|	否	|	是	|	否	|
|	//驱散://解除魔法(dispel magic)和其它类似法术对这类能力的效果有效吗?	|<|<|<|
|	//法术抗力://法术抗力可以保护一个生物免受这些能力影响吗?	|<|<|<|
|	//反魔场://反魔场(antimagic field)或类似的魔法能压制这些能力吗?	|<|<|<|
|	//借机攻击://运用这些能力会引发借机攻击吗?	|<|<|<|



 <<list-links "[tag[特殊能力]]+[sort[title]]>>


''通晓卷册(Tome of Understanding)'':教你如何提升直觉和理解力的巨著,字里行间蕴藏强大魔力。欲读完这本书,须费时48小时,至少分散于六天,此后感知值有+1到+5(视种类而定)天赋加值。一旦读完,书本内的魔力就消失,变为普通书。

施法者等级:17。先决条件:“制造奇物”,“愿望术”或“奇迹术”。交易价格:27500金币(+1)、55000金币(+2)、82500金币(+3)、110000金币(+4)、137500金币(+5)。制造耗费:1250金币+5100XP(+1)、2500金币+10200XP(+2)、3750金币+15300XP(+3)、5000金币+20400XP(+4)、6250金币+25500XP(+5)。重量:5磅。
''统驭卷册(Tome of Leadership and Influence)'':教你如何提升说服力和影响力的巨著,字里行间蕴藏强大魔力。欲读完这本书,须费时48小时,至少分散于六天,此后魅力值有+1到+5(视种类而定)天赋加值。一旦读完,书本内的魔力就消失,变为普通书。

施法者等级:17。先决条件:“制造奇物”,“愿望术”或“奇迹术”。交易价格:27500金币(+1)、55000金币(+2)、82500金币(+3)、110000金币(+4)、137500金币(+5)。制造耗费:1250金币+5100XP(+1)、2500金币+10200XP(+2)、3750金币+15300XP(+3)、5000金币+20400XP(+4)、6250金币+25500XP(+5)。重量:5磅。
 

!!! 位面是什么?

存在的诸位面是多种不同世界的集合,这些世界之间有着错综复杂的联系。除很少几个连接点以外,每个位面事实上都是一个独立的宇宙,有着它自己的自然法则。

位面分为几大类:主物质位面,过渡位面,内层位面,外层位面和半位面。

 

''主物质位面(Material Plane):''主物质位面是所有位面中最接近地球世界的一个,有着与真实世界相同的自然法则,这也是大多数冒险的缺省位面。''过渡位面(Transitive Planes):''这三个位面有一个重要的共性:可以用来作位面旅行。星界能到达其他所有位面,而以太位面和阴影位面都连接主物质位面,可以穿行其中,这些位面与主物质位面有着最强的互动关系,可以通过多种魔法来访问,它们也拥有自己的原住民。

''内层位面(Inner Planes):''这六个位面是构成世界的基本成分的体现,其中每一个都由一种单独的元素或者能量主导构成,内层位面的原住民也是由相应的元素或者能量构成的。

''外层位面(Outer Planes):''诸神居住在外层位面,天界生物,魔鬼(demons)和恶魔(devils)也是一样,每个外层位面都有自己的阵营,体现着某种特定的道德伦理倾向,这些位面的原住民的阵营也倾向于与其保持一致,外层位面也是主物质界灵魂的最终安息之地,虽然这种安息可能是宁静的冥思,也可能是永恒的诅咒。

''半位面(Demiplanes):''这个一揽子的分类包括所有与普通位面类似,但只有可量度大小和有限通路的异度空间。其他位面在理论上是无限大的,而一个半位面却可能只有几百尺大小。

 

!!! 位面特性(PLANAR TRAITS)

每个位面都有属于自己的特性—它的自然法则。

位面特性可以分为几大部分。

 

所有位面都拥有以下几类特性:

''物理特性:''这些特性决定了一个位面的物理特性和自然定律,包括重力和时间的运作方式。

''元素与能量特性:''这些特性决定一个位面由哪些元素和能量占主导地位。

''阵营特性:''就像一个角色可能是守序中立或混乱善良一样,许多位面也有着自己的道德或伦理倾向。

''魔法特性:''不同位面中魔法的效果是不同的,魔法特性限定了魔法在这个位面所能做和不能做的事情。

 
!!! 
!!! 物理特性(Physical Traits)
物理特性所限定的自然法则中,最重要的两项是重力和时间的运作方式,其他还包括位面的大小和形状,以及其自然环境被外力所改变的难易程度。

 

!!!!重力(Gravity):

反常的重力指向是可能的,甚至在同一位面中,重力的方向也可能变化。

''普通重力(Normal Gravity):''大部分位面的重力和主物质位面相似,使用正常的属性值,负重量和重载规则。除非特别指明,所有位面都是普通重力。

''强重力(Heavy Gravity):''这些位面的重力比主物质位面强上许多,因此,所有关于平衡、攀爬、跳跃、骑乘、游泳和翻滚的技能检定受到-2的环境减值,所有攻击检定也是一样,所有物品的重量都翻倍,这可能会影响到人物的行动速度。武器射程减半。人物的强壮与敏捷值不受影响。在强重力位面从高处跌落的人物受到每10英尺1d10的伤害,最大20d10。

''弱重力(Light Gravity):''这些位面的重力比主物质位面要弱,这里的生物会发现它们可以跳得更高,但行动时总显得笨拙。轻重力下角色攻击检定和平衡、骑乘、游泳和翻滚的技能检定受到-2的环境减值,所有物品重量减半,武器射程加倍,攀爬与跳跃检定得到+2环境加值。

强壮与敏捷不受轻重力影响,但同样的数值所能干的事情就不大一样了,原住民和其他位面的旅行者都可以得到这一便利。

在轻重力位面从高处跌落的人物受到每10英尺1d4的伤害,最大20d4。

''无重力(No Gravity):''在这样的位面上,所有东西都在空中飘浮,除非其它东西能够为它们提供一个特定方向的重力。

''物体朝向重力(Objective Directional Gravity):''这些位面的重力强度与主物质位面相同,但其方向可能指向任何固体的物体,与位面表面形成任何夹角,而不是传统的“向下”指向地面,甚至向上也是可能的。

另外,物体朝向重力在不同地点可能改变,也就是说,所谓“下”的方向在各地将会不同。

''主观方向重力(Subjective Directional Gravity):''这些位面的重力强度与主物质位面相同,但重力的指向由每个个体自己选定,对于无持有者的物品和无意识的生物而言,该位面上的重力是不存在的。这样的环境会使初来者感到迷惑,但在那些“无重量”的位面中,这是很普通的情况。

在主观方向重力的位面上,角色可以想象“下”的方向指向她脚底的固体表面,从而正常移动。如果悬在空中的话,角色可以选择一个下方,用“掉”的方式来实现“飞行”。在这个过程中,一个个体在初始轮“下落”150尺,其后每轮300尺,只能直线移动。要想停下的话,她必须改变所指定的“下”方向来减速(同样的,新方向上初始轮“下落”150尺,其后每轮300尺)。

设定新的重力方向是一个自由动作,但需要通过一个DC16的感知检定,检定失败的生物在随后的鉴定中获得+6加值,直到成功为止。

 

!!!!时间(Time):

时间流逝的速度在不同位面上是不同的,但对于任何一个位面来说,它都保持恒定。对于观察者而言,时间永远都是主观的,各个位面上的时间都有着相同的主观特征。旅行者在穿越位面时,可能发现自己“获得”或者“丢失”了一段时间,但在她们自己看来,时间一直都在正常流逝。

''正常时间(Normal Time):''这是主物质位面的时间流逝方式,在拥有这个特性的位面上,一小时就等于主物质位面的一个小时。除非特别说明,所有位面都是正常时间。

''无时间(Timeless):''在这样的位面上,时间依旧在流逝,但时间的效果被降低了,无时间特性对特定的过程或状态如饥饿、干渴、年龄、毒以及自然回复的影响在各个位面都有不同。

无时间位面的危险是当你离开该位面进入时间正常流逝的位面时,饥饿和衰老等状态将会追溯出现。

''流动时间(Flowing Time):''在某些位面,时间流动比普通情况下更快(或者更慢)。一个人可能旅行到别的位面,在那度过一年,而回到主物质位面时发现只经过了六秒钟。这边的一切都只经过几秒钟而已,但对于旅行者以及他身上的物品、魔法和其它效果而言,他度过的那一年是完全真实的。

在指定这些位面的时间流逝方式时,先标出主物质位面的时间流,再在后面标出其它位面的相应时间。

''不定时间(Erratic Time):''某些位面的时间会变慢或者变快,因此,个体在穿越这样的位面时可能“丢失”也可能“获得”时间。以下是一个例子:

|!	d%	|!	主物质位面时间	|!	不定位面时间	|
|	01-10	|	1天	|	1轮	|
|	11-40	|	1天	|	1小时	|
|	41-60	|	1天	|	1天	|
|	61-90	|	1小时	|	1天	|
|	91-100	|	1轮	|	1天	|


对这些位面的居民而言,时间是正常流逝的,其变化不会被注意到。

如果一个无时间位面可以施展魔法,所有非立即生效的魔法都会永久持续,直到被驱散为止。

 

!!!!形状和大小(Shape and Size):

各位面的形状和大小相差很大,大部分位面是无限的,或者至少大到可以认为是无限的。

''无限(Infinite):''这些位面没有边界,虽然它们可能包含着有限的成分。它们也可能只包括两个无限伸展的方向,就像一张无限延伸的地图一样。

''有限形状(Finite Shape):''这种位面有确定的边缘或者界限,这些边界可能与其它位面相邻,或者就是某种实体,比方说世界边缘或是一堵巨大的墙。半位面通常是有限的。

''自包含位面(Self-Contained Shape):''这种位面的边界是自我连接的,旅行者可以从世界的一头直接穿插到另一头,球形位面就是自包含有限位面的一个例子。但它也可以是方形、环形,或者拥有魔法边界,能把穿越者传送到另外一头的平坦位面也都是一样。

某些半位面是自包含的。

 

!!!!变化特性(Morphic Traits):

该特性表示改变一个位面基本自然特征的难易程度,某些位面会响应个体的思想,而其它可能只有极其强大的生物才能使之改变,还有些位面会对物理或魔法的效果产生反应。

''可变形态(Alterable Morphic):''在这种位面中,物体在没有受到物理或魔法影响的情况下,会保持原先的状态,你可以切实的改变周围环境。

''高度可变(Highly Morphic):''这种位面的特性变化极其频繁,很难让一个地方保持稳定,这样的位面可能对特定的法术,思想或者意志力产生戏剧性的响应,而其它一些变化则完全没有原因。

''魔法变化(Magically Morphic):''特定的法术可以改变这种位面的基本材质。

''神力变化(Divinely Morphic):''某些独一无二的存在(神祗或与之相似的强大力量)拥有改变这些位面的物体、生物、和地貌的能力。一般来说角色会发现这些位面和可变形态相似,受到物理或魔法的影响,但神祗们可以让这些地方立即发生巨大变化,为他们自己创造出伟大的王国。

''固定形态(Static):''这些位面不会发生变化,外来者无法影响到这里的居民和他们持有的物体,任何影响上述物体的法术都会失效,除非该位面的固定形态特性消失,或者受到压制。但在进入该位面前施展的法术依然生效。

在固定形态位面,甚至移动一个无人注意的物体都需要通过一个DC16的强壮检定,一些较重的物体可能根本无法移动。

''境由心生(Sentient):''这些位面本身会对一个单纯的思想产生感应,旅行者会发现这个位面的形态随着自己对它的看法而改变,这样的反应可能使环境变得更加友好,或者反之。

 

!!! 元素与能量特性(Elemental and Energy Traits)
四大基本元素和两种能量生成万物,它们是土、水、火、风,正能量和负能量。

主物质位面是基本平衡的,各种元素和能量都有存在。每个内层位面由一种元素或能量主导,其它位面可能具有多种多样的元素特性。很多位面是没有元素或能量特性的,只有在拥有相关特性的情况下,位面描述中才会特别提到这一点。

''气元素主导(Air-Dominant):''绝大部分是开放的空间,这种位面上只有很少量漂浮的石块或者其他元素。它们通常拥有可呼吸的大气层,虽然也可能有酸云或者毒气。土系生物在此会感到不适,因为这里很少有自然的大地给它们联系,不过它们并不会受到实际伤害。

''土元素主导(Earth-Dominant):''这类位面大部分是固体,旅行者如果不能找到一个洞窟或者空穴,就会有窒息的危险。更糟的是,没有钻地能力的生物会被困在土中,必须自己挖洞出去(每回合5尺),气系生物在此会感到不适,因为这些位面非常紧密,让它们有被禁锢的恐惧感,但除了移动上的困难以外,它们并没有别的不便之处。

''火元素主导(Fire-Dominant):''这种位面由不需要燃料的持续火焰组成,火元素主导位面对于主位面生物是极其危险的,对火没有抗性或者免疫力的话,将会被很快烧死。

无保护的木头、纸、布或者其他可燃物质会立即开始燃烧,那些穿着可燃衣服的人也会被烧到。此外,生物每轮会受到3d10的火焰伤害,水系生物在火元素主导位面上会感到极其不适,这些由水构成的生物每轮会受到双倍伤害。

''水元素主导(Water-Dominant):''这种位面大部分是液体,来访者如果不能在水中呼吸,又没有及时找到有空气的地方的话,多半会被淹死。火系生物在这里会感到极其不适,这些由火构成的生物每轮受到1d10伤害。

''正能量主导(Positive-Dominant):''这种位面有着丰富的生命特征,正能量主导分为弱正能量主导和强正能量主导两类,弱正能量主导对生命来说,是一个狂欢的地方,由于充斥空间的正能量的缘故,一切生命的表现都更加强烈。光线更加明亮,火焰更加炽热,噪声更加嘈杂,连情感也更加剧烈。所有生物在这里都会获得快速医疗2点的特异能力。

强正能量主导走得更远,由于四周的强烈光芒,生物在强正能量主导的地方必须通过DC15的强韧豁免,否则目盲10轮。普通生物在这里会获得快速医疗5点的特异能力。如果生命值已满,它每轮获得5点超出最大值的临时生命值,这些生命在离开强正能量主导位面后1d20轮之内消失,但是,拥有超出最大生命值的生物每轮必须通过DC20的强韧豁免,失败的话体内的能量将会爆炸,该生物将被杀死。

''负能量主导(Negative-Dominant):''这种位面广大而空虚,它会吸取穿越者的生命力,它们显得偏僻,色彩黯淡,鬼魂在其中出没,风中充满死者微弱的呻吟。与正能量主导位面一样,负能量主导位面分为强弱两类,在弱负能量主导位面中,生物每轮受到1d6点伤害,一旦生命值下降到0,它们就化为尘埃。

强负能量主导位面的环境更加严酷,生物每轮必须通过dc25的强韧豁免,否则将失去一个等级,当失去等级数等于其原有等级或生命骰时,生物会死去,变成缚灵(wraith)。防死结界(death ward)法术可以防止负能量位面的伤害和能量吸取效果。

 

!!! 阵营特性(Alignment Traits)
某些位面有着特定的阵营倾向,该位面的大部分住民有着与位面相应的阵营,甚至强力的生物如神祗也是一样。对立阵营的生物在这些位面与其原住民或环境交互时将会比较麻烦。

阵营特性影响到社会关系,与大多数人阵营不同的角色生活会更加困难。

阵营特性包括两个成分:首先是道德(善恶)与伦理(守序或混乱),一个位面可能拥有道德倾向,或伦理倾向,或者两者兼有。其次,道德或伦理倾向可能是轻微的,也可能是强烈的。

''善良/邪恶阵营(Good-Aligned/Evil-Aligned):''这些位面在善恶之战中选择了其中一方,任何位面都不可能同时拥有善良和邪恶倾向。

''秩序/混乱阵营(Law-Aligned/Chaos-Aligned):''对这些位面及其居民来说,秩序与混乱的对立才是主要问题,任何位面都不可能同时拥有秩序和混乱倾向。

 

每种道德/伦理倾向都有一个描述符,“轻微”(mildly)或者“强烈”(strongly),以表示其影响在该位面的强烈程度。

''轻微倾向(Mildly Aligned):''在轻微倾向的位面上,对立阵营的生物在所有基于魅力的检定中遭受-2减值。

''强烈倾向(Strongly Aligned):''在强烈倾向的位面上,所有不同阵营的生物在基于魅力的检定中遭受-2减值,基于智力与感知的检定也是一样。

道德与伦理两方面倾向的不利影响可以叠加。

 

''中立阵营(Neutral-Aligned):''轻微中立阵营的位面对任何人都没有不利影响。主物质位面被认为是轻微中立阵营的,但在某些地方,善良或邪恶,秩序或混乱可能会高度集中。

强烈中立阵营的位面站在其他所有道德与伦理阵营的对立面:善良、邪恶、秩序或者混乱。与适应和接受其它观点相比较,这些位面更重视的是阵营间的平衡。和其它强烈阵营倾向的位面一样,强烈中立阵营的位面对非中立阵营生物的智力、感知和魅力检定有-2减值,这种阵营检定共有两次(一次是秩序/混乱,另一次是善良/邪恶),所以中立善良,中立邪恶、守序中立和混乱中立的相关检定遭受-2减值,而守序善良,混乱善良、守序邪恶和混乱邪恶的相关检定遭受-4。

 
!! 魔法特性(Magic Traits)
位面的魔法特性描述了魔法在该位面上效果与主物质位面的差别,一个位面上的某些特定地点(例如那些在神祗直接控制下的地区)魔法特性可能和其它地区不同。

''普通魔法(Normal Magic):''这一特性意味着所有法术和超自然能力正常生效,除非特别说明,所有位面都拥有正常魔法特性。

''野魔法(Wild Magic):''在野魔法特性的位面上,法术和超自然能力的效果会完全变化,有时会很危险。在这些位面上使用任何法术和类法术能力都有可能出错,施法者必须通过等级检定(DC15+法术的有效等级)才能让魔法正常运作,对于类法术能力,使用生物的HD或等级进行施法者等级检定,使用类法术能力的等级决定检定DC。检定失败意味着有奇怪的事情发生,投百面骰,查下表决定结果:

|!	d%	|!	Effect	|
|	01-19	|	法术反作用于施法者身上,如果该法术无法影响施法者,它会直接失败。.	|
|	20-23	|	施法者脚底下出现一个15尺直径,深10尺/施法者等级的大坑	|
|	24-27	|	法术失败,但雨点般的小东西(从鲜花到烂水果)会朝施法对象抛掷过去,击中后就消失,持续1轮。这段时间内对象处于盲目状态,必须通过DC15+法术等级的集中检定才能正常施法。	|
|	28-31	|	该法术影响随机的对象或地区,在法术射程范围内随机选择对象或地点作为目标。投1d8,从南开始反时钟计算方向。投3d6,得到的结果对近程法术乘5尺,中程乘20尺,远程乘80尺以决定距离。	|
|	32-35	|	法术正常生效,但原料不消耗,法术不从记忆中清除(法术位或预先准备的法术可以再次使用),物品充能不损耗,也不记入物品或类法术能力的使用次数	|
|	36-39	|	法术无效,施法者周围30尺内所有人(无论友敌)受到医疗术(heal)法术的效果。	|
|	40-43	|	法术无效,施法者周围30尺内出现深幽黑暗术(deeper darkness)和沉默术(silence)效果,持续2d4轮。	|
|	44-47	|	法术无效,施法者周围30尺内出现反重力(reverse gravity)效果,持续1轮。 	|
|	48-51	|	法术生效,但施法者周围出现彩色光芒1d4轮,视作豁免dc10+法术等级的光尘术(glitterdust)效果。	|
|	52-59	|	什么也不发生,法术无效,但原料消耗,法术或法术位消耗,物品充能和使用次数也被消耗。	|
|	60-71	|	什么也不发生,法术无效,但原料不消耗,法术不从记忆中清除(法术位或预先准备的法术可以再次使用),物品充能不损耗,也不记入物品或类法术能力的使用次数。	|
|	72-98	|	法术正常生效	|
|	99-100	|	法术效果强烈。对抗该法术的豁免遭受-2不利。法术被极效化(如同使用法术极效专长),已被极效化的法术不受影响。	|
 

''阻碍魔法(Impeded Magic):''这种位面上某些法术或类法术能力会变得难以施展,这经常是位面自然环境妨碍的结果。要使用被妨碍的法术,施法者必须通过DC20+法术等级的辨识法术检定,如果检定失败,法术不会生效,但仍会消耗掉准备好的法术或法术位,若检定成功,该法术正常生效。

''强化魔法(Enhanced Magic):''这种位面上某些法术或类法术能力会比主物质位面更容易施展,或者效果更加强大。

这种位面上的原住民知道哪些法术或类法术能力会被强化,但其它位面来的旅行者则可能需要自己发现这一点。

如果一种法术被强化,它施展时被添加特定的超魔效果,但不改变原有法术位。施法者施展被强化的魔法时被认为已学会相应的超魔专长,但这里的原住民施法者如果想在其它位面使用这些超魔专长的话,它必须通过正常途径学会这些专长才行。

''限制魔法(Limited Magic):''这些位面上只能施展指定的法术或类法术能力。

可以限制生效的范围包括特定的学派或子学派,特定的描述符,或特定等级(或者这数者的组合),不满足这些限制的魔法将不会生效。

''死魔法(Dead Magic):''这些位面完全没有魔法存在,死魔法位面在各方面的表现都等价于一个反魔法场 (antimagic field)的效果。预言系法术无法探测到死魔法位面的目标,施法者也不能使用传送(teleport)或其它魔法出入该位面。这个“无魔法”规则的唯一例外是那些永久性的位面传送门,它们可以正常运作。

 

!!! 位面间的互动

''分离的位面:''两个位面完全分离,既不互相交迭,也没有直接连结,就像在不同轨道上的行星一样。唯一互相到达的方法是通过其它位面。

''相连的位面:''在某些位置相互接触的两个位面是相连的。在接触处存在着连结,旅行者在此可以离开一个世界进入另外一个。

''并存的位面:''如果两个位面在任何地方都可以建立连结,这两个位面就是并存的。这些位面互相之间完全交迭。在位面的任意一处都可以与其共存位面建立连接。在其中一个位面穿行时,看到其共存位面的情景并与之互动经常是可能的。

 

!!! 分层位面

“无限”可以被分解为许多更小的“无限”,位面同样也可以分为多个较小的相关位面。这些层实际上是互相分离的存在之位面,每层都可以有自己的位面特性,各层之间通过大量位面传送门、自然漩涡、通路和变化的边界来互相连接。

其它地方访问某个分层位面的情况通常在一个特定的层发生:该位面的第一层。它有可能是最顶层,也可能是最下层,根据不同位面而有不同。大部分固定的交界点(比方说传送门和自然漩涡)都会指向这一层,因此它就成了通向其它层的通道。位面变换(plane shift)法术也同样会把施法者带到该位面的第一层上来。

 

 
!! 位面描述

 

!!! 主物质位面(THE MATERIAL PLANE)

主物质位面是大多数宇宙的中心,它提供所谓“正常”的定义。

主物质位面有如下特性:

*普通重力

*普通时间

*可变形态

*无元素或能量特性(但特定的地区可能有这些特性)

*轻微中立阵营

*正常魔法

 

!!! 以太位面(THE ETHEREAL PLANE)

以太位面与主物质位面(经常还有其他位面)共存。从以太位面可以看到主物质位面,但它的影像看起来微弱而不清晰,颜色互相混杂,而物体的边界也会模糊失真。

虽然从以太位面可以看到主物质位面的情形,但对于主物质位面而言,以太位面通常是不可见的。一般来说,以太位面的生物无法攻击主物质位面的生物,反之亦然。对于主物质位面者而言,以太位面的旅行者是不可见的,无实体的,绝对静默的。

以太位面几乎不存在建筑或障碍物,不过仍然有着属于它自己的居民,其中包括那些以太旅行者(ethereal travelers),不过对于那些在雾中穿行的人们而言,此处游荡的幽魂乃是一大威胁。

以太位面有着如下特性:

*无重力

*可变形态,虽然这个位面可供变化的对象并不多。

*轻微中立阵营

*正常魔法:法术在以太位面正常生效,但它们不能和主物质位面相互影响。唯一的例外是拥有力场(force)描述符的法术与类法术能力,以及能够影响灵化生物的防护系法术。主物质位面的施法者必须拥有某种手段能够探测到以太位面的敌人,然后才能对他们施展法术。但是,虽然可以从主物质位面使用力场法术攻击灵化的敌人,反过来却是不可能的,任何魔法攻击都不可能穿越以太位面攻击主物质位面,包括力场攻击在内。

 

!!! 阴影位面(PLANE OF SHADOW)

阴影位面是一个散发着幽暗光芒的地方,它与主物质位面相互连结并且共存。它与主物质位面交迭的程度更甚于以太位面。因此,一个位面行者可以借助阴影位面来快速穿越遥远的距离。

阴影位面与其它位面也有连结,通过正确的法术,角色可以利用阴影位面访问其它世界。

阴影位面中只有黑白两色,环境中的所有颜色都被灰化,除此之外,它看起来和主物质位面差不多。

尽管缺乏光源,阴影位面仍然居住着大量的动植物和类人生物。

阴影位面属于魔法变化形态,其中各个部分都在不断的流向其它位面。这样的结果就是绘制该位面的准确地图变得几乎不可能,虽然那些特殊的地域标志还是存在的。

阴影位面拥有如下特性

*魔法魔法变化:特定的魔法可以改变该位面的基本材质。这些法术在阴影位面的效能和力量,使得它们对于冒险者和原住民都非常实用。

*轻微中立阵营

*强化魔法:带有阴影(shadow)描述符的法术在阴影位面被增强了,这些法术使用时被极效化,相当于使用法术极效(Maximize Spell)超魔专长,但不占据高级法术位。

除此之外,某些法术在阴影位面变得更加强大,阴影咒法术(shadow conjuration)和阴影塑能术(shadow evocation)产生它们所模拟的法术的30%效果(比原先的20%更为强大),高等阴影咒法术(greater shadow conjuration)和高等阴影塑能术(greater shadow evocation)产生70%效果(而非60%),幽影术(shades)产生90%效果(而非80%)。

*阻碍魔法:使用或产生光或火的法术在阴影位面可能失败,使用带光(light)或火(fire)描述符法术的施法者必须通过辨识法术检定(DC20+法术等级),所有产生光的法术效果都会变弱,因为在阴影位面上,所有光源的有效范围全都减半。虽然本位面天生就是黑暗的,但那些产生、使用或操纵黑暗的法术并不会受到影响。

 

!!! 星界位面(THE ASTRAL PLANE)

星界位面是处在各位面之间的空间,当某人穿越一扇位面传送门或把自己投影到其他位面时,她都要经过星界。甚至那些可以直接穿行到某个位面的法术也要暂时接触星界。

星界位面是一个巨大、无边无际的球体,上下四方都是清澈的银色天空。这里偶然会发现少量固体物质,但星界的绝大部分乃是一个没有边际的开放空间。

位面旅行者和其它位面的流亡者都把星界当作自己的家园。

星界位面有着以下特性

*主观方向重力。

*无时间:年龄、饥饿、干渴、毒以及自然回复在星界都不起效果,但在离开星界以后,它们会继续生效。

*轻微中立阵营

*强化魔法:所有法术和类法术能力在星界使用时都被自动瞬发化,就像使用了法术瞬发(Quicken Spell)专长一样,已瞬发的法术和类法术能力不受影响,由魔法物品提供的法术也维持原样不变。这样瞬发化的法术使用原有的法术位。和法术瞬发专长一样,每轮只能使用一个瞬发法术。

 

!!! 气元素位面(ELEMENTAL PLANE OF AIR)

气元素位面是空旷的,到处都是天空。

气元素位面是内层位面中最舒适而易于生存的一个,它是各种飞行生物的家园,事实上,飞行生物在这里拥有巨大的便利,虽然不会飞的旅行者也很容易存活下来,但他们会有诸多不便。

气元素位面有以下特性:

*主观方向重力:位面居民选择自己的下方,不受外力影响的物体保持原状。

*气元素主导

*强化魔法:使用、操作或创造气的法术和类法术能力(包括气领域法术)被强效和增远化(相当于使用法术强效(Empower Spell)和法术增远(Enlarge Spell)专长,但不占据高级法术位)。已被强效或增远化的法术和类法术能力不受影响。

*阻碍魔法:使用或创造土的法术和类法术能力(包括土领域和召唤土元素或其它土系亚种异界生物的魔法)受到阻碍。

 

!!! 土元素位面(ELEMENTAL PLANE OF EARTH)

土元素位面是由巨岩、土壤和石头组成的固体世界,一个不知情、没有准备的旅行者会发现自己被困在无边无际的土石当中压成粉碎,那碎成粉末的尸体对那些愚蠢的后来者乃是一种警告。

尽管有着固态坚实的环境,但土元素位面各处的密度是不同的,从相对柔软的泥土到沉重的矿脉,还有更有价值的金属。

土元素位面有以下特性:

*土元素主导

*强化魔法:使用、操作或创造泥土与石头的法术和类法术能力(包括土领域法术)被强效和延时(相当于使用法术强化(Empower Spell)和法术延时(Extend Spell)专长,但不占据高级法术位)。已被延时或强效的法术和类法术能力不受影响。

*阻碍魔法:使用或创造气体的法术和类法术能力(包括气领域法术和召唤气元素或其它气系亚种异界生物的魔法)受到阻碍。

 

!!! 火元素位面(ELEMENTAL PLANE OF FIRE)

火元素位面的一切都在燃烧。所谓地面只是强烈的永远变动不止的扁平火焰,空气在持续火焰风暴的高热中激荡,最常见的液体是岩浆而不是水,海洋由液态火焰构成,山脉流淌着融化的岩浆,这里的火焰并不需要燃料或空气,但带到这里来的易燃物依然会被很容易的烧掉。

火元素位面有以下特性:

*火元素主导

*强化魔法:带有火系描述符的法术和类法术能力被极效和增远化(相当于使用法术极效(Maximize Spell)和法术增远(Enlarge Spell)专长,但不占据高级法术位)。已被极效或增远化的法术和类法术能力不受影响。

*阻碍魔法:使用或创造水的法术和类法术能力(包括水领域法术和召唤水元素或其它水系亚种异界生物)受到阻碍。

 

!!! 水元素位面(ELEMENTAL PLANE OF WATER)

水元素位面是一个没有海底也没有海面的海洋,是一个充满微光的纯液体环境。只要旅行者能解决呼吸问题,它就是最温和的内层位面之一。

这个位面上的永恒海洋有很多类型,从冰凉到滚烫、从咸水到淡水都有。它们处于永恒的运动中,被洋流和潮汐所推动。位面上的永久居住区建立在这无尽之水中的一些漂浮物周围,而且这些居住区也随着位面中的潮水而漂流。

水元素位面有以下特性:

*主观方向重力:类似气元素位面,但上升或下沉的速度比气元素位面要慢(也更加安全)。

*水元素主导

*强化魔法:使用或创造水的法术和类法术能力都被延时和增远化(相当于使用法术延时(Extend Spell)和法术增远(Enlarge Spell)超魔专长,但不占据高级法术位)。已被延时或增远化的法术和类法术能力不受影响。

*阻碍魔法:带有火系描述符(包括火领域法术)的法术和类法术能力受到阻碍。

 

!!! 负能量位面(NEGATIVE ENERGY PLANE)

对旁观者而言,负能量位面没什么可看的,这是个黑暗空旷的地方,一个永恒的深渊,旅行者可能跌落其中,直到这个位面偷取了所有的光和生命为止。负能量位面是所有内层位面中最危险的,也是最蔑视和不容生命存在的位面,只有那些免疫它吸取生命能量的生物可以在那里生存。

负能量位面有以下特性:

*主观方向重力。

*强负能量主导,但位面中的部分地区拥有弱负能量主导特性,这些地方可以让生物居住。

*强化魔法:使用负能量的法术和类法术能力都被极效化(相当于使用法术极效(Maximize Spell)专长,但不占据高级法术位)。已经极效化的法术和类法术能力不受影响。使用负能量的职业能力,如斥喝与控制不死生物,在掷骰决定影响到的HD时获得+10加值。

*阻碍魔法:使用正能量的法术和类法术能力,包括治疗魔法,受到阻碍。在该位面中,为移除能量吸取攻击造成的负向等级所需进行的坚韧豁免检定遭受-10减值。

随机遭遇战:由于负能量位面事实上几乎没有生物存在,随机遭遇战在该位面上极少发生。

  

!!! 正能量位面(POSITIVE ENERGY PLANE)

正能量位面没有表面,它是一个十分开放的环境,包裹在气元素位面之外。这个位面的每一部分都因其内在的能量而发出光芒,这种能量对于普通生物形态是危险的,他们的身体并不能适应它。尽管有着种种好处,这个位面依旧是最危险的内层位面之一。一个无防护的角色在这里会遭受正能量反馈,其凡人形态无法承受这样的能量,会像超新星爆炸中的小行星一样燃烧殆尽。对正能量位面的访问都是短暂的,即使这样,旅行者也需要大量的防护才行。

正能量位面有以下特性:

*主观方向重力。

*强正能量主导,位面中的部分地区是弱正能量主导的,这些地方可以让生物居住。

*强化魔法:使用正能量的法术和类法术能力包括治疗法术都被极效化(相当于使用法术极效(Maximize Spell)专长,但不占据高级法术位)。已经极效化的法术和类法术能力不受影响。使用正能量的职业能力,如驱散与摧毁不死生物,在掷骰决定影响到的HD时获得+10奖励。

*阻碍魔法:使用负能量的法术和类法术能力(包括造成伤害魔法)受到阻碍。

•随机遭遇战:由于正能量位面事实上几乎没有生物存在,随机遭遇战在该位面上极少发生。

!! 武器(WEAPONS)

!!! 武器类型

按照不同的规则,武器被划分成几个类型,这些规则包括了熟练使用武器时必须掌握的技巧(简单武器,军用武器,异种武器);在近战中使用的(近战武器)或者是远距离使用(远程,包括了投掷武器和弹射武器); 武器的持用方式(轻武器,单手武器,双手武器),以及武器的尺寸(小型,中型,大型)。

''简单,军用,异种武器(Simple, Martial, and Exotic Weapons):''除了德鲁依,武僧,盗贼和法师之外的所有职业都擅长使用所有的简单武器。野蛮人,战士,圣骑士和巡林客可以擅长使用所有的简单武器和军用武器。而其他职业的人物能掌握主要的简单武器,可能还会包括一些军用武器,甚至异种武器。如果你使用不擅长的武器,攻击检定将会有-4的减值。

''近战武器和远程武器(Melee and Ranged Weapons):''近战武器主要是用来进行近身攻击,不过有些武器也可以投掷。远程武器包括投掷和弹射武器,它们在近战中没什么威力。

//长型武器(Reach Weapons)://大砍刀(Glaive),长勾刀(Guisarme),长枪(Lance),长矛(Longspear),刺叉(Ranseur),刺链(Chain, spiked)和鞭子(Whip)属于长型武器,长型武器的使用者可以攻击并不在临近区域内的目标。大多数长型武器可以让使用者的威胁范围加倍,这意味着典型的小型或者中型生物在使用长型武器时可以攻击到10英尺远的目标,但不能用它来攻击临近区域内的目标。一个典型的大型生物在使用长型武器时可以攻击到15到20英尺远的目标,但不能它来攻击距离在10英尺内的目标。

//双头武器(Double Weapons)://双头链枷(Dire flail),矮人矛斧(Dwarven urgroshe),侏儒钩式战锤(Gnome hooked hammer),兽人双头斧(Orc double axe),木棍(Quarterstaff)和双头剑(Two-bladed sword)属于双头武器,使用者可以使用双头武器的两端同时战斗,就像使用双武器战斗一样,但同时也会受到使用双武器战斗的减值,视为一把单手武器和一把轻武器。

使用者也可以双手使用双头武器,只用一头来攻击对手,此时视为使用双手武器。一个生物在单手持用双头武器时,不能将其作为双武器使用,每回合只能使用武器的一头攻击。

//投掷武器(Thrown Weapons)://匕首(Dagger),木棒(Club),短矛(Shortspear),矛(Spear),飞镖(Dart),标枪(Javelins),飞斧(Throwing axe),轻型战锤(Light hammers),三叉矛(Trident),手里剑(Shuriken)和捕网(Net)属于投掷武器,使用者可以将他的力量修正值应用在伤害检定上(除了泼溅武器(Splash Weapons))。你可以投掷并没有设计成投掷武器的普通武器(既在表:武器中并没有标明射程的近战武器),但这样做会使人物的攻击检定受到-4减值。投掷一件轻武器或单手武器是一个标准动作,而投掷一件双手武器是一个整轮动作。不论武器类型如何,这样的攻击只有在掷出20点时才被认为是重击威胁,并且在重击时造成双倍的伤害。这样的武器具有10尺的射程。

//弹射武器(Projectile Weapons)://轻弩(Light crossbow),投石索(Sling),重弩(Heavy crossbow),短弓(Shortbow),复合短弓(Composite shortbow),长弓(Longbow),复合长弓(Composite longbow),手弩(Hand crossbows),和连发弩(Repeating crossbow)属于弹射武器。大多数弹射武器需要双手使用(见特别的武器说明)。使用者的力量修正加值不能用于弹射武器的伤害检定,除非武器是特制的复合短弓,特制的复合长弓,或者是投石索。但如果使用者受到力量修正的减值,在使用弓或者投石索时需将其应用于武器的伤害检定。

//弹药(Ammunition)://弹射武器需要使用弹药:箭(Arrow,用于弓),弩矢(Bolt,用于弩),投石索弹丸(Sling bullet,用于投石索)。当使用弓时,取出弹药是一个自由动作;弩和投石索需要一个动作来装弹。一般来说,弹药射中目标后会损坏或无法使用,而未命中的弹药中有50%会损坏或丢失。

手里剑(Shuriken)虽然属于投掷武器,但它在以下情况时被视为弹药:在拿取它时;制作精制品或其它特殊版本时(见精制武器部分);判断当被投掷之后的情况时。

''轻武器,单手武器,双手武器(Light, One-Handed, and Two-Handed Melee Weapons):''这种分类是由武器在战斗时的费力方式决定的。它决定了当武器被体型相符的人持用时,武器是轻武器,单手武器,还是双手武器。

//轻武器(Light)://相对单手武器来说,轻武器可以更容易的由非惯用手使用,并且可以在擒抱时使用。一件轻武器只需一只手使用。由惯用手使用时,添加使用者的力量修正加值(如果有的话)到伤害检定;由非惯用手使用时,只能添加力量修正加值的一半;在双手持用时,伤害上不会有其他好处,使用使用者的力量修正加到伤害检定上,如同仅由惯用手使用轻武器时一样。

徒手击打总是被视为轻武器。

//单手武器(One-Handed)://单手武器可以由惯用手使用,也可以由非惯用手使用,由惯用手使用一件单手武器时,添加使用者的力量修正加值到近战的伤害检定;非惯用手使用时,只能添加力量修正加值的一半。如果使用者在近战中双手持用单手武器时,那么添加1.5倍的力量修正加值到武器的伤害检定。

//双手武器(Two-Handed)://双手近战武器需要双手持用才能有效使用。当你使用这类武器时,添加1.5倍的力量修正加值到武器的伤害检定。

''武器尺寸(Weapon Size):''每件武器都有一种尺寸级别,这种分类指出了武器原本是为了哪种体型的生物设计的。

武器的尺寸级别与它作为物品时的尺寸不同,武器的尺寸级别指明了预期使用者的体型。通常来说,在作为物品时,一件轻武器的尺寸级别比使用者的尺寸级别小两级,单手武器的尺寸级别比使用者小一级,而双手武器的尺寸级别与使用者的尺寸级别相同。

//不适当的武器尺寸(Inappropriately Sized Weapons)://一个生物无法自如的使用和它体型不合的武器,每当预期使用者和实际使用者的体型相差一级,使用者在攻击检定上就要受到-2的减值。如果此生物不擅长这种武器,攻击检定同时还会受到-4的不擅长减值。

为了衡量使用武器的费力程度(无论在设计时针对特定的使用者来说它是轻武器,单手武器,还是双手武器),每当实际使用者和预期使用者的体型相差一级,使用者对于武器的持用方式就随之改变一级。如果武器按这种方法进行改变后并不属于轻武器,单手武器,或双手武器,那这个生物就完全无法使用它。

''临时武器(Improvised Weapons):''有时,某些不是武器的东西能被当作武器使用,由于它们并没有被设计成武器,任何人在使用它们攻击时总是视作不擅长它,因此攻击检定会有-4的减值。为了确定它们的尺寸级别和所能造成的伤害,将其与武器列表中的武器比较,选出一种最为接近的武器。临时准备的武器在掷出20点时被认为是重击威胁,并且在重击时造成双倍的伤害。临时准备的投掷武器具有10尺的射程。

!!! 武器性质

这里是对表:武器中格式的说明。

''价格:''武器的价格用金币和银币表示。该价格包括了和武器相关的一些杂项装备。

列表中的价格是小型和中型版本武器的价格,大型武器的价格是该值的两倍。

''伤害:''伤害栏内给出了一件武器在击中目标时所能造成的伤害数值。标有“伤害(S)”的栏目是小型武器的伤害值,而标有“伤害(M)”的栏目是中型武器的伤害值。如果一件武器给出了2个伤害的范围数值,那这种武器就属于双头武器,标出的第二个伤害用于额外攻击的伤害检定。表:超小型和大型武器的伤害给出了武器在不同大小下的伤害值。

''表:超小型武器和大型武器的伤害''

|!	中型武器伤害	|!	超小型武器伤害	|!	大型武器伤害	|
|^	1d2	|^	—	|^	1d3	|
|^	1d3	|^	1	|^	1d4	|
|^	1d4	|^	1d2	|^	1d6	|
|^	1d6	|^	1d3	|^	1d8	|
|^	1d8	|^	1d4	|^	2d6	|
|^	1d10	|^	1d6	|^	2d8	|
|^	1d12	|^	1d8	|^	3d6	|
|^	2d4	|^	1d4	|^	2d6	|
|^	2d6	|^	1d8	|^	3d6	|
|^	2d8	|^	1d10	|^	3d8	|
|^	2d10	|^	2d6	|^	4d8	|

''重击(Critical):''在该栏中将说明如何应用武器的重击规则。如果你在攻击检定中获得重击,根据武器的重击倍数掷伤害骰2至4次(每次加上所有可用的伤害修正),最后将所有结果相加。

//例外://武器正常伤害之外的额外伤害在重击时不记入重击倍数。
//×2://该武器在重击时造成2倍伤害。
//×3://该武器在重击时造成3倍伤害。
//×3/×4://该武器的一头在重击时造成3倍伤害,另一头是4倍。
//×4://该武器在重击时造成4倍伤害。
//19-20/×2://该武器在掷出19,20时会出现重击威胁(而非仅仅20),在重击时造成2倍伤害。(该武器的重击威胁范围是19-20。) 
//18-20/×2://该武器在掷出18,19,20时会出现重击威胁(而非仅仅20),在重击时造成2倍伤害。(该武器的重击威胁范围是18-20) 
''射程增量(Range Increment):''任何小于该距离的攻击都不会因距离受到减值。但是距离每满一次射程增量时,攻击检定都将会有-2的减值(该减值可累加)。投掷武器的最大射程为5倍射程增量,而弹射武器的最大射程为10倍射程增量。

''重量:''在该栏中给出的是中型武器的重量,小型武器的重量是它的一半,而大型武器的重量是它的两倍。

''伤害类型:''武器按照它们所造成的伤害分类:钝击(bludgeoning),穿刺(piercing),挥砍(slashing)。有些怪物可以减免某些类型的伤害。

有些武器可以同时造成多种类型的伤害。如果一件武器有两种伤害类型,那它造成的伤害不是一半为这种而另一半是那种,而是全部都是两种伤害。因此,一个生物必须对所有的两种类型伤害都免疫才不会受到该武器的伤害。

另外一些武器可以造成两种伤害中的任一种。在伤害类型的区别有重大意义时,使用者可以选择造成那一种伤害。

''特殊:''有些武器有特别的性质,见具体武器的说明。 

!!! 武器描述

''表:武器''

|!简单武器 |!	价格	|!	伤害(S)	|!	伤害(M)	|!	重击	|!	射程增量	|!	重量^^1^^	|!	伤害类型^^2^^	|
|^''徒手'' |^		|^		|^		|^		|^		|^		|^		|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	铁手套(Gauntlet)	|^	2 金币	|^	1d2	|^	1d3	|^	x2	|^	—	|^	1磅	|^	钝击	|
|^	徒手击打(Strike, Unarmed)	|^	—	|^	1d2^^3^^	|^	1d3^^3^^	|^	x2	|^	—	|^	—	|^	钝击	|
|^''轻型近战武器'' |^		|^		|^		|^		|^		|^		|^		|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	匕首(Dagger)	|^	2 金币	|^	1d3	|^	1d4	|^	19–20/x2	|^	10尺	|^	1磅	|^	穿刺或挥砍	|
|^	拳匕(Dagger, punching)	|^	2 金币	|^	1d3	|^	1d4	|^	x3	|^	—	|^	1磅	|^	穿刺	|
|^	带刺铁手套(Gauntlet, spiked)	|^	5 金币	|^	1d3	|^	1d4	|^	x2	|^	—	|^	1磅	|^	穿刺	|
|^	轻型硬头锤	|^	5 金币	|^	1d4	|^	1d6	|^	x2	|^	—	|^	4磅	|^	钝击	|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	(Mace, light)	|^		|^		|^		|^		|^		|^		|^		|
|^	镰刀(Sickle)	|^	6 金币	|^	1d4	|^	1d6	|^	x2	|^	—	|^	2磅	|^	挥砍	|
|^''单手近战武器'' |^		|^		|^		|^		|^		|^		|^		|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	木棒(Club)	|^	—	|^	1d4	|^	1d6	|^	x2	|^	10尺	|^	3磅	|^	钝击	|
|^	重型硬头锤(Mace, heavy)	|^	12 金币	|^	1d6	|^	1d8	|^	x2	|^	—	|^	8磅	|^	钝击	|
|^	钉头锤(Morningstar)	|^	8 金币	|^	1d6	|^	1d8	|^	x2	|^	—	|^	6磅	|^	钝击和穿刺	|
|^	短矛 (Shortspear)	|^	1 金币	|^	1d4	|^	1d6	|^	x2	|^	20尺	|^	3磅	|^	穿刺	|
|^''双手近战武器'' |^		|^		|^		|^		|^		|^		|^		|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	长矛(Longspear^^4^^)	|^	5 金币	|^	1d6	|^	1d8	|^	x3	|^	—	|^	9磅	|^	穿刺	|
|^	木棍(Quarterstaff^^5^^)	|^	—	|^	1d4/1d4	|^	1d6/1d6	|^	x2	|^	—	|^	4磅	|^	钝击	|
|^	矛(Spear)	|^	2 金币	|^	1d6	|^	1d8	|^	x3	|^	20尺	|^	6磅	|^	穿刺	|
|^''远程武器'' |^		|^		|^		|^		|^		|^		|^		|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	重弩(Crossbow, heavy)	|^	50 金币	|^	1d8	|^	1d10	|^	19–20/x2	|^	120尺	|^	8磅	|^	穿刺	|
|^	弩矢(Bolt),10只装	|^	1 金币	|^	—	|^	—	|^	—	|^	—	|^	1磅	|^	—	|
|^	轻弩(Crossbow, light)	|^	35 金币	|^	1d6	|^	1d8	|^	19–20/x2	|^	80尺	|^	4磅	|^	穿刺	|
|^	弩矢(Bolt),10只装	|^	1 金币	|^	—	|^	—	|^	—	|^	—	|^	1磅	|^	—	|
|^	飞镖(Dart)	|^	5 银币	|^	1d3	|^	1d4	|^	x2	|^	20尺	|^	1/2磅	|^	穿刺	|
|^	标枪(Javelin)	|^	1 金币	|^	1d4	|^	1d6	|^	x2	|^	30尺	|^	2磅	|^	穿刺	|
|^	投石索(Sling)	|^	—	|^	1d3	|^	1d4	|^	x2	|^	50尺	|^	0磅	|^	钝击	|
|^	投石索弹丸,10只装(Bullet, Sling) 	|^	1 银币	|^	—	|^	—	|^	—	|^	—	|^	5磅	|^	—	|
|!军用武器 |!	价格	|!	伤害(S)	|!	伤害(M)	|!	重击	|!	射程增量	|!	重量^^1^^	|!	伤害类型^^2^^	|
|^	''轻型近战武器''	|^		|^		|^		|^		|^		|^		|^		|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	飞斧(Axe, throwing)	|^	8 金币	|^	1d4	|^	1d6	|^	x2	|^	10尺	|^	2磅	|^	挥砍伤害	|
|^	轻型战锤(Hammer, light)	|^	1 金币	|^	1d3	|^	1d4	|^	x2	|^	20尺	|^	2磅	|^	钝击伤害	|
|^	手斧(Handaxe)	|^	6 金币	|^	1d4	|^	1d6	|^	x3	|^	—	|^	3磅	|^	挥砍伤害	|
|^	反曲刀(Kukri)	|^	8 金币	|^	1d3	|^	1d4	|^	18–20/x2	|^	—	|^	2磅	|^	挥砍伤害	|
|^	轻型十字镐(Pick, light)	|^	4 金币	|^	1d3	|^	1d4	|^	x4	|^	—	|^	3磅	|^	穿刺伤害	|
|^	闷棍(Sap)	|^	1 金币	|^	1d4^^3^^	|^	1d6^^3^^	|^	x2	|^	—	|^	2磅	|^	钝击伤害	|
|^	轻型盾牌(Shield, light)	|^	特殊	|^	1d2	|^	1d3	|^	x2	|^	—	|^	特殊	|^	钝击伤害	|
|^	带刺盔甲(Spiked armor)	|^	特殊	|^	1d4	|^	1d6	|^	x2	|^	—	|^	特殊	|^	穿刺伤害	|
|^	带刺轻型盾牌	|^	特殊	|^	1d3	|^	1d4	|^	x2	|^	—	|^	特殊	|^	穿刺伤害	|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	(Spiked shield, light)	|^		|^		|^		|^		|^		|^		|^		|
|^	短剑(Sword, short)	|^	10 金币	|^	1d4	|^	1d6	|^	19–20/x2	|^	—	|^	2磅	|^	穿刺伤害	|
|^	''单手近战武器''	|^		|^		|^		|^		|^		|^		|^		|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	战斧(Battleaxe)	|^	10 金币	|^	1d6	|^	1d8	|^	x3	|^	—	|^	6磅	|^	挥砍伤害	|
|^	轻型链枷(Flail)	|^	8 金币	|^	1d6	|^	1d8	|^	x2	|^	—	|^	5磅	|^	钝击伤害	|
|^	长剑(Longsword)	|^	15 金币	|^	1d6	|^	1d8	|^	19–20/x2	|^	—	|^	4磅	|^	挥砍伤害	|
|^	重型十字镐	|^	8 金币	|^	1d4	|^	1d6	|^	x4	|^	—	|^	6磅	|^	穿刺伤害	|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	(Pick, heavy)	|^		|^		|^		|^		|^		|^		|^		|
|^	细剑(Rapier)	|^	20 金币	|^	1d4	|^	1d6	|^	18–20/x2	|^	—	|^	2磅	|^	穿刺伤害	|
|^	弯刀(Scimitar)	|^	15 金币	|^	1d4	|^	1d6	|^	18–20/x2	|^	—	|^	4磅	|^	挥砍伤害	|
|^	重盾牌	|^	特殊	|^	1d3	|^	1d4	|^	x2	|^	—	|^	特殊	|^	钝击伤害	|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	(Shield, heavy)	|^		|^		|^		|^		|^		|^		|^		|
|^	带刺重型盾牌(Spiked shield, heavy)	|^	特殊	|^	1d4	|^	1d6	|^	x2	|^	—	|^	特殊	|^	穿刺伤害	|
|^	三叉矛(Trident)	|^	15 金币	|^	1d6	|^	1d8	|^	x2	|^	10尺	|^	4磅	|^	穿刺伤害	|
|^	战锤(Warhammer)	|^	12 金币	|^	1d6	|^	1d8	|^	x3	|^	—	|^	5磅	|^	钝击伤害	|
|^	''双手近战武器''	|^		|^		|^		|^		|^		|^		|^		|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	弯刃大刀(Falchion)	|^	75 金币	|^	1d6	|^	2d4	|^	18–20/x2	|^	—	|^	8磅	|^	挥砍伤害	|
|^	大砍刀(Glaive^^4^^)	|^	8 金币	|^	1d8	|^	1d10	|^	x3	|^	—	|^	10磅	|^	挥砍伤害	|
|^	巨斧(Greataxe)	|^	20 金币	|^	1d10	|^	1d12	|^	x3	|^	—	|^	12磅	|^	挥砍伤害	|
|^	巨木棒(Greatclub)	|^	5 金币	|^	1d8	|^	1d10	|^	x2	|^	—	|^	8磅	|^	钝击伤害	|
|^	重型链枷(Flail, heavy)	|^	15 金币	|^	1d8	|^	1d10	|^	19–20/x2	|^	—	|^	10磅	|^	钝击伤害	|
|^	巨剑(Greatsword)	|^	50 金币	|^	1d10	|^	2d6	|^	19–20/x2	|^	—	|^	8磅	|^	挥砍伤害	|
|^	长勾刀(Guisarme^^4^^)	|^	9 金币	|^	1d6	|^	2d4	|^	x3	|^	—	|^	12磅	|^	挥砍伤害	|
|^	戟(Halberd)	|^	10 金币	|^	1d8	|^	1d10	|^	x3	|^	—	|^	12磅	|^	穿刺伤害或挥砍伤害	|
|^	长枪(Lance4)	|^	10 金币	|^	1d6	|^	1d8	|^	x3	|^	—	|^	10磅	|^	穿刺伤害	|
|^	刺叉(Ranseur4)	|^	10 金币	|^	1d6	|^	2d4	|^	x3	|^	—	|^	12磅	|^	穿刺伤害	|
|^	巨镰(Scythe)	|^	18 金币	|^	1d6	|^	2d4	|^	x4	|^	—	|^	10磅	|^	穿刺伤害或挥砍伤害	|
|^	''远程武器	''|^		|^		|^		|^		|^		|^		|^		|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	长弓(Longbow)	|^	75 金币	|^	1d6	|^	1d8	|^	x3	|^	100尺	|^	3磅	|^	穿刺伤害	|
|^	箭(Arrow),20支	|^	1 金币	|^	—	|^	—	|^	—	|^	—	|^	3磅	|^	—	|
|^	复合长弓(Longbow, composite)	|^	100 金币	|^	1d6	|^	1d8	|^	x3	|^	110尺	|^	3磅	|^	穿刺伤害	|
|^	箭(Arrow),20支	|^	1 金币	|^	—	|^	—	|^	—	|^	—	|^	3磅	|^	—	|
|^	短弓(Shortbow)	|^	30 金币	|^	1d4	|^	1d6	|^	x3	|^	60尺	|^	2磅	|^	穿刺伤害	|
|^	箭(Arrow),20支	|^	1 金币	|^	—	|^	—	|^	—	|^	—	|^	3磅	|^	—	|
|^	复合短弓(Shortbow, composite)	|^	75 金币	|^	1d4	|^	1d6	|^	x3	|^	70尺	|^	2磅	|^	穿刺伤害	|
|^	箭(Arrow),20支	|^	1 金币	|^	—	|^	—	|^	—	|^	—	|^	3磅	|^	—	|
|!异种武器 |!	价格	|!	伤害(S)	|!	伤害(M)	|!	重击	|!	射程增量	|!	重量^^1^^	|!	伤害类型^^2^^	|
|^	''轻型近战武器''	|^		|^		|^		|^		|^		|^		|^		|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	单镰(Kama)	|^	2 金币	|^	1d4	|^	1d6	|^	x2	|^	—	|^	2磅	|^	挥砍伤害	|
|^	双节棍(Nunchaku)	|^	2 金币	|^	1d4	|^	1d6	|^	x2	|^	—	|^	2磅	|^	钝击伤害	|
|^	十手(Sai)	|^	1 金币	|^	1d3	|^	1d4	|^	x2	|^	10尺	|^	1磅	|^	钝击伤害	|
|^	破魔锥(Siangham)	|^	3 金币	|^	1d4	|^	1d6	|^	x2	|^	—	|^	1磅	|^	穿刺伤害	|
|^	''单手近战武器''	|^		|^		|^		|^		|^		|^		|^		|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	重剑(Sword, bastard)	|^	35 金币	|^	1d8	|^	1d10	|^	19–20/x2	|^	—	|^	6磅	|^	挥砍伤害	|
|^	矮人重斧(Waraxe, dwarven)	|^	30 金币	|^	1d8	|^	1d10	|^	x3	|^	—	|^	8磅	|^	挥砍伤害	|
|^	鞭子(Whip^^4^^)	|^	1 金币	|^	1d23	|^	1d33	|^	x2	|^		|^	2磅	|^	挥砍伤害	|
|^	''双手近战武器''	|^		|^		|^		|^		|^		|^		|^		|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	兽人双头斧(Axe, orc double^^5^^)	|^	60 金币	|^	1d6/1d6	|^	1d8/1d8	|^	x3	|^	—	|^	15磅	|^	挥砍伤害	|
|^	刺链(Chain, spiked^^4^^)	|^	25 金币	|^	1d6	|^	2d4	|^	x2	|^	—	|^	10磅	|^	穿刺伤害	|
|^	双头链枷(Flail, dire^^5^^)	|^	90 金币	|^	1d6/1d6	|^	1d8/1d8	|^	x2	|^	—	|^	10磅	|^	钝击伤害	|
|^	侏儒钩式战锤(Hammer, gnome hooked^^5^^)	|^	20 金币	|^	1d6/1d4	|^	1d8/1d6	|^	x3/x4	|^	—	|^	6磅	|^	钝击伤害和穿刺伤害	|
|^	双头剑(Sword, two-bladed^^5^^)	|^	100 金币	|^	1d6/1d6	|^	1d8/1d8	|^	19–20/x2	|^	—	|^	10磅	|^	挥砍伤害	|
|^	矮人矛斧(Urgrosh, dwarven^^5^^)	|^	50 金币	|^	1d6/1d4	|^	1d8/1d6	|^	x3	|^	—	|^	12磅	|^	挥砍伤害或穿刺伤害	|
|^	''远程武器''	|^		|^		|^		|^		|^		|^		|^		|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	套牛绳(Bolas)	|^	5 金币	|^	1d33	|^	1d43	|^	x2	|^	10尺	|^	2磅	|^	钝击伤害	|
|^	手弩	|^	100 金币	|^	1d3	|^	1d4	|^	19–20/x2	|^	30尺	|^	2磅	|^	穿刺伤害	|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	(Crossbow, hand)	|^		|^		|^		|^		|^		|^		|^		|
|^	矢(Bolt),10支	|^	1 金币	|^	—	|^	—	|^	—	|^	—	|^	1磅	|^	—	|
|^	重型连发弩	|^	400 金币	|^	1d8	|^	1d10	|^	19–20/x2	|^	120尺	|^	12磅	|^	穿刺伤害	|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	(Crossbow,	|^		|^		|^		|^		|^		|^		|^		|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	repeating heavy)	|^		|^		|^		|^		|^		|^		|^		|
|^	矢(Bolt),5支	|^	1 金币	|^	—	|^	—	|^	—	|^	—	|^	1磅	|^		|
|^	轻型连发弩	|^	250 金币	|^	1d6	|^	1d8	|^	19–20/x2	|^	80尺	|^	6磅	|^	穿刺伤害	|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	(Crossbow,	|^		|^		|^		|^		|^		|^		|^		|
|^		|^		|^		|^		|^		|^		|^		|^		|
|^	repeating light)	|^		|^		|^		|^		|^		|^		|^		|
|^	矢(Bolt),5支	|^	1 金币	|^	—	|^	—	|^	—	|^	—	|^	1磅	|^		|
|^	捕网(Net)	|^	20 金币	|^	—	|^	—	|^	—	|^	10尺	|^	6磅	|^		|
|^	手里剑(Shuriken),5发	|^	1 金币	|^	1	|^	1d2	|^	x2	|^	10尺	|^	1/2磅	|^	穿刺伤害	|

|^	1 //武器描述中给出了中型武器的重量,小型武器的重量是它的一半,而大型武器的重量是它的两倍。//	|<|<|<|<|<|<|<|
|^	2 //当给出两种伤害时,如果条目中给出的是“和”,那么武器同时造成两种伤害;如果条目中给出的是“或”,那么武器造成任一种伤害(由玩家在攻击时决定)。//	|<|<|<|<|<|<|<|
|^	3 //该武器造成非致命伤害,而不是正常伤害//	|<|<|<|<|<|<|<|
|^	4 //长型武器//	|<|<|<|<|<|<|<|
|^	5 //双头武器//	|<|<|<|<|<|<|<|


下面的部分列出了在“表:武器”中有特殊说明的武器。在特殊及高级物品部分之后会有泼溅武器的说明。

''箭(Arrows):''一支箭在作为近战武器时属于轻型临时武器(攻击检定有-4的减值),它可以造成与同样大小的匕首相同的伤害(重击×2)。买到的箭放在一个可以容纳20支箭的皮革箭袋里。箭支在命中目标以后将会被认为被毁坏了,没有击中目标则有50%的机会毁坏或丢失。 

''兽人双头斧(Axe, Orc Double):''兽人双头斧属于双头武器,你可以像你双手各都持有武器那样使用它战斗,但你的攻击检定会受到双武器攻击的减值,如同一手持单手武器一手持轻武器一样。

以单手持用兽人双头斧的生物不能将它作为双武器使用,每回合只能使用武器的一头攻击。

''套牛绳(Bolas):''你可以使用套牛绳进行远程的拌摔攻击,在你使用它进行拌摔时不会被反拌摔。

''弩矢(Bolts):''一支弩矢在作为近战武器时属于轻型临时武器,它可以造成与同样大小的匕首(dagger)相同的伤害(重击×2)。买到的弩矢放在一个可以容纳10支弩矢(连射弩是5支)的木制小匣里。矢在命中目标以后将会被认为已经毁坏,没有击中目标则有50%的机会毁坏或丢失。

''投石索弹丸(Bullets, Sling):''买到的弹丸放在一个可以容纳10颗弹丸的皮质小袋里。弹丸在命中目标以后将会被认为已经毁坏,没有击中目标则有50%的机会毁坏或丢失。

''刺链(Chain, Spiked):''刺链属于长型武器,你可以用它来攻击10尺远的敌人。另外和其它的长型武器不同,你也可以使用它来攻击和你相邻的敌人。

你可以使用刺链进行拌摔攻击。如果你在试图拌摔敌人时反被绊摔,你可以扔掉刺链以避免被拌摔。

当使用刺链时,你在尝试卸除敌人武器的行动中将获得+2的攻击检定加值(包括了当你卸除武器失败后避免被敌人卸除武器的检定)。 
使用刺链时,就算它对你来说并不是轻武器,你仍可以使用武器娴熟专长将你的敏捷修正代替力量修正应用于攻击检定。

''手弩(Crossbow, Hand):''你可以直接用手拉开手弩。给它装填的动作属于移动动作,会引发敌人的借机攻击。

你可以单手使用手弩射击而没有任何减值(但不能单手装填)。你也可以两只手各用一把手弩射击,但是会受到和双手使用轻武器战斗时同样的攻击检定减值。

''重弩(Crossbow, Heavy):''你通过上面的一个小的绞盘拉开重弩。给它装填的动作属于整轮动作,会引发敌人的借机攻击。

一般来说,操作重弩要用双手。但是你可以单手使用它射击(但不能单手装填),攻击检定会有-4的减值。你也可以两只手各用一把重弩射击,但是会受到和双手使用单手武器战斗时同样的攻击检定减值。这种减值会和单手使用重弩射击的减值叠加。

''轻弩(Crossbow, Light):''你通过拉动一个杠杆拉开轻弩。给它装填的动作属于移动动作,会引发敌人的借机攻击。

一般来说,操作轻弩要用双手。但是你可以单手使用它射击(但不能单手装填),攻击检定会有-2的减值。你也可以两只手各用一把轻弩射击,但是会受到和双手使用轻武器战斗时同样的攻击检定减值。这种减值会和单手使用轻弩射击的减值叠加。

''连发弩(Crossbow, Repeating):''连发弩可以一次装填5支矢(不管是轻型还是重型)。在武器内装有矢时,你可以通过拉动装填杠杆来装填(一个自由动作)。更换新的含有5支矢的木匣是一个整轮动作,会引发敌人的借机攻击。

你可以单手使用它射击,也可以使用非惯用手射击,但你也会受到和使用同样大小的弩相同的减值。但是要拉动装填杠杆,你必须使用双手射击,而且你必须使用双手来更换新的木匣。

''匕首(Dagger):''在使用手上功夫技能隐藏一把匕首时,你会得到+2的技能检定加值(见手上功夫技能)。

''双头链枷(Flail, Dire):''双头链枷属于双头武器,你可以像你双手各都持有武器那样使用它战斗,但你的攻击检定会受到双武器攻击的减值,如同一手持单手武器一手持轻武器一样。

以单手持用双头链枷的生物不能将它作为双武器使用,每回合只能使用武器的一头攻击。

当使用双头链枷时,你在尝试卸除敌人武器的行动中将获得+2的攻击检定加值(包括了当你卸除武器失败后避免被敌人卸除武器的检定)。
你可以使用双头链枷进行拌摔攻击。如果你在试图拌摔敌人时反被绊摔,你可以扔掉它以避免被拌摔。

''轻型、重型链枷(Flail or Heavy Flail):''当使用链枷时,你在尝试卸除敌人武器的行动中将获得+2的攻击检定加值(包括了当你卸除武器失败后避免被敌人卸除武器的检定)。

你可以使用链枷进行拌摔攻击。如果你在试图拌摔敌人时反被绊摔,你可以扔掉它以避免被拌摔。

''铁手套(Gauntlet):''这种金属手套可以在你使用徒手击打时造成正常的伤害,而不是非致命伤害。在考虑其他方面时,用它进行攻击视作是徒手击打。给出的的价格和重量是单只铁手套的。中型和重型盔甲(除了胸甲)都带有铁手套。 

''带刺铁手套(Gauntlet, Spiked):''你的敌人不能使用卸除武器动作来卸除你佩带的带刺铁手套。给出的的价格和重量是单只带刺铁手套的。使用带刺铁手套的攻击被认为是武装攻击。

''大砍刀(Glaive):''大砍刀属于长型武器,你可以使用它击中10尺外的敌人,但是你不能使用它攻击相邻的敌人。

''长勾刀(Guisarme):''长勾刀属于长型武器,你可以使用它攻击10尺远的敌人,但是你不能使用它攻击相邻的敌人。

你可以使用长勾刀进行拌摔攻击。如果你在试图拌摔敌人时反被绊摔,你可以扔掉它以避免被拌摔。

''戟(Halberd):''如果你用一个准备动作来使用戟对付冲锋,你在击中敌人时可以造成双倍的伤害。
你可以使用戟进行拌摔攻击。如果你在试图拌摔敌人时反被绊摔,你可以扔掉它以避免被拌摔。 

''侏儒钩式战锤(Hammer, Gnome Hooked):''侏儒钩式战锤属于双头武器,你可以像你双手各都持有武器那样使用它战斗,但你的攻击检定会受到双武器攻击的减值,如同一手持单手武器一手持轻武器一样。侏儒钩式战锤的钝头造成钝击型伤害,伤害为1d6(重击×3);钩端造成穿刺型伤害,伤害为1d4(重击×4)。你可以使用它的任何一头作为主武器,另一头作为副武器。以单手持用侏儒钩式战锤的生物不能将它作为双武器使用,每回合只能使用武器的一头攻击。

你可以使用侏儒钩式战锤进行拌摔攻击。如果你在试图拌摔敌人时反被绊摔,你可以扔掉它以避免被拌摔。

侏儒将侏儒钩式战锤视为军用武器。

''标枪(Javelin):''因为标枪并不是为近战设计的,所以在使用它近战时,视作你不擅长使用该武器,并在攻击检定上受到-4减值。

''单镰(Kama):''单镰是特制的武僧武器,它的设计可以让武僧以特殊的方式来使用。

你可以使用单镰进行拌摔攻击。如果你在试图拌摔敌人时反被绊摔,你可以扔掉它以避免被拌摔。 

''长枪(Lance):''在骑乘时使用长枪进行冲锋将会造成双倍的伤害。长枪属于长型武器,你可以使用它攻击10尺远的敌人,但是你不能使用它攻击相邻的敌人。

在骑乘时你可以单手使用长枪。

''长弓(Longbow):''你必须双手使用弓,不管它的大小是什么。在骑乘时长弓太不灵活,因此无法在骑乘时使用。如果你有力量修正的减值,在使用长弓时需将其应用于武器的伤害检定。如果你有力量修正的加值,在使用复合长弓(见后)时可将其应用于武器的伤害检定,但普通长弓则没有修正。

''复合长弓(Longbow, Composite):''你必须双手使用弓,不管它的大小是什么。你可以在骑乘时使用复合长弓。所有的复合长弓都有特定的力量级别(即能够使熟练使用它时需要的最低力量修正)。如果你的力量加值不够复合长弓所需的最低力量修正,你就无法有效率的使用它,你会受到-2的攻击检定减值。一般的复合长弓需要+0或更高的力量修正才能熟练的使用。也可以制造出需要更高力量级别的复合长弓;这项特质可以将你的力量加值增加到到伤害检定上,最多到复合长弓指定的数值。复合长弓每增加一点力量级别,价格就会增加100金币。

在考虑相关武器熟练和类似专长时,复合长弓视作长弓。

''长矛(Longspear):''长矛属于长型武器,你可以使用它攻击10尺远的敌人,但是你不能使用它攻击相邻的敌人。如果你用一个准备动作来使用长矛对付冲锋,你在击中敌人时可以造成双倍的伤害。

''捕网(Net):''捕网可以纠缠住敌人。当你将捕网投掷出去后,你将对目标进行一次远程接触攻击。捕网的最大距离为10尺。如果你命中,目标将被纠缠。一个被纠缠的生物攻击检定受到-2的减值,敏捷修正受到-4的减值。在纠缠中的生物只能以正常速度的一半移动,并且不能冲锋或者奔跑。当你抓住拖绳时,你可以通过一次力量检定对抗来控制拖绳,此时被纠缠的生物只能在绳索允许的范围内以受限制的速度进行移动。如果被纠缠生物试图释放法术,那么它必须通过DC 15的专注检定,否则施法失败。
被纠缠的生物可以通过DC 20的脱逃术检定以尝试从捕网中挣脱(该动作为整轮动作)。捕网拥有5点生命值,它可以通过DC 25的力量检定被破坏(同样也是整轮动作)。
捕网只对和你体型相差在一个级别之内的生物有效。

捕网必须折叠起来以在投掷时获得较好的效果。在战斗中,当你第一次将捕网投掷出去时,你的远程接触攻击检定为正常值。此后,捕网处于散开的状态,你再进行检定时会有-4的减值。对于擅长使用它的人来说需要2轮时间将捕网折叠好,而其他人则需要两倍的时间来完成同样的事情。

''双节棍(Nunchaku):''双节棍是特制的武僧武器,它的设计可以让武僧以特殊的方式来使用。

当使用双节棍时,你在尝试卸除敌人武器的行动中将获得+2的攻击检定加值(包括了当你卸除武器失败后避免被敌人卸除武器的检定)。 
''木棍(Quarterstaff):''木棍属于双头武器,你可以像你双手各都持有武器那样使用它战斗,但你的攻击检定会受到双武器攻击的减值,如同一手持单手武器一手持轻武器一样。以单手持用木棍的生物不能将它作为双武器使用,每回合只能使用武器的一头攻击。

木棍是特制的武僧武器,它的设计可以让武僧以特殊的方式来使用。

''刺叉(Ranseur):''刺叉属于长型武器,你可以使用它攻击10尺远的敌人,但是你不能使用它攻击相邻的敌人。

当使用刺叉时,你在尝试卸除敌人武器的行动中将获得+2的攻击检定加值(包括了当你卸除武器失败后避免被敌人卸除武器的检定)。 
细剑(Rapier):在使用和你的体型相符的细剑时,就算它对你来说并不是轻武器,你仍可以使用武器娴熟专长将你的敏捷修正代替力量修正应用于攻击检定中。在双手持用时,不会获得1.5倍力量加值。

''十手(Sai):''当使用十手时,你在尝试卸除敌人武器的行动中将获得+4的攻击检定加值(包括了当你卸除武器失败后避免被敌人卸除武器的检定)。
十手是特制的武僧武器,它的设计可以让武僧以特殊的方式来使用。

''巨镰(Scythe):''你可以使用巨镰进行拌摔攻击。如果你在试图拌摔敌人时反被绊摔,你可以扔掉它以避免被拌摔。 

''重型盾牌或轻型盾牌(Shield, Heavy or Light):''你可以不使用盾牌防御而用它来猛击对手,见盔甲部分的说明。

''短弓(Shortbow):''你必须双手使用弓,不管它的大小是什么。你可以在骑乘时使用短弓。如果你有力量修正的减值,在使用短弓时需将其应用于武器的伤害检定。如果你有力量修正的加值,在使用复合短弓(见后)时可将其应用于武器的伤害检定,但不包括普通短弓。

''复合短弓(Shortbow, Composite):''你必须双手使用弓,不管它的大小是什么。你可以在骑乘时使用复合短弓。所有的复合短弓都有特定的力量级别(即能够使熟练使用它时需要的最低力量修正)。如果你的力量加值不够复合短弓所需的最低力量修正,你就无法有效率的使用它,你会受到-2的攻击检定减值。一般的复合短弓需要+0或更高的力量修正才能熟练的使用。也可以制造出需要更高力量级别的复合短弓;这项特质可以将你的力量加值增加到到伤害检定上,最多到复合短弓指定的数值。复合短弓每增加一点力量级别,价格就会增加100金币。

在考虑相关武器熟练和类似专长时,复合短弓视作短弓。

''短矛(Shortspear):''短矛很小,可以单手持用。它也可以用来投掷。

''手里剑(Shuriken):''手里剑是特制的武僧武器,它的设计可以让武僧以特殊的方式来使用。手里剑不能用于近战。

虽然手里剑属于投掷武器,但在以下情况时被视为弹药:在拿取它时;制作精制品或其它特殊版本时(见精制武器部分);判断当被投掷之后的情况时。

''破魔锥(Siangham):''破魔锥是特制的武僧武器,它的设计可以让武僧以特殊的方式来使用。

''镰刀(Sickle):''你可以使用镰刀进行拌摔攻击。如果你在试图拌摔敌人时反被绊摔,你可以扔掉它以避免被拌摔。 

''投石索(Sling):''你可以将你的力量加值应用于投石索的伤害检定,就像它是投掷武器一样。你可以单手使用投石索射击(但不能单手装填)。装填投石索需要双手,属于移动动作,会引发敌人的借机攻击。

你可以用投石索投掷普通的石头,但是因为石头并没有弹丸质地紧密,也没有那么圆,所以你只能造成比你使用武器尺寸小一级武器的伤害,同时,攻击检定会受到-1的减值。

''矛(Spear):''矛可以用来投掷。如果你用一个准备动作来使用矛对付冲锋,你在击中敌人时可以造成双倍的伤害。

''带刺盔甲(Spiked Armor):''你可以在盔甲上装配长钉,在擒抱或单独攻击时可以造成伤害。见盔甲部分的说明。

''带刺重型盾牌或带刺轻型盾牌(Spiked Shield, Heavy or Light):''你可以不使用带刺盾牌防御而用它来猛击对手,见盔甲部分的说明。

''徒手击打(Strike, Unarmed):''中型生物在进行徒手击打时,可以造成1d3点非致命伤害。小型生物徒手击打造成1d2点非致命伤害。武僧或任何拥有精通徒手击打专长的生物在徒手击打时可以根据自己的选择造成正常伤害或者非致命伤害。在考虑武器伤害加值时,徒手击打的伤害视作武器的伤害。
徒手击打总被认为是轻武器。因此可以使用武器娴熟专长将你的敏捷修正代替力量修正应用于攻击检定。

''重剑(Sword, Bastard):''重剑因为太大,所以在经特殊训练后才能单手持用,因此它属于异种武器。使用者可以双手持用它,此时视其为军用武器。
''双头剑(Sword, Two-Bladed):''双头剑属于双头武器,你可以像你双手各都持有武器那样使用它战斗,但你的攻击检定会受到双武器攻击的减值,如同一手持单手武器一手持轻武器一样。以单手持用双头剑的生物不能将它作为双武器使用,每回合只能使用武器的一头攻击。

''三叉矛(Trident):''三叉矛可以用来投掷。如果你用一个准备动作来使用三叉矛对付冲锋,你在击中敌人时可以造成双倍的伤害。

''矮人矛斧(Urgrosh, Dwarven):''矮人矛斧属于双头武器,你可以像你双手各都持有武器那样使用它战斗,但你的攻击检定会受到双武器攻击的减值,如同一手持单手武器一手持轻武器一样。矮人矛斧的斧头端造成挥砍型伤害,伤害为1d8点;矛端造成穿刺型伤害,伤害为1d6点。你可以使用它的任何一头作为主武器,另一头作为副武器。以单手持用矮人矛斧的生物不能将它作为双武器使用,每回合只能使用武器的一头攻击。

如果你用一个准备动作来使用矮人矛斧对付冲锋,你在击中敌人时可以造成双倍的伤害。此时矮人矛斧的矛端是造成伤害的部分。

矮人将矮人矛斧视为军用武器。

''矮人重斧(Waraxe, Dwarven):''矮人重斧因为太大,所以在经特殊训练后才能单手持用,因此它属于异种武器。中等体型的生物可以双手持用它,此时视其为军用武器。大型生物可以单手持用它,此时也视其为军用武器。

矮人将其视为军用武器,即便单手使用时也是如此。

''鞭子(Whip):''鞭子造成的伤害属于非致命伤害。对于任何有+1或更高的盔甲加值的生物,或者至少+3的天生防御加值的生物,它将不能造成伤害。鞭子视作具有15尺触及范围的长型武器,但你持用它时并不能对你能攻击到的区域造成威胁。另外,和其它的长型武器不同,你可以使用它来攻击任何触及范围内的敌人(包括和你相邻的敌人)。 
使用鞭子时会引发敌人的借机攻击,就像你在使用远程武器一样。

你可以使用鞭子进行拌摔攻击。如果你在试图拌摔敌人时反被绊摔,你可以扔掉鞭子以避免被拌摔。
当使用鞭子时,你在尝试卸除敌人武器的行动中将获得+2的攻击检定加值(包括了当你卸除武器失败后避免被敌人卸除武器的检定)。 

在使用和你的体型相符的鞭子时,就算它对你来说并不是轻武器,但你仍可以使用武器娴熟特技将你的敏捷修正代替力量修正应用于攻击检定中。

!!! 精制武器

精制武器是精心打造的普通武器,它可以让使用者的攻击检定得到+1的增强加值。

精制武器必须在一开始就作为精制武器来打造(见手艺技能),而不能在武器打造完成后再试图让它拥有这样的品质。精制武器的价格在普通武器的基础上增加300金币(对于弹药来说是每支增加6金币),而打造双头的精制武器的花费是平常的两倍(增加600金币)。

精制的弹药在使用后会损坏,并且它的增强加值不会和发射它的武器的任何增强加值叠加。

所有的魔法武器都被认为是精制武器,但武器上的魔法增强加值不会和精制武器本身的增强加值叠加。

虽然一些盔甲和盾牌可以作为武器使用,但精制的盔甲和盾牌不会使攻击检定得到增强加值,而是降低了防具检定减值。

!! 防具

!!! 防具性质

为了能够更有效的穿着较重的盔甲,你必须选择盔甲熟练特技,但是大多数职业都能熟练穿着他们最常用的盔甲。盔甲和盾牌可以被某些类型的攻击所伤害。

这里是对表:盔甲和盾牌中表头部分的说明。

''价格:''列表中的价格是适合小型和中型人形生物穿戴的盔甲价格。对于其他生物,见下面的供特殊生物使用的盔甲价格。

''盔甲/盾牌加值:''所有盔甲都对防御等级提供了盔甲加值(armor bonus),盾牌则提供了盾牌加值(shield bonus)。盔甲提供的盔甲加值不能与其它提供盔甲加值的效果或物品叠加。同样的,盾牌提供的盾牌加值也不能与其它提供盾牌加值的效果或物品叠加。

''最大敏捷加值(Maximum Dex Bonus):''这个数值决定了这种类型的盔甲允许敏捷对防御等级的最大修正值。重的盔甲往往会限制你的灵活性,因为它减少了你躲闪攻击的能力。这种限制不会影响其它与敏捷相关的能力。
即使你由于穿着盔甲而使敏捷对防御等级的加值降到了0,你也不会被认为已经失去了AC上的敏捷加值。

你的人物的负重情况(你携带的装备的重量)也限制了敏捷对防御等级的最大修正值。

//盾牌://盾牌对你的最大敏捷加值没有影响。

防具检定减值(Armor Check Penalty):任何比皮甲重的盔甲都会影响你使用某些技能。防具检定减值会应用于平衡,攀爬,脱逃,躲藏,跳跃,潜行,手上功夫和滚翻的检定。防具检定减值会双倍应用于游泳的检定。同时,你身上装备的拖累(所有携带装备的总重量,包括防具)也会产生一个防具检定减值。
盾牌:如果你在身着盔甲时装备了盾牌,那么它们的防具检定减值将会叠加。

//穿着不擅长的盔甲://如果你穿上了你不擅长使用的盔甲(或你不擅长使用的盾牌),那么你的盔甲(以及盾牌)的检定减值将应用于攻击检定以及所有与力量和敏捷有关的检定。盔甲和盾牌的检定减值可以叠加。
穿甲睡眠:如果你身着中型或重型盔甲睡眠,那么第二天你将进入疲乏状态。你的力量值和敏捷值将受到-2减值,并且不能冲锋和奔跑。穿着轻型盔甲睡觉不会导致疲乏。

''奥术失败(Arcane Spell Failure):''当你在施展有姿态成分的奥术时,盔甲妨碍了你在施法时的动作。在身着盔甲时,奥术施法者必须要面对法术失败的可能。诗人可以穿轻型盔甲施展诗人法术,不会造成任何的法术失败。
穿甲施法:当你身着盔甲并开始施展法术,你通常要进行一个法术失败的检定。法术失败检定的数值见表:盔甲和盾牌的相应条目。如果法术不包括姿态部分,那么施展它不会有失败的可能。
盾牌:如果你同时装备了盔甲和盾牌,那么将两个数值加起来,作为一个单一的法术失败率。

''速度(Speed):''中型和重型的盔甲会减慢你的速度。表:盔甲和盾牌的相应条目的数值将会告诉你在穿着各种盔甲时的速度。人类,精灵,半精灵,半兽人在无阻碍时速度为30尺。他们使用的是第一栏中的数值。矮人,侏儒,半身人在无阻碍时速度为20尺,他们对应第二栏的数值。但是,矮人在身着中型盔甲和重型盔甲,或处于中度负载和重度负载时,陆地速度仍为20尺。
盾牌:盾牌不会影响你行进的速度。
''重量(Weight):''盔甲的重量。小型生物盔甲的重量为该值的一半,大型生物盔甲的重量为该值的两倍。

''表:盔甲和盾牌''

|!		|!		|!		|!		|!		|!		|!	速度	|<|!		|
|!盔甲 |!	价格	|!	盔甲/盾牌加值	|!	最大敏捷加值	|!	防具检定减值	|!	奥术失败	|!	(30尺)	|!	(20尺)	|!	重量^^1^^	|
|^	''轻型盔甲''	|^		|^		|^		|^		|^		|^		|^		|^		|
|^	厚布甲(Padded)	|^	5 金币	|^	+1	|^	+8	|^	0	|^	5%	|^	30尺	|^	20尺	|^	10磅	|
|^	皮甲(Leather)	|^	10 金币	|^	+2	|^	+6	|^	0	|^	10%	|^	30尺	|^	20尺	|^	15磅	|
|^	镶嵌皮甲(Studded Leather)	|^	25 金币	|^	+3	|^	+5	|^	–1	|^	15%	|^	30尺	|^	20尺	|^	20磅	|
|^	链甲衫(Chain Shirt)	|^	100 金币	|^	+4	|^	+4	|^	–2	|^	20%	|^	30尺	|^	20尺	|^	25磅	|
|^	''中型盔甲''	|^		|^		|^		|^		|^		|^		|^		|^		|
|^	革甲(Hide)	|^	15 金币	|^	+3	|^	+4	|^	–3	|^	20%	|^	20尺	|^	15尺	|^	25磅	|
|^	鳞甲(Scale Mail)	|^	50 金币	|^	+4	|^	+3	|^	–4	|^	25%	|^	20尺	|^	15尺	|^	30磅	|
|^	链甲(Chainmail)	|^	150 金币	|^	+5	|^	+2	|^	–5	|^	30%	|^	20尺	|^	15尺	|^	40磅	|
|^	胸甲(Breastplate)	|^	200 金币	|^	+5	|^	+3	|^	–4	|^	25%	|^	20尺	|^	15尺	|^	30磅	|
|^	''重型盔甲''	|^		|^		|^		|^		|^		|^		|^		|^		|
|^	板条甲(Splint mail)	|^	200 金币	|^	+6	|^	+0	|^	–7	|^	40%	|^	20尺^^2^^	|^	15尺^^2^^	|^	45磅	|
|^	混织铁甲(Banded mail)	|^	250 金币	|^	+6	|^	+1	|^	–6	|^	35%	|^	20尺^^2^^	|^	15尺^^2^^	|^	35磅	|
|^	半身甲(Half-plate)	|^	600 金币	|^	+7	|^	+0	|^	–7	|^	40%	|^	20尺^^2^^	|^	15尺^^2^^	|^	50磅	|
|^	全身甲(Full plate)	|^	1,500 金币	|^	+8	|^	+1	|^	–6	|^	35%	|^	20尺^^2^^	|^	15尺^^2^^	|^	50磅	|
|^	''盾牌''	|^		|^		|^		|^		|^		|^		|^		|^		|
|^	小圆盾(Buckler)	|^	15 金币	|^	+1	|^	—	|^	–1	|^	5%	|^	—	|^	—	|^	5磅	|
|^	轻木盾(Shield, light wooden)	|^	3 金币	|^	+1	|^	—	|^	–1	|^	5%	|^	—	|^	—	|^	5磅	|
|^	轻钢盾(Shield, light steel)	|^	9 金币	|^	+1	|^	—	|^	–1	|^	5%	|^	—	|^	—	|^	6磅	|
|^	重木盾(Shield, heavy wooden)	|^	7 金币	|^	+2	|^	—	|^	–2	|^	15%	|^	—	|^	—	|^	10磅	|
|^	重钢盾(Shield, heavy steel)	|^	20 金币	|^	+2	|^	—	|^	–2	|^	15%	|^	—	|^	—	|^	15磅	|
|^	塔盾(Shield, tower)	|^	30 金币	|^	+4^^3^^	|^	+2	|^	–10	|^	50%	|^	—	|^	—	|^	45磅	|
|^	''其它	''|^		|^		|^		|^		|^		|^		|^		|^		|
|^	盔甲用尖刺(Armor spikes)	|^	+50 金币	|^	—	|^	—	|^	—	|^	—	|^	—	|^	—	|^	+10磅	|
|^	带锁铁手套(Gauntlet, locked)	|^	8 金币	|^	—	|^	—	|^	特殊	|^	^^4^^	|^	—	|^	—	|^	+5磅	|
|^	盾牌用尖刺(Shield spikes)	|^	+10 金币	|^	—	|^	—	|^	—	|^	—	|^	—	|^	—	|^	+5磅	|

|^	1 //这里是适合中等体型生物的盔甲的重量。适合小型生物的盔甲其重量为此值的一半,适合大型生物的盔甲其重量为此值的两倍。//|
|^	2 //当你穿着重型盔甲奔跑时,你的速度是正常速度的三倍,而不是四倍//	|
|^	3 //使用塔盾能令你获得掩蔽,请看详细的描述//	|
|^	4 //你的手腾不出来施法//	|

!!! 盔甲描述

下面是在表:盔甲和盾牌里防具特殊好处的描述。

''盔甲用尖刺(Armor Spikes):''你可以将这些尖刺安装在你的盔甲上。它可以让你在成功的擒抱攻击中对敌人造成额外的穿刺伤害(见表:武器)。盔甲用尖刺属于军用武器。如果你不能熟练的使用它,那么在试图使用它们时你的擒抱检定将会有-4的减值。你也可以使用尖刺进行常规的近战攻击(或副手攻击),这时它算作轻武器。(如果你已经用另外一件副手武器进行了攻击,那么本回合内就不能再使用尖刺进行攻击,反之亦然。)

盔甲的增强加值不会增强尖刺的效果,但是甲钉本身可以成为魔法武器。

''混织铁甲(Banded Mail):''混织铁甲包括了一双手套。

''胸甲(Breastplate):''胸甲包括了头盔和胫甲。

''小圆盾(Buckler):''这种小型的金属圆盾可以用皮带捆在你的前臂上。你可以在携带它的时候使用弓或者弩而不受到减值。你还可以使用带盾牌的手挥舞武器(不论是使用副手武器还是用非惯用手帮助挥舞双手武器),但是攻击检定会受到-1的减值。该减值会和你使用非惯用手战斗的减值叠加,也会和双武器战斗的减值叠加。任何情况下,如果你使用了非惯用手持用的武器,在该回合余下的时间里,你将不能获得小圆盾提供的防御等级加值。
你不能使用小圆盾猛击你的敌人。

''链甲衫(Chain Shirt):''链甲衫包括了一顶钢制的帽子。

''链甲(Chainmail):''链甲包括了一双铁手套。

''全身甲(Full Plate):''全身甲包括了铁手套,重皮靴,以及一顶可以保护面部的头盔。在铠甲的内部,有一层厚厚的填料。任何一件合身的全身甲都必须由高明的铁匠专门为铠甲的主人量身定做。即使是你缴获来的全身甲,依然要铁匠帮你修改成合适的大小才能穿戴,它的花费是200-800金币(2d4×100)。 
带锁铁手套(Gauntlet, Locked):这种盔甲的手套上面带有小的链条和吊带,允许使用者将自己的武器缚在手套上,使得武器不容易从手中滑落。在任何对抗卸除武器以抓住武器的检定中它都有+10的加值。将武器缚在带锁铁手套上或将武器取下是一个整轮动作,该动作会引发借机攻击。

给出的的价格是单只带锁铁手套的。它的重量只在你穿戴胸甲,轻型盔甲,或无甲状态时计算。另外,带锁铁手套将会代替你盔甲配备的铁手套。
当缚上武器之后,你不能使用这只手施法或使用技能(你依然可以施展带有肢体部分的法术,只要你可以保证另一只手可以自由活动)。

和一般的铁手套类似,带锁铁手套也可以让你在进行徒手击打时造成正常的伤害,而不是非致命伤害。

''半身甲(Half-Plate):''半身甲包括了一双铁手套。

''鳞甲(Scale Mail):''鳞甲包括了一双铁手套。

''重型盾牌,木制或者钢制(Shield, Heavy, Wooden or Steel):''你可以将盾牌缚在你的前臂上,并使用手来握住它。在持用重型盾牌以后,由于它的重量,这只手不能再做任何其他的事情。

//木制或者钢制(Wooden or Steel)://木制和钢制的盾牌提供同样的基本保护,但是它们对特殊攻击会有不同的反应。

//盾牌猛击(Shield Bash Attacks)://你可以使用重型盾牌猛击敌人,这时盾牌作为非惯用手的武器。见表:武器中使用盾牌猛击可以造成的伤害。使用该攻击方式时,重型盾牌属于钝击型的军用武器。在计算攻击检定处罚时,它被认为是单手武器。如果你将盾牌作为武器使用,那么,在你采取下一个行动以前,你将会失去盾牌提供的防御等级加值(通常持续到下个回合)。盾牌的增强加值不会增强它在猛击时的效果,但是盾牌本身可以成为魔法武器。

''轻型盾牌,木制或者钢制(Shield, Light, Wooden or Steel):''你可以将盾牌缚在你的前臂上,并使用手来握住它。由于轻型盾牌的重量较轻,所以持用盾牌的手上还可以持用一件物品(虽然你不能使用武器)。

//木制或者钢制(Wooden or Steel)://木制和钢制的盾牌提供同样的基本保护,但是它们对特殊攻击会有不同的反应。

//盾牌猛击(Shield Bash Attacks)://你可以使用轻型盾牌猛击敌人,这时,盾牌作为非惯用手的武器。见表:武器中使用盾牌猛击可以造成的伤害。使用该攻击方式时,轻型盾牌属于钝击型的军用武器。在计算攻击检定处罚时,它被认为是轻武器。如果你将盾牌作为武器使用,那么,在你采取下一个行动以前,你将会失去盾牌提供的防御等级加值(通常持续到下个回合)。盾牌的增强加值不会增强它在猛击时的效果,但是盾牌本身可以成为魔法武器。

''塔盾(Shield, Tower):''这是一块厚重的大木板盾牌,几乎和人一样高。在大部分情况下,它提供+4的盾牌加值。但是,你也可以用它达到全掩蔽(total cover),此时你必须放弃所有的攻击。塔盾无法保护你不受目标性魔法的影响,施法者可以通过瞄准你持有的盾牌来对你身上施法。你不能使用塔盾猛击敌人,你也不能用装备盾牌的手做任何事情。

当装备塔盾作战时,由于它的妨碍导致你的命中受到-2减值。

''盾牌用尖刺(Shield Spikes):''当你把这些尖刺安装在盾牌上之后,盾牌变成了穿刺型的军用武器,它可以增加使用盾牌猛击时造成的伤害,就好像盾牌是为比使用者的体型大一级的生物所设计的一样。你不能在小圆盾和塔盾上安装盾牌用尖刺。其它方面使用带刺盾牌的攻击描述和盾牌猛击类似(见上文)。

带刺盾牌的增强加值不会增强它在猛击时的效果,但是尖刺本身可以成为魔法武器。

''板条甲(Splint Mail):''板条甲包括了一双铁手套。

!!! 精制盔甲

就像精制武器那样,你可以购买或者打造精制的盔甲和盾牌。精制防具在功能上和普通防具一样,但是所有的防具检定减值都会减少1点。

精制盔甲和盾牌的价格在普通盔甲和盾牌的基础上增加了150金币。

虽然一些盔甲和盾牌可以作为武器使用,但精制的盔甲和盾牌决不会使攻击或伤害的检定得到加值。

所有的魔法盔甲和盾牌都被认为是精制盔甲和盾牌。

精制盔甲和盾牌必须在一开始就作为精制盔甲和盾牌来打造(见手艺技能),而不能在打造完成后再试图让它拥有这样的品质。

!!! 特殊生物使用的盔甲

供特殊的大型生物,特殊的小型生物,和非人形生物使用的盔甲和盾牌与人形生物使用的盔甲和盾牌有所区别。参考下文的表格中的相应行来检定特殊生物使用的盔甲和盾牌的价格与重量。

|!		|!	人形生物	|<|!	非人形生物	|<|
|!	尺寸	|!	价格	|!	重量	|!	价格	|!	重量	|
|^	超小型或更小^^1^^	|^	x1/2	|^	x1/10	|^	x1	|^	x1/10	|
|^	小型	|^	x1	|^	x1/2	|^	x2	|^	x1/2	|
|^	中型	|^	x1	|^	x1	|^	x2	|^	x1	|
|^	大型	|^	x2	|^	x2	|^	x4	|^	x2	|
|^	超大型	|^	x4	|^	x5	|^	x8	|^	x5	|
|^	巨型	|^	x8	|^	x8	|^	x16	|^	x8	|
|^	超巨型	|^	x16	|^	x12	|^	x32	|^	x12	|
|^	1 //防具加值除以2//	|<|<|<|<||


!!! 穿上或脱下盔甲

穿上或脱下需要的时间取决于盔甲的类型(见表:穿戴盔甲)。
''穿戴:''这一栏的数值记录了你穿上盔甲的时间(1分钟的时间等于10回合)。准备好(绑上)盾牌只是一个移动动作。
''快速穿戴:''该栏数值列出了你在紧急中穿上盔甲时需要的时间。这会导致你的防具检定减值和盔甲加值较平时有-1的减值。
''脱下盔甲:''该栏列出了你在脱下盔甲时花费的时间。扔掉盾牌(将盾牌从手臂上取下并扔掉)是一个移动动作。

''表:穿戴盔甲''

|!盔甲类型 |!穿戴 |!快速穿戴 |!脱下盔甲 |
|^	盾牌(任意类型)	|^	一个移动动作	|^	无此项目	|^	一个移动动作	|
|^	厚布甲、皮甲、革甲、链甲衫、镶嵌皮甲	|^	1分钟	|^	5回合	|^	1分钟^^1^^	|
|^	胸甲、混织铁甲、链甲、鳞甲、板条甲	|^	4分钟^^1^^	|^	1分钟	|^	1分钟^^1^^	|
|^	全身甲、半身甲	|^	4分钟^^2^^	|^	4分钟^^1^^	|^	1d4+1分钟^^1^^	|
|^	1 如果有人协助,时间减半。一个人在空闲时可以协助1至2个人。两个人不能同时互相协助穿戴盔甲。	|<|<|<|
|^	2 必须有人协助才能穿戴这种盔甲。无人协助时,你只能快速穿戴它。	|<|<|<|

<<list-links "[tag[物品和装备]]">>

假设角色已经拥有至少一套平时穿的服装。还可以从下列服饰中任选一套:工匠服装,艺人服装,探险家服装,武僧服装,平民服装,学者服装,以及旅行者服装。

!! 财富和金钱

!!! 钱币(COINS)

最常见的钱币是金币(gp),一个金币相当于10个银币(sp),一个银币相当于10个铜币(cp)。除了以上的钱币之外,还有一种钱币是白金币(pp),每个值10个金币。每个标准的货币重量是1/3盎司(1/50磅)。


表:钱币

|!		|!	兑换值	|<|<|<|
|!		|!	铜币	|!	银币	|!	金币	|!	白金币	|
|^	1铜币 =	|^	1	|^	1/10	|^	1/100	|^	1/1,000	|
|^	1银币 =	|^	10	|^	1	|^	1/10	|^	1/100	|
|^	1金币 =	|^	100	|^	10	|^	1	|^	1/10	|
|^	1白金币 =	|^	1,000	|^	100	|^	10	|^	1	|


!!! 其他非钱币的财富

商人经常直接交换商品而不使用货币,作为对照,一些商品的价格可以见表:商品。

''表:商品''

|!	价格	|!	物品	|
|^	1 铜币	|^	一磅小麦	|
|^	2 铜币	|^	一磅面粉,或一只鸡	|
|^	1 银币	|^	一磅铁	|
|^	5 银币	|^	一磅烟草或铜	|
|^	1 金币	|^	一磅肉桂,或一只山羊	|
|^	2 金币	|^	一磅生姜或胡椒粉,或一只绵羊	|
|^	3 金币	|^	一头猪	|
|^	4 金币	|^	一平方尺亚麻布	|
|^	5 金币	|^	一磅食盐或一磅白银	|
|^	10 金币	|^	一平方尺亚麻布,或一头母牛	|
|^	15 金币	|^	一磅藏红花粉或丁香,或一头公牛	|
|^	50 金币	|^	一磅黄金	|
|^	500 金币	|^	一磅白金	|


!!! 卖出战利品

一般情况下,你可以以表单中一半的价格卖出物品。

商品是不在这个半价规则规定之内的物品。一件商品,在这个意义上来说,它是一件有价值的物品,可以很容易的交换到和本身价值差不多的物品。

!! 先攻(INITIATIVE)

''先攻检定:''在战斗开始时,所有参与作战者都要做一次先攻检定。该先攻检定是一项敏捷检定。做先攻检定需要加上敏捷修正。之后人物按照从高到低的顺序行动。在接下来的每一轮里,人物都按照同样的顺序行动(除非人物采取了可以改变先攻值的行动,见特殊先攻动作)。

如果两个或者更多的作战者有相同的先攻顺序,那么有较高先攻修正的作战者先行动。如果还是相同,那么相同顺序的任务需要再做一次先攻检定以决定行动顺序。

''措手不及(Flat-Footed):''在战斗开始后,在你行动前(尤其是第一个正常轮中你的回合前),你都处于措手不及状态。在措手不及状态下你将失去AC上的敏捷加值(如果有)。野蛮人和游荡者有直觉闪避 能力,该能力可以让人物在措手不及时保留AC上敏捷加值。

措手不及的人物无法进行借机攻击。

''无行动:''即使你不采取任何行动,在这场战斗期间你依然保留你的先攻值。

 

!!! 突袭(SURPRISE)

在战斗开始时,如果你没有觉察到你的敌人,而他们觉察到了你,你就被突袭了。

 

!!!! 决定觉察情况

有些时候一边的作战者都觉察到了对手,有些时候他们都没觉察到对手,有时只有一部分能觉察到对手。有时两边各自有一部分作战者彼此发现,而其他的作战者却还未觉察。

可以通过聆听检定,侦察检定或者其他检定来决定彼此觉察情况。

''突袭轮:''如果只有一部分作战者觉察到他们的对手,则正常轮开始前有一个突袭轮。任何觉察到敌人的作战者都可以在突袭轮中行动,因此他们必须作先攻检定。按照从高到低的先攻顺序,在突袭轮里那些觉察到敌人的作战者可以做一个标准动作。在突袭轮中还可以做即时动作。如果没有人被突袭,那么突袭轮跳过。

''未觉察到对手的作战者:''战斗开始时没有觉察到敌人的作战者在突袭轮内不能做动作。由于还未行动,这些作战者处于措手不及状态,从而失去AC上的敏捷加值。

 

!! 借机攻击(ATTACKS OF OPPORTUNITY)

有些时候近战的人会放松自己的防卫。在此时,他周围的敌人可以利用他的松懈来自由的攻击他。这种攻击叫做借机攻击。

''威胁范围(Threatened Squares):''你威胁到所有你可以对其进行近战攻击的方格,即使不在你的行动也一样。一般的情况下,这指的是你紧邻的所有方格(包括对角上的方格)。在你的威胁范围内做某几种特定的动作会遭到你的借机攻击。如果你徒手作战,你无法正常的威胁到任何方格,因此你无法做出借机攻击。

//长型武器(Reach Weapons)://大部分中型和小型生物的触及范围只有5尺。因此他们只能近战攻击到5尺(一个方格)内的敌人。但是,小型和中型生物可以通过长型武器来威胁到比正常生物更多的范围。另外,大部分大型或更大型的生物有着10尺或10尺以上的天生触及范围。

''引发借机攻击:''两种动作可以引发借机攻击:移出威胁范围和在威胁范围内做某些动作。

//移动://移出威胁范围通常会引发对方的借机攻击,有两种移动方式不会受到借机攻击,分别是五尺快步和撤退行动(withdraw)(见之后的说明)。

//做分心的动作://做某些动作会分散你的注意力,因此在在威胁范围内做这些动作时会引发借机攻击。表格“战斗中的动作”给出了大部分可导致借机攻击的动作。

注意,在本规则内那些通常会导致借机攻击的动作也有可能有例外情况。

''进行借机攻击:''一个借机攻击就是一次近战攻击,一轮内只能做一次借机攻击。如果你不想进行借机攻击你可以不做。

一个高等级的角色在正常轮可以有额外的攻击机会(全力攻击),不过这些机会的攻击加值较低。但是你做借机攻击时使用的是你正常的攻击加值,即使在本轮之内你已经攻击过了也是如此。

借机攻击“打断”了该轮内正常的动作流程。如果引发了一次借机攻击,那么立即执行该借机攻击,之后再继续到下一个角色的回合(如果借机攻击是在该角色的回合中间被引发,那么还是继续本回合)。

//战斗反射和额外的借机攻击://如果你有战斗反射专长(Combat Reflexes),那么你的每轮借机攻击数可以增加上你的敏捷修正数。该专长无法让你对一次机会进行多次借机攻击,但是如果一个敌人给了你两次借机攻击的机会,那么你可以对他进行两次独立的借机攻击(每次攻击对应不同的机会)。在威胁范围内移动多个方格不会引发多次借机攻击。所有的借机攻击都使用正常的攻击加值。
''陷阱类型:''按本质划分,陷阱或者是机械的或者是魔法的。机械陷阱(mechanical traps)包括陷坑、射箭陷阱、落石、充水的房间、旋转刀刃,以及任何基于机械装置运转的东西。玩家可以通过成功地使用手艺(制造陷阱)(Craft (trapmaking))这项技能来制造一个机械陷阱(见之后的设计陷阱和该技能的说明)。

魔法陷阱(magic traps)可以进一步划分为法术陷阱(spell traps)和魔法装置陷阱(magic device traps)。魔法装置陷阱会在触发时释放出法术效果,就像魔杖、权杖、戒指、以及其他类似魔法物品一样。制造一个魔法装置陷阱需要制造奇物专长(Craft Wondrous Item)(见设计陷阱和该专长说明)。

法术陷阱就是一个法术,只是它们的功能和陷阱相同。制造法术陷阱需要能施展所需法术的人物的帮助,不论那人是陷阱制造者本人还是他为此雇来的NPC施法者。

 

!!! 机械陷阱(MECHANICAL TRAPS)

地下城内经常放置有致命的机械(非魔法)陷阱。陷阱的属性通常是根据如下条件来定义:它的位置和触发条件、触发前侦察到它的难度、它能造成的伤害、触发它的人是否有可能通过一个豁免检定来减少伤害。用箭、挥动的刀刃或者其他类型武器来攻击的陷阱需要进行正常的攻击检定,根据设计时的情况有特殊的攻击加值。

生物可以通过一个成功的搜索检定(DC20)来在触发前找到简单的机械陷阱。(简单的陷阱指得是套索陷阱、由绊索触发的陷阱、或者一个类似陷坑的大陷阱。)

有寻找陷阱(trapfinding)职业特性的人物可以通过一个成功的搜索检定(DC21或更高)来在触发前找到掩蔽很好的或者复杂的机械陷阱。复杂的陷阱是意味着它们的触发装置比较复杂,它们通常使用压力板、和门相连的装置、重量的改变、空气的扰动、震动、或者其他这类不寻常的触发条件所触发。

 

!!! 魔法陷阱(MAGIC TRAPS)

很多魔法可以用来制造危险的陷阱。除非法术或物品另有说明,否则使用以下条件。

*游荡者(只有游荡者)可以通过一次成功的搜索检定(DC25+法术等级)来在法术陷阱触发前侦测到它。其他人物不可能用搜索检定来找到魔法陷阱。

*可以用一个豁免检定(DC10+1.5倍法术等级)来避开魔法陷阱的影响。

*游荡者(只有游荡者)可以通过一次成功的解除装置检定(DC25+法术等级)来解除掉魔法陷阱。


!!! 陷阱要素

所有陷阱,机械的或者魔法的,都有以下要素:触发器,复位,搜索DC,解除装置DC,攻击加值(或豁免,或延时启动),伤害/效果,以及挑战等级(Challenge Rating)。有些陷阱还包括可选要素,例如毒或者开关。这些特性说明见后。
 
!!!!触发器(Trigger)
陷阱的触发器决定了它如何启动。

''位置型(Location):''位置触发器会在有人站在特定区域时启动陷阱。

''接近型(Proximity):''这种触发器会在一个生物靠近到一定距离内时启动陷阱。接近型触发器和位置型触发器不同,生物不必站在特定位置就会触发它。飞行中的生物可以触发一个使用接近型触发器的陷阱,但是不会触发使用位置型触发器的陷阱。机械接近型触发器对空气微小的扰动非常敏感。这使得它只能用在墓穴一类的地方,因为那里空气是异常的静止。

魔法装置陷阱上使用的接近型触发器主要是法术警报术(alarm)。和单纯的施展该法术不同,用作触发器的警报术的范围可以和这个陷阱想保护的区域一样大或者更小。

有些魔法装置陷阱用特别的接近型触发器来保证只被接近的特定种类生物触发。例如,法术侦测善良(detect good)可以用在一个邪恶祭坛上当作接近型触发器,只有某个善良阵营的人靠近到足够近时才会触发相关的陷阱。

''声响型(Sound):''这类触发器会在侦测到任何声音时触发魔法陷阱。一个声响型触发器的工作方式就像一只耳朵,并且在聆听检定上有+15加值。成功的潜行检定、沉默术(silence)、或者其他类似可以阻挡听力的方法都可以避开它。制造使用声响型触发器的陷阱需要在制造期间施展锐耳术(clairaudience)。

''视觉型(Visual):''这类触发器工作方法类似一个秘法眼(actual eye),只要它“看见”某些东西就会触发陷阱。制造带有视觉型触发器的陷阱需要在制造期间施展秘法眼(arcane eye)、鹰眼术(clairvoyance)或者真知术(true seeing)。该陷阱获得的视界和侦察加值基于采用的法术,见下表。

|!	法术	|!	视线范围	|!	侦察加值	|
|^	秘法眼(arcane eye)	|^	视觉线(无限距离)	|^	+20	|
|^	鹰眼术(clairvoyance)	|^	一个预先选定的位置	|^	+15	|
|^	真知术(true seeing)	|^	视觉线(上限120尺)	|^	+30	|

如果你想让这个陷阱能在黑暗中“看”,你必须选择真知术,或者给陷阱附加一个黑暗视觉法术(darkvision)。(黑暗视觉术给陷阱提供的黑暗视觉距离为60尺)。如果有隐形、易容或者幻觉能够愚弄陷阱所使用的法术,那么它们同样也能愚弄这个视觉型触发器。

''接触型(Touch):''接触型触发器会在被触动的时候触发陷阱,它是一种最简单的触发器。这种触发器可以被物理性的附加在某个能造成伤害的机械装置上,也可以并非如此。你也可以在陷阱上附加一个警报术(alarm)并将法术效果区域减少到只覆盖触发器所处地点,用这种方式可以制造一个魔法接触型触发器,。

''定时型(Timed):''这种触发器能以特定时间为周期来触发陷阱。

''法术型(Spell):''所有的法术陷阱都有这类触发器。对应法术的说明解释了该法术型触发器对应陷阱的触发器条件。

!!!!复位(Reset)
复位要素是指如何将陷阱置于可再次被触发状态的条件。

''无法复位(No Reset):''除非完全重建这个陷阱,否则不可能多次触发这个陷阱。法术陷阱都有无法复位要素。

''修复(Repair):''要让这个陷阱再次运作,你必须修复它。

''手动(Manual):''要复位该陷阱需要有人将它的部件放回原位。大部分机械陷阱所具有的复位要素都是这类。

''自动(Automatic):''陷阱本身能复位自己,有可能是立刻复位,也有可能是在一段时间间隔后。

!!!!修复和复位机械陷阱
修复一个机械陷阱需要手艺(制造陷阱)技能,DC和制造该陷阱的DC相同。修复的原料费是该陷阱原始市价的五分之一。要计算需要多长时间修复陷阱,使用和制造它相同的计算方法,但是在市场价格部分使用修理所需原料费。复位一个陷阱一般仅需要一分钟左右的时间。对于有较复杂复位方法的陷阱,你可以设定所需时间和劳力。

!!!!开关(Bypass)(可选要素)

如果陷阱制造者希望在制造或放置陷阱后能够越过它,那么造一个开关—某种可以暂时解除该陷阱的东西—是个好主意。开关要素一般只用在机械陷阱上,法术陷阱通常可以在制造时设定让施法者能绕开它。

''锁(Lock):''一个使用锁的开关需要DC30的开锁技能检定来打开。

''隐藏开关(Hidden Switch):''一个隐藏的开关需要DC25的搜索检定来找到它。

''隐藏锁(Hidden Lock):''隐藏锁结合了之前两项特性,需要DC25的搜索检定来找到它,并用DC30的开锁检定来打开它。

!!!!搜索和解除装置DC
机械陷阱的建造者可以设定陷阱的搜索和解除装置DC。对于魔法陷阱来说,这两项值是根据使用的最高等级法术所决定。

''机械陷阱:''搜索和解除装置的基础DC都是20。提升或降低其中任何一项DC都会影响陷阱基础价格(表:机械陷阱价格修正),同时有可能会影响其挑战等级(表:机械陷阱挑战等级修正)。

''魔法陷阱:''搜索和解除装置的DC都等于25加所用法术中最高等级法术的法术等级。只有具有陷阱感受职业特性的角色才能尝试搜索魔法陷阱或对其进行解除装置检定。这些DC不会影响陷阱的花费或挑战等级。

!!!!攻击加值/豁免DC
陷阱一般会进行一个攻击检定,或者强迫你做一个豁免检定才能避开它。偶尔一个陷阱会同时使用这两项,或者一项都不用(见永不落空(Never Miss))。

''陷坑(Pits):''陷坑是能让人掉进去并遭受伤害的洞(有盖子或者没有)。陷坑不需要作攻击检定,不过一个成功的反射豁免(DC由制造者设定)可以避开它。其他一些基于豁免的机械陷阱也属于这一类。

''地下城里的陷坑通常有三种变化:''敞开的,有覆盖物的,以及大裂缝。可以用攀爬技能、跳跃技能、或者其他魔法方法通过陷坑和大裂缝。

敞开的陷坑主要是用来阻止入侵者不要走某条道路,当然当人在黑暗中摔进去的时候也能造成相当大的伤害,如果附近他们有场混战,情况会变得更加复杂。

有覆盖物的陷坑则危险的多。可以用一个DC20的搜索检定找到它们,但是只有在人物踏过它之前花时间仔细检查才有可能找到它们。没有发觉到有盖陷坑的人物依然可以做一次DC20的反射豁免来避免摔进去。当然,如果他正在奔跑或者不小心的移动,那么他将无法做反射豁免,并且自动掉进去。

陷阱覆盖物可以仅仅是一堆垃圾(稻草、树叶、柴禾、垃圾)或一大块地毯,也可以是一扇活板门,这样可以让它看起来象是地板的正常一部分。当有足够的重量(一般是50到80磅)压在活板门上时,这样的活板门会摆动打开。有些陷阱制造者会将其活板门设计成可以在打开后弹回去。当其返回原位时,活板门有可能被锁上,将被困住的人留在那里,他们就真的被陷住了。打开这样的活板门就像打开一扇正常的门一样(前提是被陷住的人能够够到这个门),要保持弹簧门开着需要DC13的力量检定。

陷坑陷阱底部经常有些比硬地板更可怕的东西。陷阱设计者可能会在底部放钉刺、怪物、酸池、熔岩,甚至就是水。陷坑陷阱底部的钉刺造成的伤害和匕首相同,攻击加值为+10,跌落距离每10尺都会对伤害提供+1加值(最大伤害加值为+5)。如果陷坑里有很多钉刺,那么跌入的生物会被1d4根钉刺伤害到。这种伤害是累加在跌落本身造成的任何伤害之上。

有时怪物会住在陷坑里。任何能放进这个陷坑的生物都有可能被地下城设计者放进陷坑里,当然也有可能这些怪物只是掉进去爬不出来而已。

陷坑底部的第二道陷阱(机械或者魔法的)会特别致命。第二道陷阱被掉下来的受害者激发,并开始攻击已经受伤的人。

''远程攻击型陷阱(Ranged Attack Traps):''这些陷阱在被触发的时候发射飞标、箭、矛,或者其他类似武器。由建造者设定其攻击加值。远程攻击型陷阱可以配备类似高力量强力复合弓的效果,这样可以让其伤害得到等同于其力量值的加值。

''近战攻击型陷阱(Melee Attack Traps):''这些陷阱主要作用是当障碍物,例如墙上出现的利刃或者从天花板上掉下来的大石块。依然是由建造者设定其攻击加值。

!!!!伤害/效果
陷阱的效果是指当被触发的时候会发生什么。一般来说是某种伤害或者某种法术效果,不过某些陷阱还有特殊效果。

''陷坑:''掉在陷坑里会受到每10尺深度1d6的伤害。

''远程攻击型陷阱:''这些陷阱的伤害和其弹药正常的伤害相同。如果该陷阱建造时带有高力量值,那么还要将相应的加值加在伤害上。

''近战攻击型陷阱:''这些陷阱的伤害如同它们“装备”了近战武器一样。在落石陷阱的情况中,你可以设定任何你喜欢的钝击伤害值,不过要记住是由谁将那些石块放回原位来复位陷阱。

近战攻击型陷阱建造时可以将建筑加值加在它的伤害检定上,如同该陷阱自身有高力量值一样。

''法术陷阱:''法术陷阱会产生法术效果。和所有法术一样,法术陷阱允许进行一次DC为10+法术等级+施法者关键属性修正的豁免。

''魔法装置陷阱:''这些陷阱会产生建造期间加入所有法术的效果,见对应情况说明。如果魔法装置陷阱中的法术允许进行豁免,那么它的豁免DC为10+1.5倍法术等级。有些法术以攻击检定代替豁免。

''特殊:''有些具有杂项特性的陷阱会造成其他的特殊效果,例如在水陷阱中溺水,或者中毒造成的属性伤害。豁免和伤害根据毒的种类而定,或者由建造者设定,见对应说明。

!!!!杂项陷阱特性
有些陷阱具有一些可选特性,这使得它们更加致命。最普通的一些这类特性如下。

''炼金术物品:''机械陷阱也可以混合炼金术装置或其他特别物品,例如绊足包、炽火胶、爆雷石,或者其他类似物品。有些这类物品模拟了法术效果。如果该物品模拟了法术效果,它会增加陷阱的CR,见表:机械陷阱挑战等级修正。

''毒气:''毒气陷阱的危险性在于它所散发的吸入性毒素。使用毒气的陷阱通常具有永不落空和发动延后值的特性(见后)。

''液体:''任何会造成淹溺危险的陷阱都属于这一类。使用液体的陷阱通常具有永不落空和发动延后值的特性(见后)。

''多重目标:''具有这项特性的陷阱能影响超过一个的人物。

''永不落空(Never Miss):''当地下城的整堵墙压向你时,你的快速反应对你毫无帮助,因为这堵墙不可能避开。具有这项特性的陷阱没有攻击加值或用来避开的豁免,但是它具有延迟发动值(见后)。大部分使用液体和毒气的陷阱都具有永不落空的特性。

''延迟发动值(Onset Delay):''延迟发动值指的是陷阱被触动时和它造成伤害时之间的时间差。永不落空的陷阱总是具有延迟发动值

''毒:''用毒的陷阱比对应不用毒的陷阱更加致命,因此它们相对来说有更高的CR。要决定给定毒素的CR修正,请查阅表:机械陷阱挑战等级修正。陷阱上只能使用伤口性(injury),接触性(contact),以及吸入性(inhaled)的毒素,摄入性(ingested)的毒不能用在陷阱上。某些陷阱仅仅能造成毒的伤害。另外一些陷阱则可以同时造成远程或近战伤害。

''陷坑钉刺(Pit Spikes):''陷坑底部的钉刺视作匕首,每颗钉刺都具有+10攻击加值。每颗钉刺的伤害加值为每10尺陷坑深度+1(最多+5)。落进陷坑里的人会被1d4颗钉刺攻击。陷坑钉刺不会增加陷阱的平均伤害(见之后的平均伤害)。

''陷坑底部:''如果在陷坑底部有钉刺以外的东西,最好是视其为另外一个独立的陷阱(见之后的多重陷阱),该陷阱有一个位置型触发器,会被很大的冲击所触发,例如坠落中的人。

''接触攻击:''那些攻击时只需作一次成功接触攻击(近战或远程)的陷阱应用此特性。

!!! 陷阱样板

这里列出的机械陷阱价格为其市场价格;魔法陷阱的价格是其原材料的成本。魔法装置陷阱和法术陷阱里用于产生陷阱效果的法术其施法者等级和职业已经在文中给出。陷阱中使用的其他法术(例如触发器),其施法者等级默认为最低要求。

!!!!CR 1陷阱
''基础箭陷阱(Basic Arrow Trap):''CR 1,机械;接近型触发器;手动复位;攻击+10远程攻击(1d6/x3,箭);搜索DC 20;解除装置DC 20。市场价格:2,000金币。

''伪装陷坑陷阱(Camouflaged Pit Trap):''CR 1;机械;位置型触发器;手动复位;DC 20反射豁免避开;10尺深度(1d6伤害,跌落);搜索DC 24;解除装置DC 20。市场价格:1,800金币。

''深陷坑陷阱(Deeper Pit Trap):''CR 1;机械;位置型触发器;手动复位;隐藏开关(搜索DC 25);DC 15反射豁免可避开;20尺深度(2d6伤害,跌落);多重目标(两个邻近5尺方格内各自的第一个目标);搜索DC24;解除装置DC20。市场价格:1,800金币。

''飞镖齐射(Fusillade of Darts):''CR 1;机械;位置型触发器;手动复位;攻击+10远程攻击(1d4+1,飞镖);多重目标(对邻近的两个5尺方格内的每个目标发射1d4枚飞镖);搜索DC 14;解除装置DC 20。市场价格:500金币。

''毒镖陷阱(Poison Dart Trap):''CR 1;机械;位置型触发器;手动复位;攻击+8远程攻击(1d4加毒,飞镖);毒(血根草,DC 12强韧可抵抗,0/1d4体质加1d3感知);搜索DC 20;解除装置DC 18。市场价格:700金币。

''毒针陷阱(Poison Needle Trap):''CR 1;机械;接触型触发器;手动复位;攻击+8远程攻击(1加绿血油毒);搜索DC 22;解除装置DC 20。市场价格:1300金币。

''铁闸陷阱(Portcullis Trap):''CR 1;机械;位置型触发器;手动复位;攻击+10近战攻击(3d6);搜索DC 20;解除装置DC 20。注意:只能对铁闸下方的目标造成伤害。铁闸会阻断通道。市场价格:1400金币。

''锋锐钢丝走廊(Razor-Wire across Hallway):''CR 1;机械;位置型触发器;无法复位;攻击+10近战攻击(2d6,钢丝);多重目标(两个邻近5尺方格内各自的第一个目标);搜索DC 22;解除装置DC 15。市场价格:400金币。

''滚石陷阱(Rolling Rock Trap):''CR 1;机械;位置型触发器;手动复位;攻击+10近战攻击(2d6,岩石);搜索DC 20;解除装置DC 22。市场价格:1400金币。

''镰刃陷阱(Scything Blade Trap):''CR 1;机械;位置型触发器;自动复位;攻击+8近战攻击(1d8/x3);搜索DC 21;解除装置DC 20。市场价格:1700金币。

''飞矛陷阱(Spear Trap):''CR 1;机械;位置型触发器;手动复位;攻击+12远程攻击(1d8/x3,矛);搜索DC 20;解除装置DC 20。注意:最大射程200尺,从在它路线上的生物中随机决定目标。市场价格:1200金币。

''乱石陷阱(Swinging Block Trap):''CR 1;机械;接触型触发器;手动复位;攻击+5近战攻击(4d6,石块);搜索DC 20;接触装置DC 20。市场价格:500金币。

''刀墙陷阱(Wall Blade Trap):''CR 1;机械;接触型触发器;自动复位;隐藏开关(搜索DC 25);攻击+10近战攻击(2d4/x4,巨镰);搜索DC 22;解除装置DC 22。市场价格:2500金币。

!!!!CR 2陷阱
''棕色霉菌之盒(Box of Brown Mold):''CR 2;机械;接触型触发器(打开这个盒子);自动复位;5尺寒冷气氛(3d6,冰伤害,非致命伤害);搜索DC 22;解除装置DC 16。市场价格:3000金币。

''天花板落砖(Bricks from Ceiling):''CR 2;机械;接触型触发器;修复复位;攻击+12近战攻击(2d6,砖);多重目标(两个邻近5尺方格内的所有目标);搜索DC 20;解除装置DC 20。市场价格:2400金币。

''燃烧之手陷阱(Burning Hands Trap):''CR 2;魔法装置;接近型触发器(警报术);自动复位;法术效果(燃烧之手,1级法师,1d4火伤害,DC 11反射豁免减半伤害);搜索DC 26;解除装置DC 26。成本:500金币,40 XP。

''伪装陷坑陷阱(Camouflaged Pit Trap):''CR 2;机械;位置型触发器;手动复位;DC 20反射豁免避开;20尺深度(2d6伤害,跌落);多重目标(两个邻近5尺方格内各自的第一个目标);搜索DC 24;解除装置DC 19。市场价格:3,400金币。

''造成轻伤陷阱(Inflict Light Wounds Trap):''CR 2;魔法装置;接触型触发器;自动复位;法术效果(造成轻伤,1级牧师,1d8+1,DC 11意志豁免减半伤害);搜索DC 26;解除装置DC 26。成本:500金币,40 XP。

''标枪陷阱(Javelin Trap):''CR 2;机械;位置型触发器;手动复位;攻击+16远程攻击(1d6+4,标枪);搜索DC 20;解除装置DC 18。市场价格:4,800金币。

''大网陷阱(Large Net Trap):''CR 2;机械;位置型触发器;手动复位;攻击+5近战攻击(见说明);搜索DC 20;解除装置DC 25。注意:在10尺方形范围内的人物要进行DC14的反射豁免,失败者将被网(力量18)缠绕住。市场价格:3,000金币。

''陷坑陷阱(Pit Trap):''CR 2;机械;位置型触发器;手动复位;DC 20反射豁免可避开;40尺深度(4d6伤害,跌落);搜索DC 20;解除装置DC 20。市场价格:2,000金币。

''毒针陷阱(Poison Needle Trap):''CR 2;机械;接触型触发器;修复复位;锁开关(开锁DC 30);攻击+17近战攻击(1加毒,针);毒(青嘶泣,DC 14强韧豁免抵抗(只能抵抗毒),1体质/失去意识);搜索DC 22;解除装置DC 17。市场价格:4,720金币。

''刺坑陷阱(Spiked Pit Trap):''CR 2;机械;位置型触发器;自动复位;DC 20反射豁免可避开;20尺深度(2d6伤害,跌落);多重目标(两个邻近5尺方格内各自的第一个目标);陷坑钉刺(攻击+10近战攻击,每个目标受到1d4根钉刺攻击,每根钉刺造成1d4+2伤害);搜索DC 18;解除装置DC 15。市场价格:1,600金币。

''拌摔链条陷阱(Tripping Chain):''CR 2;机械;位置型触发器;自动复位;多重陷阱(拌摔和近战攻击);攻击+15近战接触攻击(拌摔),攻击+15近战攻击(2d4+2,刺链);搜索DC 15;解除装置DC 18。市场价格:3,800金币。注意:该陷阱实际上是一个CR 1的拌摔陷阱和第二个CR 1的使用刺链攻击的陷阱组合而成。如果拌摔攻击成功,那么在刺链攻击的时候有+4加值,因为对方处于俯卧状态。

''高度伪装陷坑陷阱(Well-Camouflaged Pit Trap):''CR 2;机械;位置型触发器;修复复位;DC 20反射豁免可避开;10尺深度(1d6伤害,跌落);搜索DC 27;解除装置DC 20。市场价格:4,400金币。

!!!!CR 3陷阱
''燃烧之手陷阱(Burning Hands Trap):''CR 3;魔法装置;接近型触发器(警报术);自动复位;法术效果(燃烧之手,5级法师,5d4火伤害,DC 11反射豁免减半伤害);搜索DC 26;解除装置DC 26。成本:2,500金币,200 XP。

''伪装陷坑陷阱(Camouflaged Pit Trap):''CR 3;机械;位置型触发器;手动复位;DC 20反射豁免可避开;30尺深度(3d6伤害,跌落);多重目标(两个邻近5尺方格内各自的第一个目标);搜索DC 24;解除装置DC 18。市场价格:4,800金币。

''悬摆利斧(Ceiling Pendulum):''CR 3;机械;定时型触发器;自动复位;攻击+15近战攻击(1d12+8/x3,巨斧);搜索DC 15;解除装置DC 27。市场价格:14,100金币。

''火焰陷阱(Fire Trap):''CR 3;法术;法术型触发器;无法复位;法术效果(火焰陷阱,3级德鲁伊,1d4+3火伤害,DC13反射豁免减半伤害);搜索DC 27;解除装置DC 27。成本:需要85金币雇佣NPC施法者。

''延时绝望术陷阱(Extended Bane Trap):''CR 3;魔法装置;接近型触发器(侦测善良);自动复位;法术效果(经法术延时的绝望术,3级牧师,DC 13意志豁免,通过则无效);搜索DC 27;解除装置DC 27。成本:3,500金币,280 XP。

''食尸鬼之触陷阱(Ghoul Touch Trap):''CR 3;魔法装置;接触型触发器;自动复位;法术效果(食尸鬼之触,3级法师,DC 13强韧豁免,通过则无效);搜索DC 27;解除装置DC 27。成本:3,000金币,240 XP。

''针雨陷阱(Hail of Needles):''CR 3;机械;位置型触发器;手动复位;攻击+20远程攻击(2d4);搜索DC 22;解除装置DC 22。市场价格:5,400金币。

''强酸箭陷阱(Acid Arrow Trap):''CR 3;魔法装置;接近型触发器(警报术);自动复位;攻击+2远程接触攻击;法术效果(强酸箭,3级法师,每轮2d4酸伤害,持续两轮);搜索DC 27;接触装置DC 27。成本:3,000金币,240 XP。

''陷坑陷阱(Pit Trap):''CR 3;机械;位置型触发器;手动复位;DC 20反射豁免可避开;60尺深(6d6伤害,跌落);搜索DC 20;接触装置DC 20。市场价格:3,000金币。

''毒箭陷阱(Poisoned Arrow Trap):''CR 3;机械;接触型触发器;手动复位;锁开关(开锁DC 30);攻击+12远程攻击(1d8加毒,箭);毒(大型变种蝎毒,DC 14强韧豁免抵抗,1d4体质/1d4体质);搜索DC 19;解除装置DC 15。市场价格:2,900金币。

''刺坑陷阱(Spiked Pit Trap):''CR 3;机械;位置型触发器;手动复位;DC 20反射豁免可避开;20尺深(2d6伤害,跌落);多重目标(两个邻近5尺方格内各自的第一个目标);陷坑钉刺(攻击+10近战攻击,每个目标受到1d4根钉刺攻击,每根钉刺造成1d4+2伤害);搜索DC 21;解除装置DC 20。市场价格:3,600金币。

''天花板落石(Stone Blocks from Ceiling):''CR 3;机械;位置型触发器;修复复位;攻击+10近战攻击(4d6伤害,石块);搜索DC 25,解除装置DC 20。市场价格:5,400金币。

!!!!CR 4陷阱
''降咒陷阱(Bestow Curse Trap):''CR 4;魔法装置;接触型触发器(侦测混乱);自动复位;法术效果(降咒,5级牧师,DC 14意志豁免,通过则无效);搜索DC 28;解除装置DC 28。成本:8,000金币,640 XP。

''伪装陷坑陷阱(Camouflaged Pit Trap):''CR 4;机械;位置型触发器;手动复位;DC20反射豁免可避开;40尺深(4d6伤害,跌落);多重目标(两个邻近5尺方格内各自的第一个目标);搜索DC 25;解除装置DC 17。市场价格:6,800金币。

''坍塌石柱(Collapsing Column):''CR 4;机械;接触型触发器(附加);无法复位;攻击+15近战攻击(6d6伤害,石块);搜索DC 20;解除装置DC 24。市场价格:8,800金币。

''守卫结界[爆裂刻文](Glyph of Warding [Blast]):''CR 4;法术;法术型触发器;无法复位;法术效果(守卫结界[爆裂刻文],5级牧师,2d8酸伤害,DC 14反射豁免减半伤害);多重目标(5尺内的所有目标);搜索DC 28;解除装置DC 28。成本:需要350金币雇佣NPC施法者。

''闪电术陷阱(Lightning Bolt Trap):''CR 4;魔法装置;接近型触发器(警报术);自动复位;法术效果(闪电术,5级法师,5d6电伤害,DC 14反射豁免减半伤害);搜索DC 28;解除装置DC 28。成本:7,500金币,600 XP。

''陷坑陷阱(Pit Trap):C''R 4;机械;位置型触发器;手动复位;DC 20反射豁免可避开;80尺深(8d6伤害,跌落);搜索DC 20;解除装置DC 20。市场价格:4,000金币。

''毒镖陷阱(Poisoned Dart Trap):''CR 4;机械;位置型触发器;手动复位;攻击+15远程攻击(1d4+4加毒,飞镖);多重目标(10x10尺区域内每个目标一发飞镖);毒(小型变种蜈蚣毒,DC 10强韧豁免抵抗,1d2敏捷/1d2敏捷);搜索DC 21;解除装置DC 22。市场价格:12,090金币。

''蛇纹法印陷阱(Sepia Snake Sigil Trap):''CR 4;法术;法术型触发器;无法复位;法术效果(蛇纹法印,5级法师;DC 14反射豁免,通过则无效);搜索DC 28;解除装置DC 28。成本:需要650金币雇佣NPC施法者。

''刺坑陷阱(Spiked Pit Trap):''CR 4;机械;位置型触发器;自动复位;DC 20反射豁免可避开;60尺深(6d6伤害,跌落);陷坑钉刺(攻击+10近战攻击,每个目标受到1d4根钉刺攻击,每根钉刺造成1d4+2伤害);搜索DC 20;解除装置DC 20。市场价格:4,000金币。

''镰墙陷阱(Wall Scythe Trap):''CR 4;机械;位置型触发器;自动复位;攻击+20近战攻击(2d4+8/x4,巨镰);搜索DC 21;解除装置DC 18。市场价格:17,200金币。

''充水房间陷阱(Water-Filled Room Trap):''CR 4;机械;位置型触发器;自动复位;多重目标(在10x10尺房间内的所有目标);永不落空;延迟发动(5轮);液体;搜索DC 17;解除装置DC 23。市场价格:11,200金币。

''宽口刺坑陷阱(Wide-Mouth Spiked Pit Trap):''CR 4;机械;位置型触发器;手动复位;DC 20反射豁免可避开;20尺深(2d6伤害,跌落);多重目标(两个邻近5尺方格内各自的第一个目标);陷坑钉刺(攻击+10近战攻击,每个目标受到1d4根钉刺攻击,每根钉刺造成1d4+2伤害);搜索DC 18;解除装置DC 25。市场价格:7,200金币。

!!!!CR 5陷阱
''伪装陷坑陷阱(Camouflaged Pit Trap):''CR 5;机械;位置型触发器;手动复位;DC 20反射豁免可避开;50尺深(5d6伤害,跌落);多重目标(两个邻近5尺方格内各自的第一个目标)。搜索DC 25;解除装置DC 17。市场价格:8,500金币。

''涂有接触毒素的门把手(Doorknob Smeared with Contact Poison):''CR 5;接触;接触型触发器(附加);手动复位;毒(耐萨瑞毒,DC 13强韧豁免抵抗,0/3d6体质);搜索DC 25;解除装置DC 19。市场价格:9,650金币。

''落石陷阱(Falling Block Trap):''CR 5;机械;位置型触发器;手动复位;攻击+15近战攻击(6d6);多重目标(能击中2个指定邻近方格内的所有人物);搜索DC 20;解除装置DC 25。市场价格:15,000金币。

''火焰陷阱(Fire Trap):''CR 5;法术;法术型触发器;无法复位;法术效果(火焰陷阱,7级法师,1d4+7火伤害,DC 16反射豁免减半伤害);搜索DC 29;解除装置DC 29。成本:需要305金币雇佣NPC施法者。

''火球陷阱(Fireball Trap):''CR 5;魔法装置;接触型触发器;自动复位;法术效果(火球术,8级法师,8d6火伤害,DC 14反射豁免减半伤害);搜索DC 28;解除装置DC 28。成本:12,000金币,960 XP。

''灌水房间陷阱(Flooding Room Trap):''CR 5;机械;接近型触发器;自动复位;不需攻击投骰(见后说明);搜索DC 20;解除装置DC 25。说明:房间将在4轮内被灌满。市场价格:17,500金币。

''飞镖齐射(Fusillade of Darts):''CR 5;机械;位置型触发器;手动复位;攻击+18远程攻击(1d4+1,飞镖);多重目标(对10x10尺范围内的每个目标发射1d8枚飞镖);搜索DC 19;解除装置DC 25。市场价格:18,000金币。

''可动刽子手雕像(Moving Executioner Statue):''CR 5;机械;位置型触发器;自动复位;隐藏开关(搜索DC 25);攻击+16近战攻击(1d12+8/x3,巨斧);多重目标(多臂攻击);搜索DC 25;解除装置DC 18。市场价格:22,500金币。

''魅影杀手陷阱(Phantasmal Killer Trap):''CR 5;魔法装置;接近型触发器(覆盖整间房间的警报术);自动复位;法术效果(魅影杀手,7级法师,DC 16意志豁免通过则不相信,另外DC 16强韧豁免通过则部分效果);搜索DC 29;解除装置DC 29。成本:14,000金币,1,120 XP。

''陷坑陷阱(Pit Trap):''CR 5;机械;位置型触发器;手动复位;DC 20反射豁免可避开;100尺深(10d6,跌落);搜索DC 20;解除装置DC 20。市场价格:5,000金币。

''毒刺墙(Poison Wall Spikes):''CR 5;机械;位置型触发器;手动复位;攻击+16近战攻击(1d8+4加毒,钉刺);多重目标(两个邻近5尺方格内各自最靠近的目标);毒(中型变种蜘蛛毒,DC 12强韧豁免抵抗,1d4力量/1d4力量);搜索DC 17;解除装置DC 21。市场价格:12,650金币。

''刺坑陷阱(Spiked Pit Trap):''CR 5;机械;位置型触发器;手动复位;DC 20反射豁免可避开;40尺深(4d6伤害,跌落);多重目标(两个邻近5尺方格内各自的第一个目标);陷坑钉刺(攻击+10近战攻击,每个目标受到1d4根钉刺攻击,每根钉刺造成1d4+4伤害);搜索DC 21;解除装置DC 20。市场价格:13,500金币。

''刺坑陷阱(80尺深)(Spiked Pit Trap (80 Ft. Deep)):''CR 5;机械;位置型触发器;手动复位;DC 20反射豁免可避开;80尺深(8d6伤害,跌落);陷坑钉刺(攻击+10近战攻击,每个目标受到1d4根钉刺攻击,每根钉刺造成1d4+5伤害);搜索DC 20;解除装置DC 20。市场价格:5,000金币。

''魔地尘毒气陷阱(Ungol Dust Vapor Trap):''CR 5;机械;手动复位;气体;多重目标(10x10尺房间内的所有目标);永不落空;延迟发动(2轮);毒(魔地尘,DC 15强韧豁免抵抗,1魅力/1d6魅力加1魅力吸取);搜索DC 20;解除装置DC 16。市场价格:9,000金币。

!!!!CR 6陷阱
''易塌墙(Built-to-Collapse Wall):''CR 6;机械;接近型触发器;无法复位;攻击+20近战攻击(8d6,石块);多重目标(在10x10尺区域内的所有目标);搜索DC 14;解除装置DC 16。市场价格:15,000金币。

''挤压房(Compacting Room):''CR 6;机械;定时型触发器:自动复位;隐藏开关(搜索DC 25);墙会移动到一起(12d6,碾压);多重目标(在10x10尺房间内的所有目标);永不落空;延迟发动(4轮);搜索DC 20;解除装置DC 22。市场价格:25,200金币。

''焰击术陷阱(Flame Strike Trap):''CR 6;魔法装置;接近型触发器(侦测魔法);自动复位;法术效果(焰击术,9级牧师,9d6火伤害,DC 17反射豁免可减半伤害);搜索DC 30;解除装置DC 30。成本:22,750金币,1,820 XP。

''飞矛齐射(Fusillade of Spears):''CR 6;机械;接近型触发器;修复复位;攻击+21远程攻击(1d8,矛);多重目标(10x10尺区域内每个目标受到1d6支矛的攻击);搜索DC 26;解除装置DC 20。市场价格:31,200金币。

''守卫结界[爆裂刻文](Glyph of Warding [Blast]):''CR 6;法术;法术型触发器;无法复位;法术效果(守卫结界[爆裂刻文],16级牧师,8d8声波伤害,DC14反射豁免减半伤害);多重目标(5尺内的所有目标);搜索DC28;解除装置DC28。成本:需要680金币雇佣NPC施法者。

''闪电术陷阱(Lightning Bolt Trap):''CR 6;魔法装置;接近型触发器(警报术);自动复位;法术效果(闪电术,10级法师,10d6电伤害,DC14反射豁免减半伤害);搜索DC28;解除装置DC28。成本:15,000金币,1,200 XP。

''天花板落钉板(Spiked Blocks from Ceiling):''CR 6;机械;位置型触发器;修复复位;攻击+20近战攻击(6d6,钉刺);多重目标(10x10尺区域内所有目标);搜索DC 24;解除装置DC 20。市场价格:21,600金币。

''刺坑陷阱(100尺深)(Spiked Pit Trap (100 Ft. Deep)):''CR 6;机械;位置型触发器;手动复位;DC 20反射豁免可避开;100尺深(10d6,跌落);陷坑钉刺(攻击+10近战攻击,每个目标受到1d4根钉刺攻击,每根钉刺造成1d4+5伤害);搜索DC 20;解除装置DC 20。市场价格:6,000金币。

''旋转毒刃(Whirling Poison Blades):''CR 6;机械;定时型触发器;自动复位;隐藏锁开关(搜索DC 25,开锁DC 30);攻击+10近战攻击(1d4+4/19-20加毒,匕首);毒(紫虫毒,DC 24强韧豁免抵抗,1d6力量/2d6力量);多重目标(预先选定三个方格,每个方格内一个目标);搜索DC 20;解除装置DC 20。市场价格:30,200金币。

''宽口陷坑陷阱(Wide-Mouth Pit Trap):''CR 6;机械;位置型触发器;手动复位;DC 25反射豁免可避开;40尺深(4d6,跌落);多重目标(10x10尺区域内所有目标);搜索DC 26;解除装置DC 25。市场价格:28,200金币。

''翼龙毒箭陷阱(Wyvern Arrow Trap):''CR 6;机械;接近型触发器;手动复位;攻击+14远程攻击(1d8加毒,箭);毒(翼龙毒,DC 17强韧豁免可抵抗,2d6体质/2d6体质);搜索DC 20;解除装置DC 16。市场价格:17,400金币。

!!!!CR 7陷阱
''酸雾术陷阱(Acid Fog Trap):''CR 7;魔法装置;接近型触发器(警报术);自动复位;法术效果(酸雾术,11级法师,每轮2d6酸伤害,持续11轮);搜索DC 31;解除装置DC 31。成本:33,000金币,2,640 XP。

''剑刃障壁陷阱(Blade Barrier Trap):''CR 7;魔法装置;接近型触发器(警报术);自动复位;法术效果(剑刃障壁,11级牧师,11d6挥砍伤害,DC 19反射豁免可减半伤害);搜索DC 31;解除装置DC 31。成本:33,000金币,2,640 XP。

''焦引熏烟毒气陷阱(Burnt Othur Vapor Trap):''CR 7;机械;位置型触发器;修复复位;毒气;多重目标(10x10尺房间内所有目标);永不落空;延迟发动(3轮);毒(焦引熏烟,DC 18强韧豁免可抵抗,1点体质吸取/3d6体质);搜索DC 21;解除装置DC 21。市场价格:17,500金币。

''连环闪电陷阱(Chain Lightning Trap):''CR 7;魔法装置;接近型触发器(警报术);自动复位;法术效果(连环闪电,11级法师,最靠近触发器区域中心的目标受到11d6电伤害,接下来至多11个目标受到5d6电伤害,DC 19反射豁免可减半伤害);搜索DC 31;解除装置DC 31。成本:33,000金币,2,640 XP。

''黑触手陷阱(Black Tentacles Trap):''CR 7,魔法装置;接近型触发器(警报术);无法复位;法术效果(黑触手,7级法师,1d4+7触手,攻击+7近战攻击[1d6+4,触手]);多重目标(两个临近方格内的每个目标至多受到6条触手攻击);搜索DC 29;解除装置DC 29。成本:1,400金币,112 XP。

''绿血油毒镖齐射(Fusillade of Greenblood Oil Darts):''CR 7;机械;位置型触发器;手动复位;攻击+18远程攻击(1d4+1加毒,飞镖);毒(绿血油,DC 13强韧豁免可抵抗,1体质/1d2体质);多重目标(10x10尺区域内每个目标受到1d8飞镖攻击);搜索DC 25;解除装置DC 25。市场价格:33,000金币。

''龙胆汁涂抹的锁(Lock Covered in Dragon Bile):''CR 7;机械;接触型触发器(附加的);无法复位;毒(龙胆汁,DC 26强韧豁免可抵抗,3d6力量/0);搜索DC 27,解除装置DC 16。市场价格:11,300金币。

''六级召唤怪物术陷阱(Summon Monster VI Trap):''CR 7;魔法装置;接近型触发器(警报术);无法复位;法术效果(六级召唤怪物术,11级法师);搜索DC 31;接触装置DC 31。成本:3,300金币,264 XP。

''充水房间(Water-Filled Room);''CR7;机械;位置型触发器;手动复位;多重目标(在10x10尺房间内的所有目标);永不落空;延迟发动(3轮);液体;搜索DC 20;解除装置DC 25。市场价格:21,000金币。

''高度伪装陷坑陷阱(Well-Camouflaged Pit Trap):''CR 7;机械;位置型触发器;修复复位;DC25反射豁免可避开;70尺深度(7d6伤害,跌落);多重目标(两个邻近5尺方格内各自的第一个目标);搜索DC 27;解除装置DC 18。市场价格:24,500金币。

!!!!CR 8陷阱
''死刃镰墙(Deathblade Wall Scythe):''CR 8;机械;接触型触发器;手动复位;攻击+16近战攻击(2d4+8加毒,巨镰);毒(死刃夜露,DC 20强韧豁免可抵抗,1d6体质/2d6体质);搜索DC 24;解除装置DC 19。市场价格:31,400金币。

''灰飞烟灭陷阱(Destruction Trap):''CR 8;魔法装置;接触型触发器(警报术);自动复位;法术效果(灰飞烟灭,13级牧师,DC 20强韧豁免,通过也要受到10d6伤害);搜索DC 32;解除装置DC 32。成本:45,500金币,3,640 XP。

''地震术陷阱(Earthquake Trap):''CR 8;魔法装置;接近型触发器(警报术);自动复位;法术效果(地震术,13级牧师,65尺半径,DC 15或20反射豁免,依赖于所处地形)。搜索DC 32;解除装置DC 32。成本:45,500金币,3,640 XP。

''狂雾毒气陷阱(Insanity Mist Vapor Trap):''CR 8;机械;位置型触发器;修复复位;毒气;永不落空;延迟发动(1轮);毒(狂雾,DC 15强韧豁免可抵抗,1d4感知/2d6感知);多重目标(10x10尺房间内所有目标);搜索DC 25;解除装置DC 20。市场价格:23,900金币。

''强酸箭陷阱(Acid Arrow Trap):''CR 8;魔法装置;视觉型触发器(真知术);自动复位;多重陷阱(两道同时击发的强酸箭陷阱);攻击+9远程接触攻击和攻击+9远程接触攻击;法术效果(强酸箭,18级法师,每轮2d4酸伤害,持续7轮);搜索DC 27;接触装置DC 27。成本:83,500金币,4,680 XP。注意:这道陷阱实际上是两道同时击发的CR 6强酸箭陷阱,它们使用同一套触发器和复位系统。

''律令震慑陷阱(Power Word Stun Trap):''CR 8;魔法装置;接触型触发器;无法复位;法术效果(律令震慑,13级法师);搜索DC 32;解除装置DC 32。成本:4,550金币,364 XP。

''虹光喷射陷阱(Prismatic Spray Trap):''CR 8;魔法装置;接近型触发器(警报术);自动复位;法术效果(虹光喷射,13级法师,根据效果不同进行DC 20反射、强韧或意志豁免);搜索DC 32;解除装置DC 32。成本:45,500金币,3,640 XP。

''反重力陷阱(Reverse Gravity Trap):''CR8;魔法装置;接近型触发器(警报术,10尺区域);自动复位;法术效果(反重力,13级法师,6d6跌落伤害[向上摔在60尺高的房间天花板上],之后6d6跌落伤害[法术结束时从60尺高度跌落到地板上],DC 20反射豁免可避开伤害);搜索DC 32;解除装置DC 32。成本:45,500金币,3,640 XP。

''高度伪装陷坑陷阱(Well-Camouflaged Pit Trap):''CR 8;机械;位置型触发器;修复复位;DC20反射豁免可避开;100尺深度(10d6伤害,跌落);搜索DC 27;解除装置DC 18。市场价格:16,000金币。

''混沌真言陷阱(Word of Chaos Trap):''CR 8;魔法装置:接近型触发器(侦测秩序);自动复位;法术效果(混沌真言,13级牧师);搜索DC 32;解除装置DC 32。成本:46,000金币,3,680 XP。

!!!!CR 9陷阱
''涂有接触毒素的抽屉把手(Drawer Handle Smeared with Contact Poison):''CR 9;接触;接触型触发器(附加);手动复位;毒(黑莲花萃取液,DC 20强韧豁免可抵抗,3d6体质/3d6体质);搜索DC 18;解除装置DC 26。市场价格:21,600金币。

''掉落的天花板(Dropping Ceiling):''CR 9;机械;位置型触发器;修复复位;天花板向下移动(12d6,碾压);多重目标(10x10尺房间内所有目标);永不落空;延迟发动(1轮);搜索DC 20;解除装置DC 16。市场价格:12,600金币。

''焚云术陷阱(Incendiary Cloud Trap):''CR 9;魔法装置:接近型触发器(警报术);自动复位;法术效果(焚云术,15级法师,每轮4d6火伤害,持续15轮,DC 22反射豁免可减半伤害);搜索DC 33;解除装置DC 33。成本:60,000金币,4,800 XP。

''宽口陷坑陷阱(Wide-Mouth Pit Trap):''CR 9;机械;位置型触发器;手动复位;DC 25反射豁免可避开;100尺深(10d6,跌落);多重目标(10x10尺区域内所有目标);搜索DC 25;解除装置DC 25。市场价格:40,500金币。

''宽口毒刺陷坑陷阱(Wide-Mouth Spiked Pit with Poisoned Spikes):''CR 9;机械;位置型触发器;手动复位;隐藏锁开关(搜索DC 25,开锁DC 30);DC 20反射豁免可避开;70尺深(7d6,跌落);多重目标(10x10尺区域内所有目标);陷坑钉刺(攻击+10近战攻击,每个目标受到1d4根钉刺攻击,每根钉刺造成1d4+5加毒伤害);毒(巨型黄蜂毒,DC 14强韧豁免可抵抗,1d6敏捷/1d6敏捷);搜索DC 20;解除装置DC 20。市场价格:11,910金币。

!!!!CR 10陷阱
''碾压房(Crushing Room):''CR 10;机械;位置型触发器;自动复位;墙会移动到一起(16d6,碾压);多重目标(10x10尺房间内所有目标);永不落空;延迟发动(2轮);搜索DC 22;解除装置DC 20。市场价格:29,000金币。

''碾压墙陷阱(Crushing Wall Trap):''CR 10;机械;位置型触发器;自动复位;无需攻击投骰(18d6,碾压);搜索DC 20;解除装置DC 25。市场价格:25,000金币。

''吸能术陷阱(Energy Drain Trap):''CR 10;魔法装置;视觉型触发器(真知术);自动复位;攻击+8远程接触攻击;法术效果(吸能术,17级法师,24小时内2d4负向等级,DC 23强韧豁免通过则无效);搜索DC 34;解除装置DC 34。成本:124,000金币,7,920 XP。

''力场监牢和七级召唤怪物术陷阱(Forcecage and Summon Monster VII trap):''CR 10;魔法装置;接近型触发器(警报术);自动复位;多重陷阱(一道力场监牢陷阱和一道召唤一只哈玛魔(hamatula)的七级召唤怪物术陷阱);法术效果(力场监牢,13级法师),法术效果(七级召唤怪物术,13级法师,哈玛魔);搜索DC 32;解除装置DC 32。成本:241,000金币,7,280 XP。注意:该陷阱实际上是由一道创造力场监牢的CR 8陷阱和第二道在同一区域召唤一只哈玛魔的CR 8陷阱组成。如果两道陷阱都成功了,那么哈玛魔出现在力场监牢内部。这些效果是彼此独立的。

''毒刺陷坑陷阱(Poisoned Spiked Pit Trap):''CR 10;机械;位置型触发器;手动复位;隐藏锁开关(搜索DC 25,开锁DC 30);DC 20反射豁免可避开;50尺深(5d6,跌落);多重目标(两个邻近5尺方格内各自的第一个目标);陷坑钉刺(攻击+10近战攻击,每个目标受到1d4根钉刺攻击,每根钉刺造成1d4+5加毒伤害);毒(紫虫毒,DC 24强韧豁免可抵抗,1d6力量/2d6力量);搜索DC 16;解除装置DC 25。市场价格:19,700金币。

''女妖之嚎陷阱(Wail of the Banshee Trap):''CR 10;魔法装置;接近型触发器(警报术);自动复位;法术效果(女妖之嚎,17级法师,DC 23强韧豁免通过则无效);多重目标(至多17个生物);搜索DC 34;解除装置DC 34。成本:76,500金币,6,120 XP。

!!!设计陷阱

''机械陷阱:''只需选择你希望该陷阱所具有的要素,并将这些要素的陷阱CR修正(见表:机械陷阱挑战等级修正)加上去得到陷阱最终的CR。从该CR可以得出要制造该陷阱所必须达到的手艺(陷阱制造)(Craft (trapmaking))DC。

''魔法陷阱:''和机械陷阱一样,除了决定你想要的陷阱要素和决定陷阱CR(见表:魔法陷阱挑战等级修正)之外的不需要作其他事情。如果玩家人物想设计制造一个魔法陷阱,他必须具有制造专长。另外,他必须有能力施展该陷阱所需的所有魔法,如果做不到,那么他必须雇一个NPC来为他施展那些法术。

!!!!陷阱的挑战等级
要计算陷阱的挑战等级,将所有的CR修正(见后表)加在根据陷阱类型而定的基础CR上。

''机械陷阱:''机械陷阱的基础CR是0。如果你的最终CR为0或更低,那么给陷阱添加特性直到最终CR达到1或者更高。

''魔法陷阱:''对于法术陷阱或者魔法装置陷阱来说,其基础CR为1。所用法术中最高等级法术会影响CR(见表:魔法陷阱挑战等级修正)。

''平均伤害:''如果一个陷阱(机械或者魔法)能造成生命值伤害,那么计算一次成功命中所能造成的平均伤害,并将其舍入成最接近的7的倍数。用这个值来调整陷阱的挑战等级,见后表中的说明。毒和陷坑钉刺造成的伤害不记入该值,但是高力量值带来的伤害和多重攻击所造成的额外伤害要记入平均伤害。

对于魔法陷阱来说,只能有一种修正能影响其CR--该陷阱使用最高等级法术的法术等级或者平均伤害值,取其高者。

''多重陷阱:''如果一个陷阱实际上是两个或更多个影响相同区域的相互联系的陷阱,单独计算它们的CR。

//多重互相依赖的陷阱://如果一个陷阱取决于其他陷阱的成功(即如果你没有被第一道陷阱伤害你就可以完全避开第二道陷阱),那么必须将它们视为分开的陷阱。

//多重不互相依赖的陷阱://如果两个或者更多的陷阱独立运作(即没有需要其他陷阱成功才能触发的陷阱),那么和怪物一样,使用它们的CR来计算联合后的遭遇等级(Encounter Level)。最终的遭遇等级就是联合陷阱的挑战等级。

''表:机械陷阱挑战等级修正''

|!	特性	|!		|!	挑战等级修正	|!		|
|^	搜索DC	|^		|^		|^		|
|^	15或更低	|^		|^	-1	|^		|
|^	25-29	|^		|^	+1	|^		|
|^	30或更高	|^		|^	+2	|^		|
|^	解除装置DC	|^		|^		|^		|
|^	15或更低	|^		|^	-1	|^		|
|^	25-29	|^		|^	+1	|^		|
|^	30或更高	|^		|^	+2	|^		|
|^	反射豁免DC(陷坑或其他基于豁免的陷阱)	|^		|^		|^		|
|^	15或更低	|^		|^	-1	|^		|
|^	16-24	|^		|^	-	|^		|
|^	25-29	|^		|^	+1	|^		|
|^	30或更高	|^		|^	+2	|^		|
|^	攻击加值(近战或远程攻击型陷阱)	|^		|^		|^		|
|^	+0或更低	|^		|^	-2	|^		|
|^	1到+5	|^		|^	-1	|^		|
|^	+6到+14	|^		|^	-	|^		|
|^	+15到+19	|^		|^	+1	|^		|
|^	+20到+24	|^		|^	+2	|^		|
|^	伤害/效果t	|^		|^		|^		|
|^	平均伤害	|^		|^	每7点伤害+1*	|^		|
|^	杂项特性	|^		|^		|^		|
|^	炼金术装置	|^		|^	所模拟法术的等级	|^		|
|^	液体	|^		|^	+5	|^		|
|^	多重目标	|^		|^	+1(如果是永不落空则为0)	|^		|
|^	延迟发动1轮	|^		|^	+3	|^		|
|^	延迟发动2轮	|^		|^	+2	|^		|
|^	延迟发动3轮	|^		|^	+1	|^		|
|^	延迟发动4轮或更长时间	|^		|^	-1	|^		|
|^	毒	|^		|^	毒的CR(见后)	|^		|
|^	黑蛇毒(Black adder venom)	|^	+1	|^	大型蝎子毒(Large scorpion venom)	|^	+3	|
|^	黑莲花萃取液(Black lotus extract)	|^	+8	|^	烈赤根糊(Malyss root paste)	|^	+3	|
|^	血根草(Bloodroot)	|^	+1	|^	中型蜘蛛毒(Medium spider venom)	|^	+2	|
|^	青嘶泣(Blue whinnis)	|^	+1	|^	耐萨瑞毒(Nitharit)	|^	+4	|
|^	焦引熏烟(Burnt othur fumes)	|^	+6	|^	紫虫毒(Purple worm poison)	|^	+4	|
|^	死刃夜露(Deathblade)	|^	+5	|^	幻叶余烬(Sassone leaf residue)	|^	+3	|
|^	龙胆汁(Dragon bile)	|^	+6	|^	暗菁华露(Shadow essence)	|^	+3	|
|^	巨型黄蜂毒(Giant wasp poison)	|^	+3	|^	小蜈蚣毒(Small centipede poison)	|^	+1	|
|^	绿血油(Greenblood oil)	|^	+1	|^	贴内根(Terinav root)	|^	+5	|
|^	狂雾(Insanity mist)	|^	+4	|^	魔地尘(Ungol dust)	|^	+3	|
|^	翼龙毒(Wyvern poison)	|^	+5	|^		|^		|
|^	陷坑钉刺	|^		|^	+1	|^		|
|^	接触攻击	|^		|^	+1	|^		|
|^	*按最接近的7的倍数计算(当平均值正好在两个倍数中间时按较高的数字计算)。	|<|<|<|

 

表:魔法陷阱挑战等级修正

|!	特性	|!	挑战等级修正	|
|^	最高等级法术	|^	+法术等级或者每轮内每造成7点平均伤害+1*	|
|^	*见表:机械陷阱挑战等级修正的注释。	|<|

!!!!机械陷阱成本
机械陷阱的基础成本为1000金币。将所有陷阱附加特性的成本修正(表:机械陷阱成本修正)加起来来决定陷阱的修正后基础成本。

最终成本等于修正后基础成本乘以挑战等级再加上额外成本。机械陷阱的最低价格为挑战等级x100金币。

在将修正后基础成本乘以挑战等级后,再将任何陷阱内的炼金术物品或毒物价格加上去。如果陷阱使用了这类要素,并且陷阱还具备自动复位,那么要将毒物或炼金术物品的价格乘以20以确保陷阱有足够的供应量。

''多重陷阱:''如果陷阱是两个或者多个互相联系的陷阱,那么分别计算它们的成本并最终加起来。这种计算方法对于多重互相依赖的陷阱或者多重不互相依赖的陷阱都是适用的(见之前的部分)。

''表:机械陷阱成本修正''

|!	特性	|!	成本修正	|
|^	触发器类型	|^		|
|^	位置型	|^	-	|
|^	接近型	|^	+1,000金币	|
|^	接触型	|^	-	|
|^	接触型(附加的)	|^	-100金币	|
|^	定时型	|^	+1,000金币	|
|^	复位类型	|^		|
|^	无法复位	|^	-500金币	|
|^	修复	|^	-200金币	|
|^	手动	|^	-	|
|^	自动	|^	+500金币(如果陷阱是定时型触发器则为0)	|
|^	开关类型 	|^		|
|^	锁	|^	+100金币(开锁DC30)	|
|^	隐藏开关	|^	+200金币(搜索DC25)	|
|^	隐藏锁	|^	+300金币(开锁DC30,搜索DC25)	|
|^	搜索DC	|^		|
|^	19或更低	|^	-100金币 x (20 - DC)	|
|^	20	|^	-	|
|^	21或更高	|^	+200金币 x (DC - 20)	|
|^	解除装置DC	|^		|
|^	19或更低	|^	-100金币 x (20 - DC)	|
|^	20	|^	-	|
|^	21或更高	|^	+200金币 x (DC - 20)	|
|^	反射豁免DC(陷坑或其他基于豁免的陷阱)	|^		|
|^	19或更低	|^	-100金币 x (20 - DC)	|
|^	20	|^	-	|
|^	21或更高	|^	+300金币 x (DC - 20)	|
|^	攻击加值(近战或远程攻击型陷阱)	|^		|
|^	+9或更低	|^	-100金币 x (10 - 加值)	|
|^	+10	|^	-	|
|^	+11或更高	|^	+200金币 x (加值 - 10)	|
|^	伤害加值	|^		|
|^	较高的力量值(远程攻击型陷阱)	|^	+100金币 x 加值 (加值最多 +4)	|
|^	较高的力量加值(近战攻击型陷阱)	|^	+100金币 x 加值 (加值最多 +8)	|
|^	杂项	|^		|
|^	永不落空	|^	+1,000金币	|
|^	毒	|^	毒的成本*	|
|^	炼金术物品	|^	物品成本*	|
|^	*如果该陷阱有自动复位特性,那么费用乘以20。	|<|


!!!!魔法装置陷阱成本
建造一个魔法装置陷阱需要在支付金币的同时支付经验值点数,还需要一个施法者的服务。表:魔法装置陷阱成本修正总结了魔法装置陷阱的成本说明。如果该陷阱使用了不止一个法术(例如在主要法术效果之外增加了声响型或视觉型触发器),建造者必须为所有这些法术支付成本(除了警报术(alarm),这是免费的法术,不过必须要由一个NPC来施放,见后说明)。

表:魔法装置陷阱成本修正给出的成本是假设建造者自己来施放那些必要的法术(或者有某些其他玩家来免费施放法术)。如果必须雇用一名NPC施法者来施放法术,那么该因素必须计入。

制造魔法装置陷阱需要每500金币成本1天的时间。

''表:魔法装置陷阱成本修正''

|!	特性	|!	成本修正	|
|^	在触发器上使用警报术	|^	-	|
|^	一次性陷阱	|^		|
|^	每个所使用的法术	|^	+50金币 x 施法者等级 x 法术等级, +4 XP x施法者等级 x 法术等级	|
|^	材料成分	|^	+ 所有材料成分的成本	|
|^	经验值成分	|^	+ 经验值成分总数 x 5金币	|
|^	自动复位陷阱	|^		|
|^	每个所使用的法术	|^	+500金币 x 施法者等级 x 法术等级, +40 XP x施法者等级 x 法术等级	|
|^	材料成分	|^	+ 所有材料成分的成本 x 100金币	|
|^	经验值成分	|^	+ 经验值成分总数 x 500金币	|


!!!!法术陷阱成本
只有在建造者必须雇用NPC来施放该法术时法术陷阱才有成本。

 

!!!!制造机械陷阱的DC
陷阱的CR决定了手艺(陷阱制造)的DC,两者之间的关系见下表和之后给出的修正。

|!	陷阱CR	|!	手艺(陷阱制造)的基础DC	|
|^	1-3	|^	20	|
|^	4-6	|^	25	|
|^	7-10	|^	30	|


|!	附加成分	|!	手艺(陷阱制造)DC的修正	|
|^	接近型触发器	|^	+5	|
|^	自动复位	|^	+5	|

''作检定:''要决定陷阱制造者的进程,该制造者每周都需要作一次手艺(陷阱制造)检定。手艺检定和能影响检定的环境因素详见手艺技能说明。




!! 巡林客的法术

!!! 巡林客的1级法术
<<list-links "[tag[巡林客1]]+[sort[title]]>>

!!! 巡林客的2级法术
<<list-links "[tag[巡林客2]]+[sort[title]]>>

!!! 巡林客的3级法术
<<list-links "[tag[巡林客3]]+[sort[title]]>>

!!! 巡林客的4级法术
<<list-links "[tag[巡林客4]]+[sort[title]]>>
!! 地下城
!!! 地下城类型

根据其目前使用状况,地下城可以分为4种基本类型。很多地下城由基本类型变化而成,有的则是多种类型的结合体。一些年代久远的地下城被一批又一批的不同住民作为不同的目的重复使用。

''废弃的建筑:''被建造者废弃的建筑(部分或是完全废弃) 会被其他生物占据。许多地底生物会寻找荒废的地下建筑来作为巢穴。许多陷阱已被触发,到处都可以看到游荡的野兽。

''使用中的建筑:''这种类型的地下城仍在被使用。一些生物 (通常是智慧生物) 居住其中,虽然它们可能并不是地下城的建造者。使用中的建筑可能作为巢穴,要塞,神殿,矿坑,监狱或是指挥所使用。这里的陷阱和游荡的野兽可能比其他地下城要少,更常见是有组织的守卫和巡逻队伍。即使遭遇陷阱或野兽,它们也通常从属于地下城的主人。使用中的建筑里放置着适于居住者使用的家具和一些装饰及补给品。同时建筑也被改造成适合居住者的样式(居住生物可以打开的门,大小足够其通过的通道等等 )。居住者在建筑中安装了用来交流的通讯系统,而且它们也确实掌握了外部入口的控制权。

一些地下城可能一部分被占用,另一部分闲置或是废弃。这些地下城中的居住者一般不会是原来的建造者,而是一群将废弃建筑改造为其基地,巢穴或是要塞的智慧生物。

''安全贮藏室:''如果人们想要保护某些物品,他们通常的做法就是将其埋藏在地下。无论他们想要保护的东西是价值连城的财产,被封禁的神器还是伟人遗体,它们都无一例外地被安置在地下城深处,四周布满着障碍物,陷阱和守卫。

在安全贮藏室类型的地下城中,最常见的就是陷阱,但是很难见到野兽。这种地下城非常重视实用价值,但是有时也会有一些雕像和壁画之类的装饰品。这一点在重要人物的陵墓中特别明显。

一些金库或是陵墓中会有活的守卫存在。这种情况下一定有一些方法可以使居住其中的守卫存活。用魔法供给水与食物是最常见的解决办法。即使贮藏室内的环境无法使生物存活,一些特别的生物仍然可以担任守卫角色。金库或是陵墓的建造者经常在建筑中布置不死生物和构装生物,它们不需要休息,也不需要食物和饮水。另外魔法陷阱也能召唤生物来对抗入侵者。这些守卫同样也不需要补给,只在需要它们的时候出现,在任务完成后回到它们原来的地方。

''天然岩洞:''地底岩洞给许多地下生物提供了巢穴。它们自然生成并通往迷宫般的网状地道,由于不是人工建造,所以岩洞没有固定的样式和规律,也没有任何装饰物。这种地下城没有智慧生物居住,也没有陷阱或是门窗。

各种真菌在岩洞中生长茂盛,有时甚至形成巨大的蘑菇森林。地下肉食动物通常在这些森林中游荡,寻找那些以菌类为食的生物充饥。有些菌类能发出磷光,能给岩洞提供少许光亮。昼明术(daylight)或是其他类似法术也能提供给绿色植物足够生长的光源。

天然岩洞往往通向其他种类地下城的入口,因为有些人造地下城就是在这些岩洞的内部建造的。一个天然岩洞有时会分别连接2个地下城,造成奇特的混合景观。与其他地下城连接的岩洞往往成为地下生物向人造地下城移居的路线。

!!地下城地形
!!! 墙

有的地城围墙是由经过加工的石块堆积起来(大多数都用灰泥粉刷表面)的,靠其围成走廊与房间。有的地下城石墙是用锤斧凿刻而成,表面粗糙,棱角分明。还有一些表面较为光滑的围墙,采用自然岩洞中的岩石制成。地城围墙通常难以破坏和穿越,但是它们大多易于攀爬。

''表:墙''

|!	墙的类型	|!	一般厚度	|!	破坏 DC	|!	硬度	|!	HP^^1^^	|!	攀爬DC	|	|
|^	砌石墙(Masonry)	|^	1 尺	|^	35	|^	8	|^	90 hp	|^	20	|	|
|^	精砌石墙(Superior masonry)	|^	1 尺	|^	35	|^	8	|^	90 hp	|^	25	|	|
|^	加固砌石墙(Reinforced masonry)	|^	1 尺	|^	45	|^	8	|^	180 hp	|^	15	|	|
|^	凿切石墙(Hewn stone)	|^	3 尺	|^	50	|^	8	|^	540 hp	|^	25	|	|
|^	天然石墙(Unworked stone)	|^	5 尺	|^	65	|^	8	|^	900 hp	|^	15	|	|
|^	铁墙(Iron)	|^	3 英寸	|^	30	|^	10	|^	90 hp	|^	25	|	|
|^	纸墙(Paper)	|^	纸的厚度	|^	1	|^	-	|^	1 hp	|^	30	|	|
|^	木墙(Wood)	|^	6 英寸	|^	20	|^	5	|^	60 hp	|^	21	|	|
|^	经魔法处理 ^^2^^	|^	-	|^	+20	|^	×2	|^	×2^^3^^	|^	-	|	|
|^	1 //单位为10尺见方的面积。//	|<|<|<|<|<|
|^	2 //该修正适用于所有墙壁。	//|<|<|<|<|<|
|^	3 //如果本身hp低于50则改为在原来的基础上加上50hp。//	|<|<|<|<|<|


''砌石墙:''最常见的地城墙壁类型,砌石墙通常厚度超过1尺。墙面上经常可以发现因地质运动而产生的裂缝,危险的黏土和一些小型怪兽有时会在这种区域活动与觅食。除了巨大的噪声外,砌石墙几乎可以隔绝任何事物。在墙面上爬行需要通过DC 20的攀爬检定。

''精砌石墙:''精心建造的砌石墙(比一般砌石墙更平,砖石排列更加紧密且裂缝较少)外表通常用石灰粉刷。粉刷过的墙上经常会有壁画,雕刻或是其他装饰物。精砌石墙并不比普通砌石墙更为结实,但比普通砌石墙更难以攀爬(DC 25)。

''凿切石墙:''这种石墙一般存在于岩洞房间和走廊与外界连接的隧道中。粗糙的墙面上充满了裂缝与细小的露台,使这里成为菌类,蝙蝠,地下蛇等等生物的繁衍地。即使石墙的两面都有房间,墙壁的厚度也不会低于3尺;如果太薄会有坍塌的风险,攀爬该石墙需通过DC 25的攀爬检定。

''天然石墙:''这种墙墙面凹凸不平。虽然摸上去比较平坦,但是它的上面布满了小孔和难以发现的凹洞,墙面上还有许多长短不一的露台。因为岩洞内自然潮湿,所以墙面上经常会有小水滴。即使石墙的两面都有房间,墙壁的厚度也不会低于5尺;攀爬该石墙需通过DC 15的攀爬检定。

!!!!特殊墙壁

''强化石墙:''在外壁或是内部安装铁条进行加固的砌石墙。它的硬度和普通的砌石墙相同,但是hp翻倍,破坏DC加10。

''铁墙:''铁墙被安装在地城内最重要的部分,例如避难所。

''纸墙:''纸墙和铁墙大不相同,它除了作为屏风阻挡视线外起不到其他任何作用。

''木墙:''原始的地城很少有木墙,它们大部分都是后来者建造的。木墙用来做动物围栏,储藏库,或是将大房间隔成数个小间。

''经魔法处理的墙:''这些墙壁比普通墙结实得多,它们拥有更高的硬度,更多的hp,以及更高的破坏DC。魔法能将墙壁的硬度和hp加倍,并且使破坏DC增加20。经魔法处理过的墙壁在被法术作用时拥有豁免掷骰,豁免加值为2+ 1.5*施展法术的施法者等级。制造魔法墙需要施法者拥有制造奇物专长,另外每作用10尺见方的墙壁需要耗费1,500gp。

带箭孔的墙:带箭孔的墙一般由石砖,粗削石或是木头筑成。防御者可以躲在安全的墙后向来犯之敌发射致命的箭矢。墙后的弓箭手拥有非常好的掩蔽,墙壁给予他们的AC+8,反射检定+4的加值,同时在撤退时他们也拥有更多的便利。


!!! 地面

象墙一样,地城的地板也可以分成许多类型。

''石板地:''象砌石墙一样,石板地由加工过的石块铺设而成。地板的表面满布的裂缝经常成为黏土和霉菌的栖身之处。有时会有水流囤积在地板的凹槽中。石板地在地城中非常常见。

''凹凸不平的石板地:''时间的侵蚀会使地面变得凹凸不平,在这样的地面上奔跑或是冲刺需要通过 DC 10 的平衡检定。失败的角色在该轮无法移动。象这样不便于行动的地面非常少见,属于特例。

''凿切地面:''粗糙不平的地面上经常会覆盖着一些小石块,泥垢和沙砾等细小杂物。在这样的地面上奔跑或是冲刺需要通过 DC 10 的平衡检定。即使检定失败,该轮角色仍然可以移动,但是无法进行冲刺或是奔跑。

''稀疏的碎石地:''地面上有一些小型碎石。在这样的地面上平衡和翻滚DC+2。

''密集的碎石地:''地面上覆盖着大小不一的碎石。在这样的地面上移动速度减半。平衡和翻滚检定DC+5,且潜行检定DC+2。

''光滑地面:''地板上没有明显凹凸不平的痕迹,有的甚至经过打磨,这种地板只有在精心建造或是拥有勤快主人的地城中才能见到。

''天然岩洞石地:''岩洞的地面和它的墙壁一样凹凸不平,很难见到有大面积的平坦表面。确切地说,地面高度差相当大。有时2块相邻地面的高度差只有1尺,所以从落脚处跨到另外一处并不比在阶梯上行走更加困难,但地面高度经常会急转直下或是陡然增高数尺,在这样的地面间穿行需要进行攀爬检定,除非在两处间有显而易见的道路连通。在天然岩洞石地上行走速度为正常速度的一半,平衡和翻滚检定的DC要增加5。除非沿着道路,否则这种地形上无法奔跑和冲刺。

!!!!特殊地面

''湿滑地面:''水渍,结冰,黏土或是血迹会使地面变得更加难以行动。湿滑地面使平衡和翻滚检定的DC+5。

''地面栅栏:''它们用来覆盖地板上通往下层的入口。地面栅栏通常用钢铁制造,但有的大型地面栅栏是用镶铁木料制成的。多数地面栅栏装有铰链,可以自由开合(当然它们也可以象门一样上锁),有的则只是用来封锁出口。最常见的1英寸厚的铁地面栅栏拥有25hp,硬度10,破坏DC为27。

''露台:''角色可以利用它们下到地城深处。露台经常环绕着地下的深坑存在,或者处于深处的潜流上方,有的露台象是巨大房间外的阳台,有的可以为弓箭手提供落脚之处,以便向下面的敌人射击。在狭窄的露台(宽度低于或等于12英寸)上行走需要进行平衡检定。检定失败则从露台上坠下。有的露台上面安装有栏杆。这种情况下人物在平衡检定上拥有+5的环境加值。如果遭到冲撞,栏杆旁边的人物在进行力量对抗检定时拥有+2的环境加值。

露台的边缘有时会建造有2到3尺高的矮墙。只要被攻击者比进攻者更加靠近矮墙且进攻者与矮墙的距离不超过30尺,则在对付来自另一边的攻击时,矮墙能给予被攻击者掩蔽的保护。

''透明地面:''透明地面采用强化玻璃或是魔法原料制成(如力墙术(wall of force)),即使对面有危险的事物,也可以透过地面安全地观察。透明地面通常建造在熔岩池,竞技场,怪物巢穴或是行刑室之上。它们也可以用来观察关键地区是否有入侵者。

''活门:''活门是一种机关门,它被设计成能够自行滑动,展现出通往地下的通道。活门通常滑动缓慢,所以站在上面的人不会掉入活门滑动所造成的空洞中。有时活门也能作为陷阱使用。这时它的滑动速度非常快,站在上面的倒霉蛋通常会掉进到处是尖刺的深坑,燃烧的大桶,或是充满鲨鱼的水池。

''陷阱:''有些地板被设计成危险的陷阱。踩上有陷阱的地板,拉动藏在附近某处的拉杆都有可能触发陷阱--地上忽然刺出长矛,从隐藏的小洞中喷射出高热的蒸汽或火焰,或者整个地板倾斜。这些奇怪的陷阱通常存在于竞技场,目的是使角斗变得更加刺激与致命。角色同样可以自己建造陷阱。



!!! 门

门在地城中不仅仅作为出入口使用。有时其本身就可以成为遭遇事件。

地城的门可以分为3大种类:木门,石门和铁门。

''表:门''

|!		|!		|!		|!		|!	破坏DC	|!		|
|!	门的种类	|!	标准厚度	|!	硬度	|!	HP	|!	卡死	|!	上锁	|
|^	简单的木门	|^	1 英寸	|^	5	|^	10 hp	|^	13	|^	15	|
|^	良好的木门	|^	1-1/2 英寸	|^	5	|^	15 hp	|^	16	|^	18	|
|^	坚固的木门	|^	2 英寸	|^	5	|^	20 hp	|^	23	|^	25	|
|^	石门	|^	4 英寸	|^	8	|^	60 hp	|^	28	|^	28	|
|^	铁门	|^	2 英寸	|^	10	|^	60 hp	|^	28	|^	28	|
|^	吊闸木门	|^	3 英寸	|^	5	|^	30 hp	|^	251	|^	251	|
|^	吊闸铁门	|^	2 英寸	|^	10	|^	60 hp	|^	251	|^	251	|
|^	门锁	|^	-	|^	15	|^	30 hp	|^		|^		|
|^	铰链	|^	-	|^	10	|^	30 hp	|^		|^		|
|^	1 //该数值为抬起吊闸门的DC。破坏时采用其他合适的数值。//	|<|<|<|


''木门:''采用钉装的厚木板制造,有时也会在外部用铁皮包裹进行加固(同时也能防止地城潮湿的水汽腐蚀木门),木门有许多不同的类型。它们分别有着不同的强度:简单,良好与坚固。简单的木门(破坏 DC 13) 对于入侵者来说根本算不上是障碍。良好的木门(破坏DC 16)虽然更加结实耐用,但仍然没有太多的意义。坚固的木门(破坏DC 23) 外表用铁皮包裹,对于侵入者来说是一道难以逾越的障碍。铁制铰链环绕门板并将其固定,一般在中部会有拉环或者铁制门把以方便打开。在有人居住的地城中,这些门通常保养良好(不会卡死) 且不会上锁,当然通往重要区域的门还是会上锁。

''石门:''用坚固的岩石雕凿而成,这些门非常笨重,所以尽管矮人等手艺精湛的工匠能够在其上加装铰链,但大多数石门还是安装更加便于开合的枢轴。要在石墙上安装密门的话,石门是第一选择。由于这些密门通常是为了保护重要物品而装设,所以它们一般都上锁或是被封住。

''铁门:''笨重而容易生锈,地城的铁门和木门一样安装了铰链。铁门是除魔法门外最结实的门。它们通常上锁或是被封住。

''锁,门闩和封印:''地城的门可能因为被上锁,设置陷阱,加固,封住,用魔法封印,或者只是因年久失修而难以打开。除了最瘦弱的角色外,几乎任何人最终都能用重物(如铁锤)将门撞开,此外很多法术效果也能使门更加容易打开。

如果角色想用利器将门砍碎或是用重物把门撞开的话,可以参考上面的表:门。不过打开门最简单的办法并不是把门锤个稀烂,只要把锁,门闩或是铰链破坏,再结实的门也可以轻易推开。

决定破门所须的DC时,可以参考以下几点:

//DC 10或更低://任何人都能撞开的门。

//DC 11-15://强壮的人能一次撞开,普通人可能需要尝试多次但最终都能撞开的门。

//DC 16-20://如果有足够的时间,几乎所有人都能撞开的门。

//DC 21-25://只有强壮和非常强壮的人才有希望撞开,而且很可能要尝试多次才能打开的门。

//DC 26 或更高://只有极为强壮的人才有希望撞开的门。

更详细的例子请参考表:随机门的类型。

''门锁:''地城的门经常是锁上的,所以开锁技能变得非常重要而常用。门锁经常镶嵌在门板内部,一般安装在与铰链相对的边缘或是靠近门中部的位置。内建门锁通常只是一根铁棒,可以卡在门与墙之间,也有可能是可以滑动的铁棒或是厚木棒。相对的,挂锁在门的外部穿过2个铁环,一个安装在门上,而另一个则固定在墙上。更加复杂的锁如结合锁和谜题锁则通常直接安装在门上。因为这些不需要钥匙的锁比较复杂而且体型更大,一般只有在结实的门上才能见到这种锁 (强化木门,石门或是铁门)。

开锁检定DC通常处于20到30之间。有些门可能不止一把锁,要将所有的锁都打开才能真正开门。门锁上经常被安装了机关,最常见的是毒针。

有时将锁破坏比把整个门敲烂更加容易。如果角色想要用武器把门锁破坏,则将大部分锁视为硬度15,生命值30的物品。只有安装在门外的锁才有可能被击破,这意味着有些锁是无法被破坏的。在被生物占据的地下城,每一扇门都会有一把与之对应的钥匙存在。

特殊门(请参考下面的例子)上的锁也许并不需要钥匙,而是要正确操作附近的拉杆或是以一定的顺序按下附有标记的按钮才能打开。

卡死的门:在地下城常年潮湿的环境下,门有时会被卡死,特别是木门。大约10%的木门和 5% 的非木门会卡死。在长期废弃的地下城中这个几率将增加一倍。

''被封住的门:''当角色猛击被封住的门试图打开时,门被打开的难度与其本身的材料无关,而是取决于其封锁条的质量。破坏一扇用木条封锁的门需要通过DC 25 的力量检定,铁条的话DC则为 30。角色也可以只将门本身破坏,只留下撑在门口的封锁条。

''魔法封印:''施加在门上的魔法如秘法锁(arcane lock)能有效地阻绝通道。被施展秘法锁的门不管有没有门锁,都视为上锁的门处理。敲击术(knock),解除魔法(dispel magic)或是一次成功的力量检定都可以打开被魔法封印的门。

''铰链:''大多数门都有铰链。当然,滑动门是没有的。(它们通常用轨道和凹槽来代替活动装置。)

//标准铰链://这种铰链由金属制成,一端固定在门上,而另外一端则连接在门框或是墙上。请记住门是朝安装铰链的一面打开的。(所以如果铰链是在角色这一边,则门是朝他们的方向打开的。) 如果角色通过解除装置检定,则花点时间就可以把铰链拆下来(当然,铰链得在他们这一边)。因为大部分的铰链都生锈或是卡住,所以该动作DC通常达到20。要破坏铰链是相当困难的。它们大多数的硬度为10 并拥有30 hp。铰链的破坏DC与破坏其所在的门相当。

//嵌套铰链://这种铰链机构要比一般铰链复杂,通常在豪华的建筑中才能找到。这种铰链镶嵌在墙壁内,使门可以向任意方向开合。除非将墙壁或是门框打破,否则角色无法拆除铰链。嵌套铰链一般安装在石门上,但有时也会安装在木门或是铁门上。

//门枢://门枢并不属于铰链,只是门上方与底部门框的简单突起,它使门能够旋转。门枢的优点是它不象铰链那样会被拆除,而且制造简单。缺点是因为处于门框中央,所以只能允许门宽度一半大小的生物通过。装有门枢的门往往是石制,而且为了克服缺点通常做得特别宽大。另外一种解决办法是将门枢安装在门板的一侧,使该侧较厚而对侧较薄。这种门可以象普通门一样开合。密门通常使用门枢,没有铰链的设计能使其更难被发现。门枢也方便将密门伪装成书柜等家具。

''密门:''密门通常被伪装成墙面(地板,或是天花板),书架,火炉或是喷泉,它一般通往秘密的过道或是房间。如果有人在密门附近进行检查,通过搜索检定便可发现(普通密门DC 20,伪装良好的密门为DC 30)。精灵只要目光偶然看到密门所在区域便能自动进行检定。

许多密门都需要用特别的方法才能打开,比如一个隐藏的按钮或是压力板。密门可以象普通门一样打开,也可能转开,滑开,下沉,上升或是象吊桥一样升起。建造者可能将密门安装在地板下方,也可能建造于墙壁的上方,让它很难被碰到。法师和术士的法术相位门(phase door)也可以创造出只能供他们自己通过的密门。

''魔法门:''被施法的门可以与冒险者交谈并警告他们离开。魔法也能通过加强门的硬度或是hp值来保护其更难被破坏。同时也能给予门在对抗解离术(disintegrate)或其他类似法术时的豁免检定加值。魔法门可能并不通往门后的区域,而是将人送往远处甚至是另一个存在的位面。还有一些魔法门需要正确的口令或是其他特殊的钥匙才能打开。

''吊闸门:''这种特殊门由铁杆或是厚铁皮包裹的木杆构成,它从拱门上方的凹槽落下。有时吊闸门会加装横杆,形成栅格的形状。它们通常利用绞盘或是起锚机升起,并能快速落下,竖杆底部为尖刺形状,落下时插入地面,可以有效地阻碍入侵者(同时也能防止有人在门落下时从下方冒险经过)。一旦闸门落下便自动上锁,除非闸门重到正常人无法举起。举起一扇吊闸门需要通过DC 25的力量检定。



!!! 墙壁,门与侦测法术

石墙,铁墙和铁门的通常厚到能够阻挡多数侦测类法术,例如侦测思想术(detect thoughts)。木墙,木门和石门则因为太薄而无法做到这点。然而,隐藏在墙上并与墙厚度相当的秘密石门(最少1尺厚) 也可以阻挡大部分侦测法术。



!!! 房间

地下城中有着大小不一的房间。但是大部分都设计简单。楼层之间有阶梯,斜坡或是楼梯连接,同时也有一些雕像,祭坛之类的摆设和陷坑,裂缝,桥梁等地形。

建造于地底的建筑很容易被压垮,特别是大型房间,所以房间内一般会有拱顶和柱子之类的设计以支撑头顶岩石的巨大压力。

地下城的房间一般可以划分为以下几个种类。

''外围房间:''有智慧的社会性地下城居民会将居住处周围的房间划为自己的势力范围,所以它们会对自己势力范围的入口进行警戒。

''住宅:''除游牧民族外的所有种族通常都会拥有可以供自己饮食起居和储藏物品的巢穴。在住宅中能找到床(如果这种生物需要睡觉),财产(无论价值如何),和食品储藏处。同时部落中如少年和老人之类的非战斗人员都通常在此处活动。

''工作区域:''大多数智慧生物的日常生活不只是战斗和吃睡,所以很多房间被作为魔法实验室,武器防具锻造车间或是处理复杂事务的工作室使用。

''神殿:''一些拥有宗教信仰的生物布置了专门的房间来供奉神祗,而没有信仰的种族也许会为了纪念重要历史事件或是人物而设立类似的场所。神殿的规模取决于该种族的财力和虔诚的程度。在神殿中角色最有可能遇到NPC牧师,受伤的怪物也会逃向己方神殿治疗。

''金库:''由于是储藏财宝的重要场所,所以金库总是用铁门锁上并得到周全的保护。金库通常只有一个入口-而且很可能安置了陷阱。

''陵墓:''有的陵墓构造与金库相似,有的则是由一些放置石棺的小房间组成,还有的陵墓构成是一条长廊和分别排列于长廊两边的两排棺材架。

为了防止不死生物逃出,一些陵墓在墓室外部经常会上锁或是设置机关- 这使得陵墓进去容易出来难。另外一些建造者为了防止盗墓者闯入而在陵墓设计上加大了进入的难度。还有的陵墓出于安全考虑,同时采取了以上两种设计方案。


!!! 走廊

所有地下城都有房间,而大部分房间都有通道连通。它们大部分仅仅用来连接各个房间,因为在通道上有时会遇到陷阱,巡逻的守卫或是徘徊觅食的野兽,所以它也很可能成为遭遇事件的发生地。

''通道陷阱:''因为狭窄的通道对机动性有很大的影响,所以地下城的建造者很热中于在通道布置陷阱。在一条狭窄阴暗的过道中入侵者想要发现隐藏的陷坑或是躲开飞箭和落石是非常困难的,翻动地板和巨大的滚石更是让人无处藏身。因为同样的理由,在长廊中设置守卫结界(glyphs of warding)陷阱效果也非常不错。

''迷宫:''通道一般都尽可能地用最简单直接的方式连接各个房间。不过有的变态会在地下城中设计迷宫。这些迷宫很难通过(至少很难快速通过),充满怪兽与陷阱的迷宫更是难以逾越的阻碍。

迷宫可以用来隔绝地下城中的某个受保护的区域。迷宫的另一端往往通向重要的陵墓或是金库--即使是地下城的居民也很少涉足的地方。



!!! 各种特征

''阶梯:''阶梯通常用来连接地下城中的各个楼层。直梯,螺旋梯和楼梯之间的平台都是地下城中常见的事物,象坡道一样(有时斜坡的倾斜度非常小而难以发现;侦察检定DC 15)。阶梯也是非常重要的通路,所以有时会有卫兵把守或是被设下陷阱。这些陷阱往往会使入侵者从阶梯上滚到下面早已准备好的陷坑,尖矛丛,酸液池或是其他危险境地之中。

//缓行梯://斜角小于45度的阶梯并不会影响行动,但是角色在阶梯上攻击地势较低的敌人时在攻击掷骰上可以获得+1的加值。除了螺旋梯外地下城中大多数的阶梯属于缓行梯 (请参考下文)。

//陡梯://角色人物沿着陡梯(倾斜角度不小于45度)向上移动时的速度为正常速度的一半。如果想要从陡梯向下奔跑或是冲刺则必须在起步时进行DC 10 的平衡检定。检定失败的话将从楼梯上滚落至1d2×5 尺的地方。如果角色检定结果比DC小5或是更多的话将在其结束行动的地点摔倒并受到1d6 点正常伤害。陡梯给予翻滚技能检定的DC+5。

//螺旋梯://这种形式的阶梯使防御变得更加容易。角色在面对下方的敌人时可以蹲下并利用楼梯角度获得掩蔽。

//扶手与矮墙://大型房间中的阶梯往往会安装上扶手或是栏杆。它们的作用与露台类似(请参考特殊地面)。

''桥梁:''桥梁跨越房间,河流或是深坑,连接被较低地势所隔开的区域。其中有简单的木板桥,也有镶嵌铁条加固的带护栏石桥。

//窄桥://特别狭窄的桥梁可以视为露台处理,例如火山裂缝上的木板桥(请参考特殊地面)。在窄桥上行走需要进行平衡检定(DC由桥宽决定)。

//索桥://由用绳索连接的一排木板构成,相对而言,索桥比较轻便而且可以轻松地拆除。解开索桥的一端需要进行2个整轮动作,但是如果通过DC 15的绳技技能检定便只需要一个移动动作。如果索桥有一端断掉,那么在桥上的所有人必须通过DC 15的反射检定来避免坠下,然后通过DC 15 的攀爬检定从索桥残余的部分爬上对岸。一般的索桥只有5尺宽。两根绳索的hp都为8。

//吊桥://一些横跨于深沟之上的桥梁被设计成可以自由开合的样式。一般来说,控制开合的绞盘只会安装在桥梁的一端。角色将吊桥放下属于一个移动动作,但吊桥直到该角色下一轮动作开始时才能完全放下。将吊桥拉起则是一个整轮动作;吊桥将在该动作完成后升起。尺寸较大的吊桥拉起和放下所需时间较长,而且可能需要通过力量检定才能转动绞盘。

//护栏与矮墙://作为安全措施,一些桥梁在两侧安装了护栏或矮墙。它们在人物进行平衡检定和对抗冲撞时能够提供环境加值(请参考特殊地面)。同时矮墙还能为桥上的生物提供掩蔽条件。

''斜道与烟囱:''在地下城中,阶梯并不是在上下地层穿行的唯一通道。有时烟囱也能连接地下城的各个楼层或是通向地面。而斜道则经常将角色引往下层的危险境地。

''立柱:''随处可见的立柱支撑着地下城的顶棚。按照以往经验,房间越大,存在立柱的几率越高。而越往下的楼层,其立柱也越粗--因为它们所承受的压力较高层更大。立柱表面通常磨光并有一些浮雕,壁画或是碑铭之类的装饰物。

//细柱://这种柱子直径只有1到2尺,所以它们并不会占据一整格面积。与细柱处于同一格的生物AC得到+2的掩蔽加值和+1的反射检定加值(这些加值无法和其他原因所造成的掩蔽加值叠加)。细柱的存在对人物的战斗并无影响。细柱通常AC为4,硬度8,生命值250。

//粗柱://这种柱子占据一整格面积并使躲在其后的生物得到掩蔽。粗柱通常AC为3,硬度8,生命值900。

大部分立柱的攀爬DC为20以下,而特别光滑的柱子攀爬DC为25。

''石笋与钟乳石:''地板(石笋)或天花板上(钟乳石)天然形成的锥状圆柱。视为细柱处理。

''雕像:''大多数雕像与粗柱一样占据整格面积并提供掩蔽。更小的雕像则类似于细柱。爬上雕像需要通过DC 15的攀爬检定。

''挂毯:''挂毯上有着精细的图案,它们通常被悬挂在走廊和房间中最醒目的墙面上。狡猾的地下城建造者经常利用挂毯来隐藏后面的凹室,密门或是机关控制装置。

挂毯对其后悬挂在天花板上的人物提供完全隐蔽条件(50%失手几率),而对紧贴墙壁站在挂毯后的人物提供隐蔽条件(20%失手几率)。爬上大型挂毯并不算困难,只需要通过 DC 15 的攀爬检定(对于紧贴墙面的挂毯DC仅仅为10)。

''基座:''地下城最具标志性的展览物,从价值连城的宝物到存放著名人物遗体的棺材,一般都会被摆放于基座之上以吸引注意力(而且出于实用角度考虑,放在基座上也可以防止被地面上的水或其他液体浸湿)。基座上一般设置了机关以保护摆放其上的物品。它还可以掩盖其下的密门或提供通往头顶天花板的通道。

只有最大的基座才能占据整个方格,而大多数并不能提供掩蔽。

''水池:''浸入地下城中的水汇集到低处形成水池(干燥的地下城是非常罕见的)。有的是自然形成的地下泉水或是水井,也有人工建造的凹地,蓄水池和喷泉。无论如何,水和水栖生物在地下城中都是非常常见的。由于水池提供地下城居民重要的饮水来源,所以一些掠食动物经常会在水池附近徘徊觅食。

//浅水池://浅水池的深度大约只有1尺左右。在其中移动速度为平时的一半,同时翻滚检定DC +2。

//深水池://深水池的深度超过4尺。中体型和大型生物在其中移动速度为平时的1/4,当然,如果角色愿意的话也能在水池中游泳。小型或更小的生物必须游泳才能通过深水池。在深水池中无法进行翻滚动作。同时深水池能给中型或更大型的生物提供掩蔽。更小的生物得到加强掩蔽(AC+8,反射检定+4 )。中型和更大的生物也可以通过蹲下(移动动作)来获得加强掩蔽。但获得加强掩蔽的生物在攻击岸上的敌对生物时攻击检定有-10 的减值。

深水池通常成片存在,四周边缘围绕着浅水池。不管水池深浅,它们对潜行检定都有-2的环境减值。

//特殊水池://无论成因为何。角色有时会遇到附有魔力的水池或是喷泉,饮水者会受到附着在其上的魔法影响。然而,这些泉水很可能包含诅咒。一般来说,只要魔法池中的水离开魔法池的时间达到一个小时,其附着的魔法力量就会消失。

一些水池内建有喷泉。一般是作为装饰物存在,但有时它们被当作陷阱或是水池中魔法力量的来源。

大多数池子中都是普通的水,但在地下城中万事皆有可能。角色也有可能遇见血池,毒池,油池或是岩浆池。即使看上去和一般水池没什么两样的池子,里面装的也可能是圣水,盐水或是某种致病液体。

''升降梯:''作为阶梯的替代物,升降机可以让地下城的居民在各个楼层中间穿行。这些升降梯可能是机械装置(由齿轮,滑轮与绞盘构成)或魔法装置(如被施展了浮空术(levitate)的平台)。机械升降梯也许只是一个小型平台,每次只能供一名乘客乘坐,有时整个房间都被作为客舱使用。手艺娴熟的建造者可以设计出升降平稳甚至很难察觉,或是乘客感觉是在升降,但实际上纹丝不动的升降梯。

升降梯上升或下降的速度一般为每轮10尺,在操作人员行动轮开始时启动(如果不管有没有人操纵它都能运作,那么视其先攻为0)。升降梯上可能安装有轨道或是矮墙,也有可能只是一块简陋的悬浮木板。

''梯子:''不管如何摆放,攀爬梯子的DC为0。

''活动石与活动墙:''这种装置可以封锁入口,将敌人逼入死角,或是阻断他们逃跑的道路。活动墙则可以将探索者逼上危险的道路或是防止他们发现秘密区域。但并不是所有的活动墙都安装有陷阱。比如,压力板,平衡装置或是秘密杠杆所控制的活动墙可能会展示出一条通往上层密室或是隐秘露台的阶梯。

活动石与活动墙的结构和陷阱类似,搜索与解除装置技能检定对它们同样适用。活动石与活动墙并不具备CR值,它们虽然很令人头痛,但其本身并不致命。

''传送门:''传送门是便利的通道,但它们也能成为间接的杀人工具。它们能将角色传送到地下城的其他地点或是遥远的某处 (如同传送法阵(teleportation circle))。传送门可以作为陷阱,将粗心的角色置于危险的境地,也有的只是为了方便建造者逼开陷阱和障碍或是更加快捷地到达某处而设计。阴险的地下城设计者可能将角色传送到一个与之前一模一样的房间,使之毫无察觉。侦测魔法可以提示角色传送门的存在,但只有亲身经历才能得知传送门到底通向何方。

''祭坛:''邪恶神祗的祭坛往往建造在地下神殿中。它们经常用一整块岩石雕刻而成,是神殿的主要设施与中心。有时神殿的其他设施会腐朽,被偷走,遗失或是老化,但祭坛依然长存。大多数祭坛占据1到2格并对躲藏其后的生物提供掩蔽。

!!!!坍塌(CR 8)

坍塌的隧道是非常危险的。冒险者不仅需要面对头顶砸下的数吨岩石,而且就算他们大难不死,也很可能被岩石掩埋或是被截断出路。坍塌会将处于塌陷区中央的生物掩埋,然后其产生的岩石碎片将滑向外围区域。一条普通的走廊如果坍塌将产生大约15尺半径的掩埋区并在其外围扩散出10尺半径的滑落区。发现一处濒临塌陷的天花板需要通过DC 20 的知识(建筑与工程学) 或DC 20的手艺检定(石工)。请记住手艺检定未受训也可使用,如同一个智力检定一样。矮人角色只需靠近濒临塌陷的天花板至10尺的距离便可自动进行检定。

濒临塌陷的天花板如果受到猛烈撞击或是震动就有可能坍塌。如果角色将室内超过半数的柱子打断也有可能引起坍塌。

坍塌时处于掩埋区的角色将受到8d6点伤害,如通过DC 15的反射检定则伤害减半。随后他们则被掩埋。处于滑落区的角色将受到3d6点伤害,如通过DC 15的反射检定则伤害减半。未通过检定的角色将被掩埋。

被掩埋的角色每分钟受到1d6点非致命伤害。如果该角色失去意识,则他必须进行DC 15的体质检定。失败则每分钟受到1d6点正常伤害,直到被救出或是死亡。

未被掩埋的角色可以尝试将同伴从石堆下挖出来。每分钟角色徒手清除的石块与碎片相当于其负重上限的5倍。而每5尺见方面积的石块重量相当于1吨(2,000 磅)。如使用适当装备如镐头、撬棒,或是铲子的话,每分钟可以清除的石块数目相当于徒手清除的2倍。被掩埋者如果通过DC 25的力量检定也可以自己挣脱出来。

!!!!黏土,霉菌与真菌

地下城阴暗潮湿的环境使得霉菌与真菌生长茂盛。它们有些是危险的生物,但大部分对人无害。对法术或是其他特殊效果而言,所有黏土,霉菌与真菌都属于植物。如陷阱一般,危险的黏土与霉菌有CR值,而消灭它们的人物可以得到经验值。

反光的有机黏土会沾在生长地地潮湿且终年难见天日的东西上。这种黏土虽然令人恶心,但却是无害的。

霉菌与真菌生长于阴冷潮湿的环境。其中一些和普通的有机黏土一样对人类不会造成威胁,但其他的可能相当危险。蘑菇,菌类,酵母,霉菌,各种块根,纤维和菌斑在地下城中随处可见。它们通常无害,有些甚至可以食用(尽管大多数味道并不可口)。

''绿色黏怪(Green Slime,CR 4):''黏土的危险变种。绿色黏怪能消化肌肉与有机物,甚至溶解金属。它的外表呈亮绿色,湿润粘滑,通常附着于墙,地面与天花板上消化食物。当它觉察到下方有生物活动时,则从附着点落下。

5尺见方的绿色黏怪每轮造成1d6的暂时体质伤害。在刚刚接触的一轮,黏怪可以被从身体上刮下(经常会损坏刮擦器具),但是之后必须以冻结,烧焦或是切断的方式杀死(同时会伤害被黏着者)。能造成寒冷,火焰伤害的物品,日光照射,移除疾病(remove disease)杀死绿色黏怪。绿色黏怪每轮可以对木质和金属制品造成2d6 的伤害,并无视金属的硬度。其对岩石不能造成伤害。

''黄色霉菌(Yellow Mold,R 6):''如果被惊扰,这种霉菌会喷射出雾状的有毒孢子。距霉菌10尺内的生物必须进行DC 15 的强韧检定,失败则受到1d6 点暂时体质伤害。即使通过前一次检定,在1分种后都要再做一次DC 15 强韧检定-失败则受到2d6点暂时体质伤害。火焰能烧毁黄色霉菌,阳光照射则能使其休眠。

''棕色霉菌(Brown Mold,CR 2):''棕色霉菌吸收周围的热量并以之为食。它们通常以5 尺直径为一群丛生,30尺半径内的温度明显偏低。靠近至5尺内的生物将受到3d6 点寒冷非致命伤害。如果有火源接近至其5尺以内,棕色霉菌的体积将迅速膨胀1倍。寒冷伤害,如寒冰锥,可以将其立即毁灭。

''磷光菌(Phosphorescent Fungus,无 CR):''这种奇怪的地下菌类往往成片生长,看起来就象矮小的灌木丛。卓尔精灵采集它们作为食物和照明。它发出紫色的柔和光芒,象天然蜡烛一样照亮洞穴和通道。一些稀有的品种发出的光芒和火炬相当。


!! 野外
!!! 迷路

在野外探险时,冒险者经常会迷路。顺着明显的道路,车辙,或者是象小溪和海岸线之类的地理标记也许能够避免迷路。但是当冒险者来到某个陌生的地区时往往会迷失方向,在低可见度或者地形复杂的环境下尤其如此。

''低可见度:''角色角色在最多只能看到60尺远的距离时很可能搞不清方向——在浓雾,大雪,或者倾盆大雨中行军时可能连相隔很近的陆标都看不到。同样,他们在夜晚行军时也可能如此,这要视冒险者所携带的照明器具的优劣,月光亮度和队伍中是否拥有黑暗视觉/昏暗视觉的角色来进行判定。

''复杂的地形:''当冒险者在穿越森林,沼地,丘陵或者高山时,一旦其偏离了象车辙,道路,河流或者其他显著的陆标,那么他们就有迷路的可能。特别是在森林中,冒险者可能因为树木的遮掩而看不到远处的陆标,同时他们也很难根据太阳和星星来辨别方向。

''随机迷路:''如果队伍在有可能迷路的地形下行军,领队必须进行一次生存检定,如果失败,那么角色将会迷路。难度根据地形,可见度以及冒险者是否拥有当地地图进行调整。查询下面的表格并且使用最高的DC。

|!		|!	生存 DC	|!		|!	生存 DC	|
|^	沼地或丘陵,有地图	|^	6	|^	低能见度	|^	12	|
|^	高山,有地图	|^	8	|^	高山 无地图	|^	12	|
|^	沼地或丘陵,无地图	|^	10	|^	森林	|^	15	|

如果角色在队伍行进地区拥有级数至少为5的知识(地理)或者知识(当地), 那么他在检定中可以拥有+2的加值。

至少每小时进行一次检定来判断陆上行动的队伍是否迷路,如果队伍是集体行动的话,只有领队进行检定。

''迷路的后果:''迷路的队伍将无法保证他们是行进在预期的方向。陆上行军的队伍每行军一个小时随机决定一次行进方向,行进的方向是持续随机的,除非队伍无意中发现了陆标或者他们意识到自己已经迷路并努力恢复行军方向。

//发现迷路://每随机行军一个小时,队伍中每个角色可以尝试一次生存检定(DC 20,每随机行军1小时-1)成功后可发现队伍已经可能不是朝预定的方向行进,在某些环境下角色可以更清楚地认识到自己已经迷路。

//设定新的路线://一支迷路的队伍无法确定自己应该往哪边走才能到达目的地,一旦队伍迷路,决定正确的行进方向需要通过一次DC15的生存检定。(每随机行进一小时+2)如果检定失败,则随机指定一个方向继续行进。

一旦队伍顺着他们新的路线行进,不管路线正确与否,他们仍旧有可能再次迷路。如果行军的环境仍然有迷路的可能,那么每小时参照上文发现迷路中的描述再次进行检定,以此决定队伍是照新的路线持续行军还是转向新的随机方向。

//对于前进方向的冲突://也许一些角色在迷路后会努力寻找正确的前进方向,为每一名角色进行秘密检定一次,告诉检定成功的角色正确的方向。对于未通过检定的角色,告诉他们一个随机方向,并说这就是正确的方向。 

''恢复你的行军方向:''有很多办法可以让你重新找到正确的道路,第一,角色成功地设定了一条正确的路线并且顺着它前往目的地。第二,角色随机行军时撞见了一处无法混淆的陆标。第三,环境改善,譬如浓雾消散,或者太阳升起,迷路的角色可以根据上文尝试设定新的路线,并在生存检定中拥有+4的加值。另外,魔法也能够帮助队伍更轻松地找到方向。

!!! 森林

森林地形可以分为三个种类:稀疏的,中等密度的,浓密的。一片巨大的森林也许含有以上三种地形,从稀疏的边界开始一直到中央的密林。

下面的这个表格描述了常见丛林大致的地形构造。

''森林地形特征''

|!		|!	---- 地形种类----	|<|<|
|!|!稀疏的	|!中等密度的	|!浓密的	|
|^	普通的树木	|^	50%	|^	70%	|^	80%	|
|^	高大的树木	|^	-	|^	10%	|^	20%	|
|^	稀疏的下层植物	|^	50%	|^	70%	|^	50%	|
|^	茂密的下层植物	|^	-	|^	20%	|^	50%	|


''树木:''显然,森林中最主要的构成元素就是树木。站在树木同一格的生物拥有+2AC和+1的反射检定加值 (这些加值无法与其他掩蔽加值叠加)。树木的存在并不影响该生物的战斗,因为我们之前已经假设生物尽可能地利用了掩蔽的优势。普通树木的躯干AC 4,硬度 5,生命值150。爬上一棵树需要DC 15的攀爬。中等密度的树林和密林会有一些高大的树木。这些树占一格位置并给予躲在树后面生物全掩蔽。它们AC 3,硬度5,生命值600。象它们的小型副本一样,它的攀爬难度也是15。

''下层植物:''藤蔓,树根和矮树丛覆盖了大部分的森林地面。在覆盖了稀疏下层植物的地面上穿行速度为正常速度的1/2,同时它也能够提供掩蔽。因为树叶和数枝的缘故,在稀疏的下层植物中翻滚和潜行判定DC需要做+2的修正。在覆盖了浓密下层植物的地面上穿行速度为正常速度的1/4,它们能够给予对方30%的失手几率而不是通常的20%,在浓密的下层植物中翻滚和潜行判定DC+5。你也可以轻松地隐藏在浓密的下层植物中,在角色使用躲藏技能时允许给予+5的环境加值。在下层植物中角色无法奔跑或者是冲刺,因为它们是成片生长的。下层植物和树木经常长在一起,无法分开。通常在5尺的范围内同时生长着树木和下层植物。

''森林的顶部构造:''精灵和其他的森林居民通常居住在离地面很高的平台上。这些木制平台一般由绳索制成的桥梁互相连接。为了到达树屋,角色通常需要从树枝上爬上去(攀爬 DC 15),使用绳梯 (攀爬DC 0),或者使用滑轮升降梯 (每轮做一次力量检定来决定上升高度。此动作为整轮动作)。地面上的生物攻击树枝或者平台上的生物时对方受到掩蔽保护。在中等密度树林和密林的平台上作战所得到的掩蔽是同等的。

''其他森林地形构成:''平躺在地面的圆木直径一般为3尺。其起到的掩蔽作用与矮墙同等,跨越它相当于移动5尺。林中小溪一般为5到10尺宽,最多5尺深。很多森林中都会有一些小路,在路上队伍能够正常地行军,但是小路不能提供任何隐蔽或掩蔽。在密林中,林间小路不是那么常见。但即使是未经开垦的森林也偶尔能遇到一些人际罕至的小径。

''森林中的秘密行动和侦察任务:''在稀疏的树林中,侦察技能所能侦测到的最远距离是3d6×10尺。中等树林中,这个距离只有2d8×10尺,而在密林中仅有2d6×10尺。

因为有些地面植物能够提供掩蔽,所以一个生物可以很轻松地隐藏在森林中。圆木和高大的树木也能提供掩蔽,所以同样能够利用它们进行躲藏。

森林中四处传来的各种声音会使聆听变得更加困难,距离每增加10尺DC+2,而不是1。(但是请注意,在地面植物间潜行也是很困难的。) 

!!!!森林火灾(CR 6)

通常野营篝火的火星并不会造成太大的困扰,但如果空气干燥,风力很强,或者周围的树木很容易燃烧的话,就有可能引发森林火灾。雷击也经常使树木着火造成火灾。不论火灾的原因为何,冒险者们都有可能被卷入危险。如果冒险者细心观察(使用侦察技能)的话,在2d6×100尺的距离外就能够发现森林大火,可以将大火视为超巨型体型生物来处理(降低DC到16)。如果所有的角色都没有发现大火的话,火势将蔓延到距队伍更加近的距离。当大火燃烧到原始距离的一半时,角色将自动发现。

即使是失明的角色在靠近到大火100尺的距离时,他也能通过感受到的温度得知火势当前(视为自动使用侦察技能)。

火灾的蔓延速度(顺风方向) 借助风力能够超过人类的奔跑速度(中等强度的风视为每轮前进120尺)。即使范围内的树木全部着火,在明火熄灭前仍然将持续燃烧 2d4×10 分钟。被大火追上的角色只能看着火势将自己包围。

身陷大火时,角色必须要面临3大危险:高温灼伤,身体起火和吸入有毒浓烟。

''高温灼伤:''再也没有比身处森林大火之中更加糟糕的事了,即使是暴露在极度高温中也不值一提(请参考热害)。呼吸空气会造成角色角色1d6点伤害(无豁免)。此外,角色必须每5轮进行一次强韧检定(DC 15,每增加一次检定再+1),失败则受到1d4的非致命伤害。角色屏住呼吸可以避免吸入有害气体造成伤害,但是无法避免非致命伤害。穿着厚重衣物或者身着盔甲的角色在进行豁免检定时将受到-4的惩罚。而且着金属制盔甲或者身体与金属制品有接触的角色将视为受到灼热金属(heat metal)法术影响。

''身体起火:''如果角色被卷入火中,那么他将要面临身体起火的危险。(请参考着火)。

''吸入有毒浓烟:''森林大火会制造出大量浓烟。吸入浓烟的角色必须每轮进行一次强韧判定(DC 15,每增加一次检定再+1),检定失败则整轮咳嗽不止。连续两轮检定失败的角色将受到1d6的非致命伤害。同时,浓烟能够影响视线,给身处浓烟中的生物提供遮掩。

!!! 沼泽

沼泽地形可以分为两类:相对干燥的沼地与湿润的泥沼。它们一般都靠近湖泊存在(请参考下文水域地形)。

下面的表格描叙了沼泽地形的大概特征。

''沼泽地形特征''

|!		|!	- 地形种类 -	|<|
|!|!沼地	|!泥沼	|
|^	浅沼泽地	|^	20%	|^	40%	|
|^	深沼泽地	|^	5%	|^	20%	|
|^	稀疏的地面植物	|^	30%	|^	20%	|
|^	茂密的地面植物	|^	10%	|^	20%	|

''沼泽:''浅沼泽地布满了松软的淤泥和大约1尺深的死水。在浅沼泽地上移动的速度相当于正常速度的1/2,相应的,角色在做翻滚检定时DC也需要作+2的修正。

深沼泽地同样到处是淤泥,淤泥上是大约4尺深的死水。中型或者大型生物需要耗费4格的移动时间来在沼泽移动,如果愿意的话,角色也可以在深沼泽地中游泳。小型或者体型更小的生物则必须游泳才能通过沼泽。在深沼泽地中无法进行翻滚动作。

沼泽中的污水能够给予大型或者中型生物以掩蔽的条件。而更小的生物能得到更多的掩蔽(AC+8,反射检定+4)。中型或者更大型的生物在沼泽地蹲伏行进的话也能获得同样的好处。但是这样做的话,攻击没有在沼泽中的敌人要承受-10的减值。

深沼泽地通常成片存在,并且在其边缘环绕着不规则形状的浅沼泽地。

在深或者浅沼泽地中潜行时DC+2。

''沼泽植物:''矮树丛,灯心草,或者生长在沼泽边上的其他植物,它们对生物的影响与森林中的下层植物是一样的 (请参考上文)。沼泽表面上不会有沼泽植物生长。

''流沙:''流沙有一副坚实地面的外表(看起来象是地面植物或者是开阔地),粗心者一不小心就会陷入其中。当探险者用正常的速度接近一片流沙时,他可以作一次DC 8的生存检定来避开危险,如果他正在进行奔跑或者是冲刺,那么在冲进流沙之前都他没有机会发现危险。一块典型的流沙地拥有20尺的半径;能将正在奔跑或是冲刺的人物陷入1d2×5尺的深处。

//流沙地的影响://陷入流沙地的角色如果只进行踩水动作保持不沉的话,必须每轮进行一次DC 10的游泳检定,或者进行一次DC 15的游泳检定来向其指定的方向移动5尺。如果一名陷入流沙的角色检定结果低于DC 5或者更多的话,他将沉入地面以下而不能呼吸,最终可能窒息而死(请参考游泳技能中的描述)。

沉入流沙中的角色也可以尝试游回地面,这需要成功通过一次游泳检定(DC 15,沉入地面开始每轮+1)。

//营救://将一名陷入流沙的冒险者拖出来是很困难的。一名营救者首先需要树枝,矛杆,绳子或者是其他类似的工具才能尝试挽救队友的生命。然后他需要进行一次DC 15的力量检定来把受害人拖出危险境地,而困在流沙中的角色必须通过一次DC 10的力量检定才能牢牢抓住杆子。如果检定失败,他必须马上进行一次DC 15的游泳检定使自己留在地面。如果前2项检定都成功的话,受害人将被往安全地区拉近5尺的距离。

''灌木丛:''在沼泽地区,灌木丛通常都杂乱地生长在石头缝,泥地或者是多刺的矮树丛中。狭窄的灌木丛可以视为矮墙,跨越它相当于在平地上移动15尺。而宽阔的灌木丛至少有5尺高,并且占据一整格面积。它们可以象墙一样提供完全的掩蔽。通过1格宽阔的灌木丛相当于在平地移动20尺,如果生物在穿越时通过了DC 10的攀爬检定,那么他只需耗费10尺移动距离便可通过。

''其他沼泽地形构成:''有一些沼泽,特别是泥沼象森林一样生长着树木,它们经常成堆地分布在沼泽的各处。如果顺着小路走的话可以避开沼泽地。和在森林一样,在路上队伍能够正常地行军,但是小路不能提供任何遮盖和掩蔽。

''沼泽中的秘密行动和侦察任务:''在沼地中,侦察技能所能侦测到的最远距离是6d6×10尺。在泥沼中这个距离只有2d8×10尺。

沼泽植物和淤泥能够提供充足的掩蔽,所以在沼泽中生物可以轻松的藏起来。

沼泽对于角色的听觉并没有影响,但是不管是在沼泽植物或是泥泞中,想要安静地移动都非常困难。

!!! 丘陵

大多数其他地形中都可能有一座丘陵,但是丘陵也可以成为主要地形。丘陵地形可以分为2个种类:平缓丘陵和崎岖丘陵。丘陵通常出现在平坦地形和崎岖地势之间的过渡地区:比如平原和高山之间。

''丘陵地形特征''

|!		|!	--地形种类--	|<|
|!|!平缓丘陵	|!崎岖丘陵	|
|^	缓坡	|^	75%	|^	40%	|
|^	陡坡	|^	20%	|^	50%	|
|^	悬崖	|^	5%	|^	10%	|
|^	稀疏的地面植物	|^	15%	|^	15%	|

''缓坡:''缓坡倾斜的角度并不影响行动,但是角色角色在近战中面对地势较低的敌人时可以获得+1的加值。

''陡坡:''角色角色在上坡顶(移动到临近较高地势的方格)时速度相当于水平移动的1/2。而冲刺或者奔跑下坡底(移动到临近较低地势的方格)时必须通过DC 10的平衡检定。骑乘生物的角色则进行DC 10的骑术检定。如果检定失败,角色则失去平衡并在移动方向上跌跌撞撞至1d2×5尺远处才可停下。如果检定结果低于DC 5或更多的话,角色将在结束移动的位置跌倒。在陡坡上翻滚DC需要做+2的修正。

''悬崖:''悬崖通常有1d4×10 尺高,角色需要通过DC 15的攀爬判定才能爬上去。悬崖并不是完全垂直的,高度低于30尺的悬崖占据5格,高于30尺的占10格。

''稀疏的地面植物:''丘陵地面通常生长着山艾树和其他地面植物,但是它们并不会象森林或者沼泽的地面植物那样将覆盖整个地面。稀疏的地面植物可以提供一定的掩蔽条件,同时在树丛中进行翻滚或者潜行DC需要做+2的修正。

''其他山地地形构成元素:''山地地形当然少不了树木,此外,山谷中还经常可以看到奔流的溪水(5至10尺宽,最多5尺深) 或者是干涸的河床(可视为壕沟,5至10尺宽)。如果你在地形中加入了溪水或者是河床,请记住山地的较低部分可能会被河水淹没。

山地地形的秘密行动和侦察任务:在大多数的山地地形,侦察技能所能侦测到的最远距离是6d6×10尺。在山岳中这个距离只有2d6×10尺。

想要在山上很好的把自己隐藏起来并不是一件很简单的事,因为四周并没有太多地面植物可供躲藏。但是对于处于山下的生物,山顶和山脊可以提供完全的掩蔽。

山地并不影响聆听和潜行的判定。

!!! 高山

构成高山地形的三个主要元素分别是高山草甸,崎岖的山脊和高峰。如果有角色想要攀越高山,那么这三种地区他们都很可能要涉足到,从开始的高山草甸出发,攀越崎岖的山脊,最后征服高山地区的顶点--高峰。

同时,高山地形还有一个很重要的构成元素,石墙,最好把它们放置在两格之间的分界线上而不是格子中央。

''高山地形特征''

|!		|!	---- 地形种类----	|<|<|
|!		|!高山草甸	|!山脊	|!山峰	|
|^	缓坡	|^	50%	|^	25%	|^	15%	|
|^	陡坡	|^	40%	|^	55%	|^	55%	|
|^	悬崖	|^	10%	|^	15%	|^	20%	|
|^	裂谷	|^	-	|^	5%	|^	10%	|
|^	稀疏的地面植物	|^	20%	|^	10%	|^	-	|
|^	碎石	|^	-	|^	20%	|^	30%	|
|^	密集石群	|^	-	|^	20%	|^	30%	|

''缓坡与陡坡:''请参考上文丘陵地形。

''悬崖:''高山悬崖与山地地形的悬崖所不同的是它们通常能够达到2d6×10尺的高度。高于80尺的悬崖一般需要占据方圆20尺的面积。

''裂缝:''裂缝通常由自然的地层活动造成,裂缝类似于地下城中的陷阱。但是裂缝非常明显,所以一般角色不会失足掉入(但是对于那些乱冲乱撞的人就是另外一回事了)。裂缝一般有 2d4×10尺深,最少20尺长,宽度从5尺到20尺不等。如果不幸陷入,要爬出裂缝需要通过DC 15的攀爬检定。在山峰地区,裂缝一般能达到 2d8×10尺深。

稀疏的地面植物:请参见上文森林地形。

''碎石:''一片遍布细小光滑碎石块的地面,虽然碎石在平地上对行进速度并不会有影响,但是在斜坡上就不同了。缓坡上的碎石会增加平衡和翻滚的难度,DC需要做+2的修正,而陡坡则需要+5。另外,不管是在陡坡或者缓坡,潜行技能DC需要做+2的修正。

''密集石群:''一片覆盖着大大小小岩石的地面,在密集石群中穿行每走过1格需要消耗2格的行动力。密集石群会增加平衡和翻滚的难度,DC需要做+5的修正,潜行技能DC需要做+2的修正。

''石墙:''垂直于地面所垒起来的石堆,攀越石墙需要通过DC为25的攀爬检定。在山脊地带石墙一般有2d4×10 尺高,而在山峰地带这个数字通常达到 2d8×10 尺。石墙通常被放置在方格的边界而不是穿过方格。

''岩洞入口:''岩洞入口一般出现在悬崖,陡坡,或者是石墙边上,一个典型的岩洞入口大约是5到20尺宽,5尺深。而入口的后面也许是一座人工建造的地下城,也许仅仅只是一个普通的岩石大厅。作为兽穴的岩洞一般有1d3 个1d4×10尺长的分间。

''其他的高山地形构成元素:''大多数高山草甸是在高山的林木线以上才开始出现的,所以树木和其他森林构成元素在高山地形的高处是非常稀少的。也许你还能够看到奔流的山泉(5 到10尺宽,最多5 尺深) 与干涸的河床(视为5到10尺宽的壕沟)。海拔高的地区比环绕其周围的相对较低的地区温度要低,所以那些地方往往覆盖着冰雪(请参考后文描述)。

''高山地区的秘密行动和侦察任务:''一般来说,在高山地区侦察技能所能侦测到的最远距离是4d10×10 尺。身处山顶或者山脊线上能使你看得更远,当然当人物处于弯曲的峡谷时,所能侦察到的距离要短得多。因为那里通常会生有一些能阻挡视线的草木,在地图上可能发生遭遇战的区域做好标记可以让旅程更加顺利。和山地一样,在面对较低地区的生物时,山脊或者是山顶可以提供足够的掩蔽。

在高山地区,角色能够清楚的听见远处传来的声音。使用聆听技能时,声源和聆听者之间的距离每增加20尺DC+1,而不是通常的10尺。

!!!!雪崩(CR 7)

在很多高山地带,高峰与大量积雪的结合意味着一个致命的危险--雪崩。雪崩的发生有可能引起山崩,发生时大量冰,雪,泥土和岩石的混合物沿着山坡崩落下来,让人无处可逃。

如果冒险者通过DC 20的侦察检定的话,在 1d10×500尺的距离就能够发现雪崩,可以将雪崩视为超巨型生物来处理。如果所有的角色都没有发现雪崩的话,灾难将蔓延到距队伍更加近的距离。当雪崩逼近到原始距离的一半时,角色将自动发现。即使角色失明,他也能听到雪崩所发出的巨大声响,在最佳环境下(周围没有其他的巨大噪音),一名人物只要通过DC 15的聆听检定,便能听到1d6×500 尺以外的雪崩或者是山崩。在有噪音干扰的状况下,DC可能增加到20,25或者是更高(比如处于雷暴中)。

山崩/雪崩分为2个区域:掩埋区(处于山崩/雪崩蔓延的路径上)与滑落区(山崩/雪崩产生的碎石和雪流所蔓延过的区域)。雪崩发生时,处于掩埋区的队伍往往会受到山崩/雪崩所带来的伤害。而身处滑落区的角色则可能逃出生天。处于掩埋带的角色会受到8d6 点的冲击伤害,如果通过DC 15的反射检定则伤害减半。然后他们被碎石或是雪堆掩埋(请参考下文)。处于掩埋带的角色受到3d6点的冲击伤害,但如果通过DC 15的反射检定则能避开山崩/雪崩。检定失败的话,他们也会被掩埋。

被掩埋的角色每分钟受到1d6点的非致命伤害。如果他失去意识。他将必须通过DC 15的体质检定,否则他每分钟将受到1d6 点的伤害直到被人救出或者死亡。

从山崩/雪崩的滑落带的一边到另外一边宽度通常能够达到1d6×100尺。而处于山崩/雪崩中心地带的掩埋带一般能达到整个山崩/雪崩宽度的一半。

要确定角色在山崩/雪崩路径上的确切位置,投1d6×20。该结果就是从掩埋区所占路径的中心到队伍所在地点中心的距离(以英尺为单位)。雪崩的速度是每轮500尺,山崩的速度是每轮250尺。

!!!!高山旅行
在高海拔的地区旅行会使不习惯在此地区生活的生物疲劳-有时甚至能够致命。极端的寒冷和氧气的缺乏可以放倒最坚强的战士。

''适应环境:''一般生物在高海拔地区会产生高原反应。任何生物在进入高山地区时都要尝试适应高海拔的环境。角色可以在高地住上一个月来逐渐适应。离开高山地区2个月以上的生物再回到高地则必须重新适应。不死生物,构装生物以及其他不需要呼吸的生物均对高原反应免疫。

''高原地区:''一般来说,高山地区可以分为3个主要地带 :山谷小径,低峰/山腰小径与山峰。

//山脚小径(低于5,000 尺)://大多数旅行路线都选择在山谷小径上,它们通常位于高山草原和森林中。旅行者会发现路面的状况十分糟糕(反映在移动的减值上),但高海拔本身在这个方面对游戏并没有影响。

//低峰或山腰小径(5,000 到15,000 尺)://沿着较底山脉向上的斜坡或是大多数旅行者穿过较高山脉所经过的道路都属于这个范畴。在这种高度上,所有未适应的生物都会因为空气稀薄而呼吸困难。角色每小时必须进行强韧检定(DC 15,每增加一次检定再+1)失败则陷入疲劳。当角色来到有充足空气的高度时疲劳才会消除。已适应环境的生物无须进行此检定。

//山峰(高于15,000 尺)://最高的山峰可以超过20,000尺。在这种高度,不管是否适应高原环境,生物都要同时受到高原反应(请参考前文描述) 与高原病造成的疲劳。空气稀薄表现为长时间的氧气缺乏,它会同时影响生物的身体与心智。生物在15,000尺的高度上每度过6个小时都要进行一次强韧检定(DC 15,每增加一次检定再+1),失败则所有属性受到1点伤害。适应高原环境的生物在进行检定的时候有+4的加值。但最后,即使是最老练的山地旅行者也不得不马上离开这个危险的区域。

!!! 荒漠地带

不同的气候地区都会存在荒漠地带,但是所有此类地区都有一个共同之处:少雨。荒漠地带的三个种类分别是冻原(寒冷气候),岩地(温带气候),沙漠(热带)。

冻原与其他的荒漠地带有2个显著的不同之处。因为冰雪覆盖了大部分地面,所以这里很容易就能找到水。而在夏季最炎热的时候,冰雪解冻会造成一片广阔的淤泥平原。淤泥平原虽然表面没有水潭,但是对行动与技能使用的影响仍然可以视为与浅沼泽地相同。

''荒漠地带地形特征''


|!		|!	--- 地形种类 ---	|<|<|
|!		|!	冻原	|!	岩地	|!	沙漠	|
|^	稀疏的地面植物	|^	15%	|^	5%	|^	5%	|
|^	薄冰地面	|^	25%	|^	-	|^	-	|
|^	稀疏碎石地区	|^	5%	|^	30%	|^	10%	|
|^	密集碎石地区	|^	-	|^	30%	|^	5%	|
|^	沙丘	|^	-	|^	-	|^	50%	|


上面的表格描述了荒漠地带3种地形的地形特征。表格中的地形元素都是互不共存的;比如说,一片冻原要么就是覆盖着一层薄薄的冰壳,要么就是生长着稀疏的地面植物,不会出现两者同时存在的现象。

''稀疏的地面植物:''由矮小多刺的矮树丛和仙人掌组成,对于冒险的影响和其他地形的稀疏地面植物作用一样。

''薄冰地面:''覆盖着光滑薄冰层的地面。进入1格薄冰地面需要耗费2格的行动力,另外平衡和翻滚的DC在该地形需要做+5的修正。奔跑或者是冲锋时经过冰面需要通过DC 10的平衡检定。

''稀疏碎石地区:''布满了小块岩石的地面,想要在这种地面上灵活的动作是比较困难的。平衡和翻滚的DC在该地形需要做+2的修正。

''密集碎石地区:''与稀疏碎石地区不同的是这种地形地表上所散布的石块更多更大。进入1格密集碎石地区需要耗费2格的行动力。平衡和翻滚检定的DC在该地形需要做+5的修正,潜行检定的DC需要做+2的修正。

''沙丘:''风力赋予了沙丘陵般的外形,沙丘对于行动的影响与丘陵相同。如果风力很强,一座沙丘可以在一个星期之内移动数百尺的距离。沙丘能够覆盖数百格的面积。它们的迎风面一般坡度不大,只相当于缓坡,而其背风面往往能达到陡坡的坡度

''其他荒漠地带地形构成元素:''有的冻原与森林相邻,但冻原的寒冷是从森林里偶然生长出来的树木所经受不住的。在岩地,有些陡坡和悬崖被平坦的地面四面包围,看起来就像一座座的石塔和平顶山一样(请参考上文高山地形)。沙漠地区有时会发现一些流沙;尽管沙漠地区的流沙只是由细沙和泥土生成的,但是我们仍然可以把它视为作用与沼泽地区流沙同等。所有的荒凉地形上都有着纵横交错的干涸河床(视为5到15尺宽的战壕),当出现少见的降雨时,河床中将充满雨水。

''荒漠地带的秘密行动和侦察任务:''一般来讲,在荒漠地带侦察技能所能侦测到的最远距离是6d6×20 尺;因为海拔的改变和温暖地区的热气扭曲视线,角色不可能侦测到距离超过这个数字的目标。而沙丘的阻挡使得沙漠地区侦察的极限减小到了6d6×10尺。

荒漠地带对聆听和侦察检定没有任何影响。地面植物的稀少使得隐蔽和掩蔽都变得更加困难。

!!!!沙暴
沙暴将角色的可视范围缩小到1d10×5尺,并给予搜索,聆听,侦察技能检定-4的减值。沙暴每小时对暴露其中的生物造成1d3的非致命伤害,它经过的地区地面上都会留有一层薄沙。除了最严密的密封,强劲的沙子能穿透一切保护,可以擦破皮肤,也可以弄坏装备。

!!! 平原

平原地形分为3个种类:农场,草原,以及战场。在有人居住的地区,农场是十分常见的。而未经开垦的地区成了自然草原。即使是在战场上,你也很难看到有真的战争,荒废的战场往往已被农作物和其他的野生植物所覆盖。战场地形之所以特别提出是因为战场是冒险者通常很愿意去看一看的地方,而不是它与其他平原地形有什么很明显的区别。

下面的表格统计了各种地形元素在各平原地形所占的大概比例。在农场地区,除了从收割到种植庄稼那一段时间之外,农作物在各种各样的地面植物中都占有很大比例。

下面表格中的地形元素都是不共生的。

''平原地带地形特征''

|!		|!	--- 地形种类---	|<|<|
|!		|!	农场	|!	草原	|!	战场	|
|^	稀疏的地面植物	|^	40%	|^	20%	|^	10%	|
|^	茂密的地面植物	|^	-	|^	10%	|^	-	|
|^	稀疏的碎石地	|^	-	|^	-	|^	10%	|
|^	壕沟,水渠	|^	5%	|^	-	|^	5%	|
|^	胸墙	|^	-	|^	-	|^	5%	|

''地面植物:''不论是农作物还是野生植物,它们都有普通的地面植物特征,我们可以把它们作为森林地面植物一样处理。另外草地上还点缀着一些浓密的灌木丛和地面植物。

''稀疏的碎石地:''战场上的碎石通常是由于破坏所造成的:例如建筑的废墟或者是崩坏的石墙。其造成的影响请参考前文荒漠地带。

''壕沟:''壕沟是在战斗前挖掘而成用来保护士兵的,它的作用如同矮墙,除此以外它并不能提供任何额外的掩蔽。要翻过壕沟视作移动2格距离,但是进入壕沟并不需要消耗额外的行动力。壕沟外的生物在与沟内的生物近距离搏斗时在近战攻击加值上得到+1的加值,因为他具有居高临下的优势。而在牧原地区,冒险者一般只能发现灌溉用的水渠。

''胸墙:''胸墙是一种很常见的防御设施,就是堵低矮的土墙,可以降低速度和提供掩蔽。在地图上陡坡(见之前丘陵地形的描述)的两个相邻边内添加上胸墙,并让胸墙的边缘放在陡坡坡底一边。这样当一个人物要翻越一堵两格宽的胸墙时就必须先上坡1格,然后下坡1格。两格宽的胸墙会像矮墙一样给站在后面的人提供掩蔽。更大的胸墙会让那些站在坡底一格的人相对胸墙顶部的人得到掩蔽。

''围栏:''木制围栏通常是用来圈养家畜或者是防御敌人的。跨越木围栏需要消耗额外的一格行动距离。石围栏可以提供一定的掩蔽,可以处理为矮墙。骑在马上的角色如果通过DC 15的骑术检定便可以以原来的速度跨过围栏。如果检定失败,马匹仍然能跳过围栏,角色则从马上摔下。

''其他平原地形构成元素:''在平原上旅行,偶尔会看到一些树木,尽管战场上的树木大都成了攻城机器的燃料(请参考城市特征)。灌木丛(请参考沼泽地形)和小溪也一样常见,一般来说小溪大约5到20尺宽,5到10尺深。

''平原的秘密行动和侦察任务:''在平原上,侦察技能所能侦测到的最远距离是6d6×40尺。平原地形对于聆听和侦察并没有什么影响。可供躲藏的地方也并不罕见,所以即使眼前没有明显的避难所,附近也能找得到。

!!! 水域

对于大多数角色来说,水下无疑是最危险的地方,因为在水下他们无法呼吸。水下的地貌并不象陆地那样复杂多变。但是海床承载着许许多多令人惊讶的东西,包括一些与本部分前文提到的地形元素相对的海底副本。当然,如果角色是被从海盗船上推下水中的,海底有些什么东西已经不重要了。因此,这些简单的规则将水面划分为两个区域:流水区(如同小溪与河流)与静水区(如同湖与海洋)。

''流水:''一些宽大河流的水流流速每小时只有几英里,所以在大多数情况下可以视为静水。但是一些河流和小溪却截然不同;其水面上的漂流物向下游漂流的速度可以达到每轮10到40尺。最为湍急的激流甚至能将水中的人物以每轮60到90尺的速度冲向下游。湍急的河流水面一般波涛汹涌(游泳DC 15),而翻涌着白浪的急流可以称为狂暴的河流(游泳DC 20)。如果一名角色角色正处于流水中,那么到本轮结束他的位置将向下游移动到之前描述的距离。如果角色角色努力想要保持自己的位置,那么他每轮必须花费一部分或整轮的时间逆水向上游。

//被激流冲走://如果角色角色被流速每轮60尺或更快的水流冲走,他必须每轮通过DC 20的游泳检定来避免下沉。如果检定结果比DC高5或者是更多的话,他将遇到岩石,树枝,或者其他障碍物并借其来控制自己的动作-同时激流也无法将其冲往更远的地方。要到达岸边来摆脱急流需要通过3次DC 20 的游泳检定。被障碍物阻挡住的角色并不能因此就能避开激流的危险,除非他们离开障碍物并努力游向河岸。其他的角色可以尝试营救他,就象在流沙地一样(请参考上文沼泽地形)。

''静水:''在湖泊或者大海中游动仅仅只需要一些速度和成功的游泳检定(在平静的水面为DC 10,波涛起伏的水面是DC 15,狂暴的水面上是DC 20)。如果角色处于水下,那么他必须想办法来呼吸;失败的话他将面临溺死的风险。在水下,角色可以朝任意方向游动,就象一名具有完美飞行能力的生物在空中飞行时一样。

''水域的秘密行动和侦察任务:''在水下能看到的距离取决于水质是否清澈。一般来说,生物在清澈的水中能看到大约 4d8×10 尺的距离,如果是在浑水中则只能看到1d8×10尺远。流水通常是浑浊的,除非是特别宽广,流速缓慢的河流。

在水下,你很难找到可以提供掩蔽或者是隐蔽的地方(除非是在海底)。在水下聆听与潜行不会受到任何影响。

//隐形://隐形的生物在水下移动会产生可见的波纹,同时躯体的移动还会产生一些气泡。但是该生物仍然处于隐蔽状态(20%失手几率),而不是完全隐蔽(50%失手几率)。

!!!!水下战斗
陆地生物在水下战斗时会面临相当大的困难。水对于生物的防御等级,攻击掷骰,伤害以及移动都有影响。在一些情况下他的对手会在攻击上获得优势。这些影响在下面的表格将会描述。此表格适用于生物在游泳,走过齐胸浅滩,或者是在水底行走时的情况。

''水下的远程攻击:''投掷武器在水下是没有任何效果的,即使攻击者是在岸上。使用其他远程武器攻击时,攻击检定在每5尺距离上承受-2的减值,此减值与一般的距离减值叠加。

''来自陆地的攻击:''角色在水面上游泳,漂流,踩水,或者是蜷缩在至少齐胸深的水中的时候,在面对岸上的对手时能够获得一些额外的掩蔽(AC +8,反射检定+4)。拥有行动自如(freedom of movement)效果的生物在与水中对手近战时可以忽略这些掩蔽。完全处于水下的生物在面对岸上的对手时可以获得完全的掩蔽,除非该对手拥有行动自如(freedom of movement)效果。除需要进行攻击检定和火领域法术的魔法效果外,其他魔法效果无效。

''火焰:''非魔法造成的火焰(包括炼金师造成的)无法在水下燃烧。除非施法者通过辩识法术检定DC 20+法术等级),否则法术或者是类法术所造成的火焰在水下同样无效。如果检定成功,法术将造成高热的蒸汽泡沫而不是通常的火焰效果,但其他效果不变。除非特别说明,超自然的火焰也不能在水下燃烧。水体的表面会隔断任何火系法术的效果线。即使施法者通过了辩识法术检定从而施展一个可在水下使用的火系法术,水体表面仍然能阻挡住法术效果线。

''表:水下战斗调整''

|>|!	----- 攻击/伤害 -----	|<|<|<|
|!	条件	|!	挥砍或钝击	|!	尾抽	|!	行动	|!	可能失去平衡?^^4^^	|
|^	行动自如	|^	正常/正常	|^	正常/正常	|^	正常	|^	否	|
|^	有游泳速度	|^	-2/减半	|^	正常	|^	正常	|^	否	|
|^	成功的游泳检定	|^	-2/减半^^1^^	|^	-2/减半	|^	1/4或1/2^^2^^	|^	否	|
|^	固定物^^3^^	|^	-2/减半	|^	-2/减半	|^	减半	|^	否	|
|^	不具前述任何一项	|^	-2/减半	|^	-2/减半	|^	正常	|^	是	|

|^	1 //不具有行动自如效果及没有游泳速度的生物在水下进行擒抱检定时需要承受-2的减值,但是在擒抱时造成的伤害不变。//	|^		|^		|^		|^		|
|^	2 //成功的游泳检定能使生物以1/4的速度移动以作为一个移动动作,或是以半速移动以作为一个整轮动作。//	|^		|^		|^		|^		|
|^	3 //在水底行走时,生物拥有立足点来控制行动,攀住船的船铉也有相同的效果。身上携带了重量足以使之下沉的装备的生物只能在水底行走——中等体型生物至少16磅,体型每增大一级负重增加一倍,减小一级负重量则减半。//	|^		|^		|^		|^		|
|^	4 //困在水中的生物(通常是因为未通过游泳检定) 想要有效地战斗是很困难的。失去平衡的生物其敏捷加值不计入AC,而其对手在进攻他时将获得+2的加值。//	|^		|^		|^		|^		|

!!!!洪水
在野外地区,河水泛滥引起的洪灾是很常见的事。

温暖的春季,冰川融化造成的大量融水流入溪水与河流,使得河水漫溢形成洪水。其他的事件,例如巨大的暴风雨或是河水决堤也会造成洪水。

洪水暴发时,河流变得更宽,更深,流速更快。假设暴发洪灾时河水上涨了1d10+10尺,那么其宽度大约比平时增长1d4×50%倍。河岸将被淹没数天,而河上的桥梁也有可能被冲垮,渡口在洪灾时也无法保证正常通行。在暴发洪水的河流中游泳时,难度将上升一个等级(静水变得波涛起伏,而原本波涛起伏的水域则变得狂暴)。河流的流速同时也会增长1/2倍。


!! 城市冒险

匆匆一睹,城市和地下城看起来非常相象,有着相似的门,围墙,大大小小的房间和各种走廊。然而,在城市中展开的冒险与在地下城相比有两个截然不同之处:角色不仅有充足的资源补给,还必须应付各种法律条文。

''补给:''与在野外和地下城中不同,角色可以很轻松地买卖各种物品。大的城市或者教区都很可能存在一些高等级的NPC和各种方面的专家可以给予援助或是提供线索。当PC有什么损伤时,他们也可以舒服地躺到旅店的某个房间去休息疗伤。

善于控制城市冒险的节奏的角色总是能灵活有效地选择撤退与补给的时机。

''法律条文:''另外一个城市与地下城的不同之处在于,地下城只有一条铁律:杀与被杀。而另一方面,城市是紧紧围绕着法律核心的,而其中许多条款正是为了预防冒险者经常参与的行为:杀戮和掠夺。尽管如此,大多数法律还是意识到一些危害城市稳定的不安因素的存在,所以杀害邪恶异界生物的人并不会触犯法律。然而,具有讽刺意味的是,大多数善于隐藏邪恶本质的人反而能得到比普通市民更多的法律保护。投身于邪恶阵容并不触犯法律(除非在一些宗教狂热的城市,也有可能是魔法政体所颁布的法律);只有现实存在的邪恶行为才会为法律不容。即使冒险者阻止了正在对城中的无辜平民犯下不可饶恕的罪行的恶人,法庭也不会太满意——因为这种见义勇为的行动往往会使行凶者死亡或无法接受审判。

!!!!武器与法术的限制
对于在公共场合是否允许携带武器与对于施法者的限制方面,不同的城市有着不同的处理办法。

城市的法律并非对每个角色都是平等的。武僧根本不会因为收缴武器的法律而受到任何限制,但如果在城门处就被收缴了所有的圣徽,那么牧师的力量将被大大降低。

!!! 城市特征
高墙,门,昏暗的灯光与坑坑洼洼的地面:城市与地下城有很多相似之处。而城市探险中一些新的要素将在下文描述。

!!!!城墙与城门
许多城市都为城墙所环绕。典型的小型城市城墙一般厚5尺高20尺,由石块加固构成。其墙体表面非常平坦,翻越它需要通过DC 30的攀爬检定。墙顶的一面设计有锯齿型构造的矮墙,用以给城墙上的守卫提供保护,此外墙顶上还留有不多的空间给守卫们行走。小型城市城墙的AC为3,硬度8,每10尺部分的hp为450。

大型城市城墙一般为10尺厚,30尺高,墙顶的两边都有锯齿型矮墙设计。它和小型城市的城墙同样光滑,需要通过DC 30的攀爬检定才能攀越。大型城市城墙的AC为3,硬度8,每10尺部分的hp为720。

都会城墙通常为15尺厚,40尺高。墙顶的两边都有锯齿型矮墙设计。通常在内部都有可以通行的隧道和一些小型房间。都会城墙的AC为3,硬度8,每10尺部分的hp为1,170。

与较小城市不同的是,都会城市通常会有和外部城墙相似的内墙,这些也许是城市范围扩展留下的痕迹,也许又只是为了隔开不同的区域。它们可能和外墙一样的厚实,但更多的时候它们的规模只相当于大型城市以及小型城市的城墙。

''了望塔:''某些城市的城墙上会有一些了望塔。但是如果没有受到攻击的危险,很少有城市会在每个塔内都布置有24小时的值班守卫。在了望塔上的人对城市四周的情况可以一览无余,防卫时它也是一个非常好的制高点。

了望塔通常比其毗连的城墙高10尺左右,它的直径一般是城墙厚度的5倍。通过箭孔了望塔内部的人可以射击外面的入侵者,而它的顶部设计是类似于城墙上的那种锯齿型矮墙。小型的了望塔(直径为25 尺长并与5尺厚的城墙相连)上经常会有一条简易长梯用来连接塔顶和内室。而在大型了望塔中用来连接的一般是阶梯。

厚重的木门通常用铁条和坚固的锁加强(开锁DC 30),如果了望塔不是长期有守卫驻守的话,入口通常会被封锁。按照常例,守卫队长持有了望塔的一把钥匙,而备用钥匙则藏在城内的要塞或是兵营中。

''城门:''典型的城门是一座门楼,由两道铁栅和两者之间的攻击孔构成。在小镇和一些小城市里,主要的入口是安装在城墙内部的双层铁门。城门在白天开放,而夜间则被封锁或是关闭。通常城墙上还会留有一扇小门让夜间到达的商人进入,它由专门的士兵把守,看起来正直的人会被放行,另外呈上通行证或是行贿也能得到进城的许可(金额取决于城市与士兵的状况)。

!!!!守卫与士兵
一座城市通常会有相当于其成年人口数目1%的士兵和占人口5%的民兵和临时征召人员全天候守卫。另外在城内24小时都有守卫负责维持城市秩序(象今天的警察一样)并在一定范围内防御外来的袭击。士兵则在城市被攻击时被调集抵御外来攻击。

通常城市守卫分为3个时段轮值,30%的兵力负责白班(上午8点到下午4点),35%的兵力负责夜班(下午4点到晚上12点),剩下35%负责午夜班(晚上12点到上午8点)。在一般的时段,80%的守卫都在街上巡逻,其他 20%的守卫则驻守在分布于城市各个角落的岗位上以应付附近的突发状况。每一个街区最少会安置一个这样的岗哨。

城市守卫的主要组成部分是战士,大多数为1级。军官包括较高级别的战士,一些牧师,法师或是术士,以及一些战士和施法者的兼职职业。

!!!!攻城机器
攻城机器有的是巨型武器,有的是临时搭建的建筑。总之,它们是用来围攻城堡或是要塞的设备。

''表:攻城机器''

|!	名称	|!	价格	|!	伤害	|!	重击检定	|!	攻击距离	|!	操作人数	|
|^	重型投石机	|^	800金币	|^	6d6	|^	-	|^	200尺(最低距离100尺)	|^	4	|
|^	轻型投石机 	|^	550金币 	|^	4d6	|^	-	|^	150尺(最低距离100尺)	|^	2	|
|^	弹射器	|^	500金币 	|^	3d8	|^	19-20	|^	120尺	|^	1	|
|^	攻城锤	|^	1,000金币 	|^	3d6*	|^	-	|^	-	|^	10	|
|^	围城塔 	|^	2,000金币 	|^	-	|^	-	|^	-	|^	20	|
|^	* //请参考特殊规则中的描述。//	|<|<|<|<|<|


''投石机攻击修正''

|!	环境	|!	修正	|
|^	无法看见目标	|^	-6	|
|^	连续射击(操作人员可以看到之前弹着点) 	|^	每次射偏+2(最多+10)	|
|^	连续射击(操作人员无法看到之前弹着点,但收到观察员的汇报情况)	|^	每次射偏+1(最多+5)	|

''重型投石机:''巨大的重型投石机能用巨力将岩石或是其他重物投向敌方目标。因为投射物呈高抛物线飞行,所以它能攻击视线之外的目标。进行攻击时,操作人员的首领需要做一次DC 15的特殊检定,使用他的基本攻击加值、他的智力加值、远程攻击减值,以及在上表中描述的攻击修正和各种适当调整值。如果检定成功,则投掷出的石块将准确击中瞄准的方格并对方格中的设施或是生物造成伤害。如果该生物通过DC 15反射豁免则伤害减半。一旦石块命中目标,则其后的射击将持续击中该位置。除非重新瞄准或是被风力改变了投掷物的方向或速度。

如果投掷物没有击中,掷1d8来决定弹着点。检定结果为1的话投掷物落在目标与投石机中间的位置,2到8的检定结果将使弹着点顺时针分布在目标区域周围。接下来,将实际落点向目标区域的反方向移动3格。

给投石机装弹需要进行一系列的整轮动作。首先需要通过DC 15的力量检定扳动主绞盘来放下投臂;通常投石机上都安装有小型绞盘,它们允许2人协助主绞盘操作人员。通过DC 15的专业(攻城机器) 检定可将投臂放下,接着进行DC 15的专业(攻城机器)检定装载弹药。然后进行4个整轮动作瞄准目标(操作者越多,速度越快。所以4倍的操作者在一轮之内就可瞄准)。

重型投石机长宽为15尺。

''轻型投石机:''这是重型投石机的小型副本。除了通过DC 10的力量检定便能将投臂放下以及瞄准只需要2个整轮动作以外,它的功能类似于重型投石机。

轻型投石机长宽为10尺。

''弹射器:''弹射器本质上就是一副固定了的巨型十字弓。其巨大的尺寸使得大多数生物都很难灵活地操作它。因此,一名中体型生物在操作它时攻击检定有-4的减值,小体型生物则承受-6 减值。体型小于大型的生物需要耗费2个整轮动作来重新装弹。

弹射器长宽为5尺。

''攻城锤:''这根沉重的柱子被悬挂在架子上,所以操作者可以象秋千一样来回推动它撞击建筑。站在最靠近攻城锤位置的操作者耗费一个整轮动作来进行攻击检定对抗目标设施的AC,对于不熟练的操作者要接受对应的-4减值。(不可能有人精通该装置。) 其伤害力的具体数据在表:攻城机器中有描述,最多允许有9名操作者协助攻击,可以将他们的强壮修正值加到攻城锤的伤害值中。最少需要1名巨型或更大体型的生物,2名大型生物,4名中体型生物或是8名小体型生物才能推动攻城锤。(更小型的生物无法操作攻城锤。)

攻城锤通常有30尺长。在实战中,其操作者的队型为在攻城锤两旁站成两列纵队。

''围城塔:''巨型的木制塔状建筑,下部装有轮子或是滚筒。它能使内部的攻城者在有掩蔽的条件下攀上城墙。它的木制装甲大约厚1尺。

围城塔长宽一般为15尺。塔内的生物可以以10尺的速度推动前进(围城塔无法奔跑)。处于塔底的8名生物拥有完全的掩蔽,更高层的生物也有加强掩蔽,同时还能通过箭孔向外面射击。

 
!!!!城市街道
一般的城市街道显得狭窄而曲折。大多数街道平均为15到20尺宽[(1d4+1)×5 尺)],而小巷则只有10到5尺宽。保养良好的鹅卵石街道并不会妨碍行动,但是缺乏维护,留有深深车辙和泥泞的街道可以视为稀疏碎石地来处理,平衡与翻滚的DC需要做+2的调整。

有些城市拥有非常宽阔的道路,特别是那些由小型聚居地逐渐发展起来的大型城市。主干道穿越整个城镇,它也许在城市最初的发展蓝图中就已经有计划,也有可能是在大型火灾后重建的。这些主干道一般宽25尺,能容纳四轮马车通行,在两侧还分别留有宽5尺的人行道。

''人群:''城市的街道上总是充满了熙熙攘攘的人群。一般情况下,当战斗在主要街道上进行时没有必要把每一个一级平民都放到地图上来,只需要将街道上人群大致位置标出即可。如果人们看到了显而易见的危险状况,他们会立即以30尺每轮,先攻0的速度四散逃跑。在人群中穿行的速度是正常速度的1/2。同时,人群还能为混杂于其中的人物提供掩蔽,使人物能够轻松地隐藏,并且在AC和反射检定上得到加值。

//引领人群://如果角色想要引领人群向指定的方向移动,则必须通过DC 15的外交检定或是DC 20的胁迫检定,而且人群必须能看到或是听到该角色。进行外交检定是一个整轮动作,而进行胁迫检定只是一个即时动作。

如果2个或2个以上的角色试图指挥人群向不同的方向移动,则必须进行外交或是胁迫对抗来决定人群的移动方向。如果没人达到之前指定的DC,那么人群将无视角色的努力。

 
!!!!屋顶与下水道
''屋顶:''如果不从高处跳到屋顶上,那么想要登上屋顶必须先从攀爬围墙开始(请参考墙部分)。只有在气候温暖的地区才会有屋顶花园(然冬天的积雪会使花园枯萎),角色可以轻松地穿越。在尖顶房屋的屋顶向上移动需要通过DC20的平衡检定,而平行移动时DC只有15。从尖顶的一边翻到另外一边的DC为10。

当角色最终厌倦了一直呆在同一个屋顶上时,他需要做一个长距离的跳跃来到达另外的屋顶或是回到地面。最近屋顶的水平距离一般是1d3×5 尺,而通常它们和角色所在屋顶之间的高度差不会超过5尺。请参照跳跃技能中的描述(水平跳跃最高点的高度为跳跃距离的1/4)来判断人物是否能跳跃成功。

''下水道:''进入下水道的办法很简单--打开下水道的井盖(整轮动作)并跳入10尺的深处。除了地板被积水淹没以外,下水道的环境与地下城非常相象。而且在下水道中也会遇到一些敌人和怪物。因为一些城市是建立在古老文明的废墟上,所以它们的下水道往往通向来自过去文明的危险与财富。

 
!!!!城市建筑
大多数的城市建筑可以划分为3大类型。在城市建筑中,2到5层高的房屋占据了最大的比例,它们沿着城市的主干道或是较小的街道两旁一字排开。这些建筑一般都将当街的第一层作为门面营业,上面的几层则被用来当做办公室或是住处。

旅馆,大型商店或是货栈-还有磨坊,皮制品厂以及其他需要大量生产空间的行业建筑通常需要占据很大的面积,它们通常独占一方,而且至少达到5层高。

最后一个类型是小型民居,店铺,货栈和储藏棚,它们通常是设计简单的木制平房。在贫民区非常常见。

大多数城市建筑是土石构造(第1到2层) 和木制结构(上层建筑,内墙和地板)的结合体。屋顶通常有木板,茅草和石板构成,以沥青盖顶。底层房间的墙壁通常厚1尺,AC 3,硬度8,生命值90,攀爬DC为25。上层房间的围墙通常是6寸厚,AC 3,硬度 5,生命值60,攀爬DC 为21。建筑对外的房门一般是由上等木材制成,除了一些类似商店,酒馆的公共设施外,其他建筑的房门一般都上了锁。

 
!!!!购买建筑
也许有的角色想要拥有一幢属于自己的建筑甚至是一座城堡。

在计算价格的时候可以参考以下表格。

''表:建筑''

|!	种类	|!	价格	|
|^	简单房屋	|^	1,000金币	|
|^	豪华房屋	|^	5,000金币	|
|^	官邸	|^	100,000金币	|
|^	了望塔	|^	50,000金币	|
|^	要塞	|^	150,000金币	|
|^	城堡	|^	500,000金币	|
|^	大型城堡	|^	1,000,000金币	|
|^	带桥的护城河	|^	50,000金币	|


//简单房屋://拥有1到3个房间的茅草顶木制建筑。

//豪华房屋://拥有4到10个房间的茅草顶木制建筑。

//官邸://拥有10到20间房间以及2到3个仓库的石板顶砖木制建筑。

//了望塔://立方或是圆柱型,三层高的石制塔式建筑。

//要塞://15到25个房间,采用石块加固建成的建筑。

//城堡://四周环绕着15尺高10尺厚城墙的要塞,城墙四周带有4个了望塔。

//大型城堡://大型城堡是许多小型建筑物的结合体(比如马厩,铸造厂以及谷仓等等),20尺高,10尺厚的城墙将外界搁开,城墙上带有6个了望塔。

带桥的护城河:护城河深15尺,宽30尺。其上是能够自由放下和收起的木制吊桥或是固定的石制短桥。

 
!!!!城市照明
如果城市拥有主干道,主干道的两旁会有一些路灯被悬挂在两旁7尺高的屋檐上。相邻的两个路灯之间的距离一般为60尺,所以发出的光亮几乎能覆盖整个街道。次要街道或是小巷没有照明,市民夜间在这些地方行走时习惯于雇佣专门的掌灯人。

因为周围的高大建筑阻挡了大部分光线,所以即使是在白昼,小巷里也是非常昏暗。

虽然白天的小巷并没有黑暗到能够真正提供隐蔽的程度,但是暗巷还是能给予隐藏检定+2的环境加值。


!! 天气

天气状况在冒险时经常扮演非常重要的角色。

表:随机天气适用于处理一般冒险时的天气环境,制作当地天气表格时可以作为参考。其中的一些术语均在表格下方加了注释。

''无风:''空气流动速度缓慢(0 到 10 英里/小时)。

''寒冷:''白天气温通常从0°F到40°F,而夜间比白天温度低10到20°F。

''寒流侵袭:''将原温度降低 -10°F。

''倾盆大雨:''可以作为下雨处理(请参考下文降水),但是象浓雾一样会影响到可见度。另外大雨还有可能造成洪水(请参考上文)。一场倾盆大雨通常会持续d4 小时。

''热浪侵袭:''将原温度升高10°F。

''炎热:''白天的气温从85°到110°F,而夜间比白天温度低10到20°F。

''宜人的天气:''白天的气温从40° 到 60°F,而夜间比白天温度低10 到 20°F。

''强风暴(暴风/暴风雪/飓风/龙卷风):''风速超过50 英里/小时(请参考表:风力)。此外,暴风雪还会带来积雪(1d3尺),飓风则夹带着倾盆大雨(请参考上文)。暴风雨通常能够持续1d6小时。暴风雪持续1d3天。而飓风可以刮上一个星期,但是它们对冒险的影响一般只持续1,2天,直到当强风暴的中心离开冒险区域。龙卷风的持续时间非常短暂(1d6×10分钟),它通常是雷暴的组成部分。

''降水:''投掷百分骰以决定降水种类:雾(01-30),雨/雪(31-90),冻雨/冰雹(91-00)。降雪与冻雨只有在温度等于或低于30°华氏度的时候才会出现。大多数降水天气持续2d4小时。另外,冰雹一般只持续1d20分钟,但其经常伴随着1d4小时的降雨。

''风暴(沙尘暴/雪暴/雷暴):''刮起烈风时(30到50英里/小时)可视范围将减小1/4。风暴一般持续2d4-1小时。请参考下文的详细描述。

''温暖:''白天气温通常为60°到85°F,而夜间比白天温度低10到20°F。

''刮风:''风速由常风到强风(10 到 30 英里/小时;请参考下页表:风力效果。

''表:随机天气''

|!	骰值	|!	天气	|!	寒冷气候	|!	温和气候^^1^^	|!	沙漠	|
|^	01-70	|^	正常天气	|^	寒冷,无风	|^	视季节而定^^2^^	|^	炎热,无风	|
|^	71-80	|^	反常天气	|^	热浪(01-30)或者寒流(31-100)	|^	热浪(01-50)或者寒流(51-100)	|^	炎热,刮风	|
|^	81-90	|^	严酷天气	|^	降水(降雪)	|^	降水(视季节而定)	|^	炎热,刮风	|
|^	91-99	|^	风暴	|^	雪暴	|^	雷暴,雪暴^^3^^	|^	沙尘暴	|
|^	100	|^	强风暴	|^	暴风雪	|^	暴风雨,暴风雪^^4^^,飓风,龙卷风	|^	倾盆大雨	|
|^	1 //温和气候地区包括森林,山地,沼泽,高山,平原与温暖水域。//	|<|<|<|<|
|^	2 //冬季寒冷,夏季温暖,春秋季节气温宜人。冬季沼泽地区气温稍高。//	|<|<|<|<|


!!!!降雨,降雪,冻雨与冰雹
恶劣的天气通常会严重地妨碍到正常的旅行。倾盆大雨与暴风雪和浓雾一样能够严重影响视线。

最常见的降水天气就是降雨,但在寒冷的地区还有可能降雪,下冻雨和冰雹。如果在降水过程中遭到寒流侵袭,使得气温从冰点以上下降到30° 华氏度或是更低的温度,则有可能结冰。

降雨:降雨使可视范围减半,同时使侦察与搜索检定承受-4 的减值。在雨中使用火焰,远程武器与聆听技能时与在烈风中效果同等。

降雪:降雪天气中可视度,使用火焰,远程武器与聆听技能时与在烈风中效果同等。在被积雪覆盖的地面行走速度为正常速度的1/2。一整天的降雪能形成1d6 英寸深的积雪。

大雪:大雪所造成的影响与降雪基本一致,但是对可视度的影响与起雾的天气同等(请参考下文起雾)。一整天的大雪能形成1d4英尺深的积雪,在被大雪覆盖的地面行走速度为正常情况的1/4。大雪所伴随的强风或是烈风会卷起积雪,形成1d4×5尺深的雪堆,尤其是大型物体周围-例如小房子或是大帐篷。另外大量降雪的同时还会有10%的几率伴随着闪电 (请参考下文雷暴)。降雪对火焰的影响等同于常风。

冻雨:实际上就是结冰的雨滴,冻雨在降落时可以视为普通降雨处理 (唯一不同之处在于冻雨熄灭有遮掩火焰的几率为 75%) 落到地面后则当作降雪处理。

冰雹:降雹对视线并无影响,但是冰雹砸向地面所发出的声音对聆听检定有很大影响(-4)。有时(5%几率)巨大的冰雹能对室外物体造成1点正常伤害(每次风暴)。降落到地面后,其对行动的影响与积雪无异。

!!!!风暴
风暴是降水(或是沙尘)与风的结合体。在风暴中,可见度只有平时的1/4,同时侦察,搜索与聆听有-8的减值。除了攻城武器外,普通的远程武器在风暴中根本没有效果,而即使是攻城武器也需要在攻击掷骰上接受-4的减值。风暴还能熄灭蜡烛,火把等无遮掩的火源。即使是象提灯这样有遮掩的火源在风暴中也会不停闪动,同时还有一半的几率被熄灭。参考表:风力效果来处理生物暴露在风暴中所受的影响。风暴可以分为以下3个种类。

//沙尘暴 (CR 3)://沙尘暴并不降水,取而代之的是大量的沙尘。狂风卷起的漫天尘土不但能将无遮掩的火源盖熄,同时还有50%的几率熄灭有遮掩的火源。沙尘暴总是伴随着烈风,在所经之处留下 1d6 英寸厚的沙子。然而,有时(10%几率)伴随沙尘暴的却是巨大的暴风(参考表:风力效果)。如此巨大的沙尘暴每轮对暴露其中的生物造成1d3点非致命伤害,同时还能使该生物窒息(参考溺水,只是如果该生物戴有头巾或是采取类似保护口鼻的措施的话,在10倍其体质值轮后才开始窒息)。巨大的沙尘暴在经过的地区留下2d3-1尺的积沙。

//雪暴://除了象一般风暴那样伴随着降水和起风,雪暴还会在发生地区留下1d6英寸的积雪。

//雷暴://除了降水(通常是降雨,但有时会下冰雹)和起风,雷暴伴随着的闪电还能威胁到暴露在开阔地的生物(特别是着金属盔甲的)。根据以往经验,假如每小时在风暴中心能产生60次闪电。每一道闪电能造成1d10个8面骰的电击伤害。雷暴有1/10的几率伴随着龙卷风(参考下文)。

''强风暴:''疾风与瓢泼大雨般的降水能将可见度降低到0,侦察,搜索,聆听以及远程武器在强风暴中没有任何效果。无遮掩的火源自动熄灭,即使是有遮掩的火源也有75%的几率被熄灭。暴露在强风暴中的生物必须通过DC 20的强韧豁免检定,否则会受到强风暴的影响(参考表:风力效果)。强风暴可以分为下列4种类型。

//暴风://暴风发生时只有少量降水或者不降水,它强大的风力能造成相当大的破坏。

//暴雪://暴雪发生时伴随着疾风与大雪(通常1d3尺厚),它带来的严寒对于无准备的生物是致命的。

//飓风://飓风发生时除了疾风与降雨外,还会带来洪水。在这样的环境下冒险几乎无法进行。

//龙卷风://雷暴有1/10的几率伴随着龙卷风。

!!!!浓雾
不管雾的成因为何,它总是能够影响生物的视觉-包括黑暗视觉,浓雾中只能看到5尺的距离。而 5尺外的生物自动获得隐蔽 (无论是攻击和被攻击都有20% 失手几率)。

!!!!风
风带着小沙砾划破你的皮肤,增大火势,吹翻小船并将毒气扩散。如果风力足够的话,它还能将角色击倒(参考表:风力效果),干扰远程攻击和某些技能检定。

//微风(Light Wind)://轻柔的空气波动,对游戏几乎没有任何影响。

//常风(Moderate Wind)://持续,稳定的空气流动。有50%的几率能熄灭无遮盖的火苗,譬如蜡烛。

//强风(Strong Wind)://自动熄灭无遮盖的火焰(蜡烛,火把等等)。并且对远程武器攻击检定和聆听检定有-2 的减值。

//烈风(Severe Wind)://除了自动熄灭无遮盖的火焰外,这种强度的风力还能使有遮盖的火焰(比如提灯) 不断闪动并且有50% 的几率熄灭。远程武器攻击检定和聆听检定有-4的减值。此风力强度等同于造风术。

//暴风(Windstorm)://强大的风力足以吹断树枝,暴风自动熄灭无遮盖的火焰并且有75%的几率熄灭有保护的火焰。远程武器攻击在这样风力的影响下根本没有作用,即使是攻城武器在攻击检定上也要承受-4减值。聆听在暴风的狂号下变得非常困难,所以检定需承受-8 减值。

//飓风(Hurricane-Force Wind)://自动熄灭所有火焰。远程武器无效(攻城武器攻击检定-8),并无法进行聆听:角色只能听到飓风的呼号声。另外飓风还经常能折断树木。

//龙卷风(Tornado,CR 10)://自动熄灭所有火焰。远程武器无效(包括攻城武器 )。角色不但无法进行聆听而且还可能会被吹走(参考表:风力效果),接近龙卷风的角色如果进行强韧检定失败会被逐渐拖进。接触到龙卷风的生物会被吸离地面并飞速旋转1d10轮,在被抛出之前每轮受到6d6点伤害(之后还要计算坠落伤害)。当龙卷风旋转速度达到每小时300英里时,其水平移动速度则为每小时30英里(大约每轮250尺)。龙卷风破坏力惊人,它能卷起树木,摧毁房屋并造成其他类似的巨大破坏。

''表:风力效果''

|!	风力	|!	风速	|!	远程攻击/攻城武器^^1^^	|!	生物体型^^2^^ 	|!	对该生物影响	|!	强韧检定DC	|
|^	微风	|^	每小时0-10英里	|^	-/-	|^	任意	|^	无	|^	-	|
|^	常风	|^	每小时11-20英里	|^	-/-	|^	任意	|^	无	|^	-	|
|^	强风	|^	每小时21-30英里	|^	-2/-	|^	超小型及更小	|^	吹倒	|^	10	|
|^		|^		|^		|^	小型及更大	|^	无	|^		|
|^	烈风	|^	每小时31-50英里	|^	-4/-	|^	超小型	|^	吹走	|^	15	|
|^		|^		|^		|^	小型	|^	吹倒	|^		|
|^		|^		|^		|^	中型	|^	压制	|^		|
|^		|^		|^		|^	大型及更大	|^	无	|^		|
|^	暴风	|^	每小时51-74英里	|^	无效/-4	|^	小型及更小	|^	吹走	|^	18	|
|^		|^		|^		|^	中型	|^	吹倒	|^		|
|^		|^		|^		|^	大型或超大型	|^	压制	|^		|
|^		|^		|^		|^	巨型或超巨型	|^	无	|^		|
|^	飓风	|^	每小时75-174英里	|^	无效/-8	|^	中型及更小	|^	吹走	|^	20	|
|^		|^		|^		|^	大型	|^	吹倒	|^		|
|^		|^		|^		|^	超大型	|^	压制	|^		|
|^		|^		|^		|^	巨型或超巨型	|^	无	|^		|
|^	龙卷风	|^	每小时175-300英里	|^	 无效	|^	大型及更小	|^	吹走 	|^	30	|
|^		|^		|^		|^	超大型	|^	吹倒	|^		|
|^		|^		|^		|^	巨型或超巨型	|^	压制	|^		|
|^	1 //攻城武器包括投石器及投石机等。//	|<|<|<|<|<|
|^	2 //飞行或是滑翔生物视为比实际体型小一等级,如一头滑翔的龙视为超大型生物(实际体型为巨型)。//	|<|<|<|<|<|

//压制://生物无法逆风移动,飞行生物被吹回1d6×5尺。

//吹倒://地面生物迫于风力只能匍匐在地。飞行生物被吹回1d6×10尺。

//吹走://地面生物被吹倒在地并滚动1d4×10尺,每10尺受到1d4非致命伤害,飞行生物被吹回2d6×10尺并受到2d6非致命伤害。


!! 环境

只能对特定的地区产生的威胁已经在上文列出(例如雪崩只会在高山地区发生)。而其他较普遍的危险其描述在下文给出。

!!! 强酸

与具有腐蚀性强酸接触的生物每轮受到1d6点伤害,如果全身都浸泡在强酸中(比如处于一个装满强酸的大桶中),每轮受到10d6点伤害。使用强酸进行的攻击,比如装满强酸的小瓶或是怪物的酸性唾沫,视为接触强酸1轮。

大多数强酸所散发的气体都是有毒的。任何靠近大量强酸的生物必须进行DC 13的强韧检定,失败则受到1点体质伤害。此外它们还必须在1分钟之后进行第2次检定,失败则受到1d4点体质伤害。

全身都浸泡在强酸中的生物有可能溺死(请参考溺水)。

!!! 寒害

低温能对暴露其中的生物造成非致命伤害。如果不设法找个暖和的地方,寒冷造成的非致命伤害将无法恢复。一旦角色因为非致命伤害过重而导致昏迷,他将会开始以同样的速度受到正常伤害。

暴露在寒冷环境下的生物(低于40°F)每小时必须进行强韧检定(DC 15,每增加一次检定再+1),失败则受到1d6点非致命伤害。拥有生存技能的角色可以在检定上获得加值,而且可以将该加值应用在其他队友的检定上(请参考技能描述)。

暴露在严寒环境下的生物(低于0°F)每10分钟必须进行强韧检定(DC 15,每增加一次检定再+1),失败则受到1d6点非致命伤害。拥有生存技能的角色可以在检定上获得加值,而且可以将该加值应用在其他队友的检定上(请参考技能描述)。身着冬衣的角色只需每小时进行检定。

受到低温造成的非致命伤害的角色将会由于冻伤而感到疲劳。这些效果直到低温造成的非致命伤害完全消失才能恢复。

极度严寒(低于-20°F)每分钟造成1d6点正常伤害(无豁免)。此外,角色每分钟必须进行强韧检定(DC 15,每增加一次检定再+1)失败则受到1d4点非致命伤害。身着金属制铠甲或者是接触寒冷金属的角色将视为受到冻寒金属(chill metal)法术影响。

!!!!冰
在冰上行走的人物在进入一个被冰覆盖的方格时需要消耗2格移动力。平衡和翻滚技能的DC需要做+5的调整。与冰长时间接触视为处于严寒环境(请参考上文)。

!!! 黑暗

拥有黑暗视觉的人物或生物能在完全无光的情况下也能看清周围事物,但是只有通常视觉(或者昏暗视觉)的角色会因为失去光源而完全看不见东西。火把或是提灯会被突如其来的洞穴风吹灭,魔法光源也有可能被驱散或被反制,而一些魔法陷阱也能造成难以穿透的黑暗。

在多数情况下,在其它人物或生物失明时还是有一些人能够正常视物。在下述情况中所提到的失明是指无法看穿周围的黑暗。

—生物在黑暗致盲的情况下无法造成需要精准度的额外伤害(如偷袭)。

—失明会阻碍生物的行动,它们在移动进入一个方格的需要消耗两个方格的移动力(双倍正常消耗)。失明的生物无法冲锋或奔跑。

—失明生物的所有对手自动获得全隐蔽(50%失手几率)。失明的生物必须先判断敌人所在的位置才能进行有效攻击;如果它未判明敌人位置便发起攻击的话,则在其攻击范围内随机选取一格进攻。如果对远处敌人进行远程攻击或是施法时无法判断位置,可以在失明生物面对的临近方格内随机选取一个发起攻击,攻击将会指向该方向上距离最近的生物。

—失明的生物不但失去AC上的敏捷加值,而且AC要受到-2的减值。

—失明的生物在搜索和其他大多数基于强壮和敏捷的技能检定上需承受-4的减值,包括所有防具检定减值。任何与视觉有关的技能检定上, 失明生物自动失败。

—由于黑暗造成失明的生物无法进行凝视攻击,同时也对凝视攻击免疫。

由于黑暗造成失明的生物可以每轮进行聆听检定(即时动作)来判断敌人位置(DC等于敌人潜行技能检定值)。通过检定的生物可以察觉到一个看不见的生物就在那边某处,但是几乎不可能精确地判断敌人的位置。如果聆听技能检定超过DC达20则能判断出敌人所在方格(但该敌人仍然对失明生物拥有全隐蔽效果)。

—失明的生物可以通过摸索来找到看不见的其他生物。一名人物可以用其双手或是武器探入临近的2个方格进行摸索,视为接触攻击(标准动作)。即使刚好有目标处在指定的方格中,对于这次接触攻击仍然会有50%的失手几率。如果成功摸到,失明的角色便能精确地定位敌人位置,但摸索并不会造成伤害。(如果对手移动,必须再次定位。)

—如果失明的生物受到看不见的敌人攻击,则攻击者将被自动精确定位(直到攻击者移动)。仅有的例外是,如果攻击者使用攻击范围超过5尺的武器 (这种情况下失明生物只能大致判断敌人所在区域,但无法精确定位) 或是使用远程武器(失明生物只能判断敌人所在方向,无法判断所在区域)攻击失明生物。

—具有灵敏嗅觉的失明生物能对5尺内的生物进行精确定位。

!!! 坠落

''坠落伤害:''基础规则很简单,每坠落10尺便造成1d6点伤害,最多20d6。

如果人物是故意从高处跳下而不是失足坠下,所受的伤害并不会减少,但是最开始的1d6点伤害是非致命伤害而不是正常伤害。如果通过DC 15的跳跃检定或是DC 15的翻滚检定。人物可以避免受到开始坠落10尺造成的伤害,并且把接下来的10尺坠落伤害转化为非致命伤害。这样计算的话,一名失足从30尺高矿坑坠下的角色会受到3d6点正常伤害。如果他是故意从顶端跳下,那么他只受到1d6点非致命伤害和2d6点正常伤害。如果他成功通过了跳跃或是翻滚检定则仅仅只受到1d6点非致命伤害和1d6点正常伤害。

坠落在比较柔软的表面上(如松软的土地,泥巴)也能将最先的1d6点伤害转化为非致命伤害。这种降低伤害的方法能与故意跳跃和跳跃检定所带来的伤害减少叠加。

坠入水中:坠入水中的情况稍微有些不同。水深超过10尺的话,最先的20尺坠落高度不会造成任何伤害。接下来的20尺高度会造成非致命伤害(每10尺1d3点)。如果坠落高度超过40尺则其后的坠落将造成正常伤害(每10尺1d6点)。

故意跳入水中的角色只需通过DC15的游泳检定或是DC15的翻滚检定便不会受到任何伤害,但前提是水深至少为每30尺坠落高度10尺水深。同时坠落高度每增加50尺,检定DC+5。

!!! 坠落物

角色从高于10尺的地方坠落会受到伤害,同样的,当他们被坠落物击中时同样也会受伤。

坠落物的伤害力取决于其重量与坠落高度。每200磅重的物体从最少10尺的高处落下会对被击中的生物造成1d6点伤害。距离因素也要考虑其中,在之前高度的基础上,坠落的高度每多增加10尺便会多造成1d6点伤害(最多20d6点伤害)。

轻于200磅的物体从更高处坠落时也能造成同样的伤害。请参考表:坠落物的伤害力。

''表:坠落物的伤害力''

|!	物品重量	|!	单位距离	|
|^	200-101 磅	|^	20 尺	|
|^	100-51 磅	|^	30 尺	|
|^	50-31 磅	|^	40 尺	|
|^	30-11 磅	|^	50 尺	|
|^	10-6 磅	|^	60 尺	|
|^	5-1 磅	|^	70 尺	|

每增加一个单位距离便能多造成1d6点伤害。

轻于1磅的物体无论从多高的地方落下都不会造成伤害。

!!! 热害

高温会对角色造成非致命伤害,而且如不设法降低温度的话(比如躲避到阴凉处,坚持到黄昏时间,浸在水中避暑或者是接受忍受环境(endure elements)法术效果等等)非致命伤害不会恢复。一旦角色因为非致命伤害过重而导致昏迷,他将会开始以同样的速度受到正常伤害。

处于炎热环境下(超过 90°F)的角色必须每小时进行一次强韧检定(DC 15,每增加一次检定再+1),失败则受到1d4点非致命伤害。穿着厚重衣物或盔甲的角色在进行检定时需要承受-4的减值。拥有生存技能的角色可以在检定上获得加值,而且可以将该加值应用在其他队友的检定上(请参考技能描述)。如果角色陷入昏迷状态,那么他将受到正常伤害(每小时1d4)。

处于高温环境下的角色(超过110°F),必须每10分钟进行一次强韧检定(DC 15,每增加一次检定再+1),失败则受到1d4点非致命伤害。穿着厚重衣物或盔甲的角色在进行检定时需要承受-4的减值。拥有生存技能的角色可以在检定上获得加值,而且可以将该加值应用在其他队友的检定上(请参考技能描述)。如果角色陷入昏迷状态,那么他将受到正常伤害(每10分钟1d4)。

受到高温造成的非致命伤害的角色将会由于中暑而进入疲劳状态。这些效果直到高温造成的非致命伤害完全消失才能恢复。

极度高温(气温高于140°F,或是火焰,沸腾的水,火山熔岩)能造成正常伤害。吸入极度高温的气体每分钟会受到1d6点伤害(无豁免)。此外,每5分钟角色必须进行强韧检定(DC 15,每增加一次检定再+1),失败则受到1d4点非致命伤害。穿着厚重衣物或盔甲的角色在进行检定时需要承受-4的减值。身着金属制铠甲或者是与金属接触的角色将视为受到灼热金属(heat metal)法术影响。

沸腾的水能造成1d6点烫伤,如果角色全身都浸入沸腾的水中,每轮将受到10d6点伤害。

!!!!着火
接触到燃油,火焰,或是持续的魔法火焰的角色全身将会着火。非持续性魔法火焰造成的高温和火焰瞬间即逝,所以一般不会造成受术者身体着火。

处于着火危险情况下的角色可以通过DC 15的反射检定来避开危险。如果角色的头发或是衣物着火,那么他马上受到1d6点伤害。在这两种情况重接下来的一轮内着火的角色都必须进行另外一次反射检定。检定失败的话该轮再受到1d6点伤害。如果通过检定火焰将会熄灭。(换句话说,检定成功便可熄灭火焰。)

着火的角色如果浸泡到水中,火焰会自动熄灭。如果附近找不到水,在地上翻滚或者是用斗篷扑火等类似办法能给检定提供+4的加值。

衣服或是装备不幸着火的角色必须对其每样物品分别进行DC15的反射检定。未通过检定的易燃物品将会和角色一样遭到伤害。

!!!!火山熔岩
熔岩或者是岩浆能够对处于其中的角色每轮造成2d6点伤害,如果全身都沉浸在岩浆中的话(假设当角色失足坠入火山口),每轮将受到20d6 点伤害。

角色即使逃离被岩浆覆盖的区域,伤害仍会持续1d3轮。但是这些额外的伤害只相当于处于岩浆区时所受伤害的一半(确切地说,1d6或是10d6每轮)。

对热的免疫力或者抗力对于熔岩或是岩浆同样奏效。然而,即使生物拥有对热的免疫力,在全身都浸入岩浆时同样有可能溺死(请参考下文溺水)。

!!!烟雾

吸入浓烟的角色每轮必须进行强韧检定(DC 15,每增加一次检定再+1),如果检定失败则整轮咳嗽不止。连续咳嗽2轮的角色将受到1d6点非致命伤害。

烟雾也会影响到可见度,它能给处于其中的角色提供隐蔽(20%失手几率)。


!!!饥饿与干渴

有时,角色会面临缺水或者是缺粮却又找不到补给的情况。在一般环境下,中等体型角色每天需要消耗1加仑的饮料和1磅象样的食物来充饥。(小体型角色只需要一半。) 如果天气非常热,角色则需要饮用2到3倍的饮料来解渴。

不饮水的情况下,角色一般可以坚持一天,再加上等同于体质值的小时数。超过这段时间的话,角色每小时必须通过体质检定(DC 10,每增加一次检定再+1),失败则受到1d6点非致命伤害。

角色可以坚持3天不进食,但是会越来越不舒服。超过这段时间的话,角色每小时必须通过体质检定(DC 10,每增加一次检定再+1),失败则受到1d6点非致命伤害。

如果角色因为缺粮断水而受到非致命伤害,他们会进入疲劳状态。除非角色进食或是饮水,否则饥饿或干渴造成的非致命伤害不会恢复,即使是魔法也无法恢复失去的生命值。


!!!窒息

角色在没有呼吸空气的情况下可以闭气的轮数为其体质值的2倍。如超过这段时间,角色每轮必须做DC 10的体质检定来继续闭气。每增加一轮DC+1。

角色一旦检定失败,那么他便开始窒息。第一轮将处于瘫痪状态(生命值0)。接下来的一轮其生命值将降低到-1并处于濒死状态。到第3轮时角色将会窒息而死。

''缓慢窒息:''一名中等体型的角色可以在1000立方英尺的密闭房间内呼吸6小时。如超过这段时间,角色每15分钟将受到1d6点非致命伤害。如果还有其他的角色或者火源的话(例如火把)会相应减少呼吸时间。

小体型的角色消耗空气速度是中等体型角色的一半。如果有大量空气的话,呼吸时间自然也更长。

!!!危险水域

所有的角色都能轻松涉过深度在头部以下的平静水域而不需要做检定。同样,游过平静水域只需要通过DC10的技能检定。经过游泳技能训练的角色则可以直接取10。(注意,不管在什么情况下,防具和过重的负载都会很大地影响到游泳技能检定。请参考游泳技能的描述。)

相对而言,通过急流比泅过平静水域要危险得多。即使角色成功地通过了DC 15的游泳检定或是DC 15的力量检定,每轮仍然会受到1d3点非致命伤害(如果途中撞上暗礁或者是小型瀑布则受到1d6点正常伤害)。如果检定失败,角色则需要再做一次检定以避免下沉。

深水区域不但漆黑一片,容易导致船只失事,更糟糕的是,强大的水压会对角色造成伤害。低于水面100尺时每分钟都要做一次DC 15的强韧检定(DC 15,每100尺+1)。如果通过则一分钟内不受伤害,失败则受到1d6点正常伤害。

角色处于非常寒冷的水中时,体温会急剧下降。每分钟受到1d6点非致命伤害。

!!!!溺水
角色潜入水下时可以屏住呼吸,能坚持的轮数等于其体质的2倍。如超过这段时间,角色每轮必须做DC 10 的体质检定来继续憋气。每增加一轮DC+1。

角色一旦检定失败,那么他便开始溺水。溺水的第一轮将处于瘫痪状态(生命值0)。接下来的一轮其生命值将降低到-1并处于濒死状态。到第3轮时角色将会溺死。

除了在水中以外,在其他地方也有溺死的危险。如细沙,流沙或是装满谷物的谷仓。
!! 移动,位置,距离

小模型大概有30毫米尺寸——一个6尺高人类的小模型大概有30毫米高。战场网格上的一个方格是一英寸见方,代表了5*5尺区域。

 

!!! 战术移动(TACTICAL MOVEMENT)

!!!! 你的角色可以移动多远?
你的速度是根据你的种族和盔甲所决定的(见表:战术速度)。当不穿甲时你的速度就是你的基本陆地速度。

''负重:''背负着过多的装备、财宝、或者倒下的同伴都有可能让你移动起来比正常时候慢。

''受限移动:''困难地形、障碍物、或者较差的能见度都会限制你的移动。

''战斗中的移动:''一般来说,在一轮里你可以按你的速度移动一次然后还可以作某些事情(即做一个移动动作和一个标准动作)。

如果你除了移动什么都没做(即你用一轮中所有的动作都用来按照你的速度移动),你就可以移动双倍速度距离。

如果你整轮中都在奔跑,那么你可以移动四倍速度距离。如果做了某些需要整轮时间的动作,那么你至多可以做一个五尺快步。

''速度加值:''野蛮人在速度上有+10的脚程加值(foot bonus)(除非他穿着重甲)。经验老道的武僧也有较高的速度(除非他们穿着了任何一种盔甲)。另外,很多法术和魔法物品可以影响人物的速度。必须先应用所有的速度修正,之后再根据盔甲或负重调整人物速度,另外相同类型的速度加值不能累加。

 

表:战术速度

|!	种族	|!	无甲或轻甲	|!	中甲或重甲	|
|^	人类,精灵,半精灵,半兽人	|^	30尺(6个方格)	|^	20尺(4个方格)	|
|^	矮人	|^	20尺(4个方格)	|^	20尺(4个方格)	|
|^	半身人,侏儒	|^	20尺(4个方格)	|^	15尺(3个方格)	|

 

!!!!测量距离
''对角线:''在测量距离时,第一个对角线计为1个方格,第二个计为2个方格,第三个计为1,第四个计为2,依此类推。

你无法沿着对角线移动通过一个墙角(即使采用五尺快步也不行)。你可以沿着对角线绕过一个生物,即使是敌对生物。

你还可以沿着对角线移动绕过其他不可通行的障碍物,例如坑洞。

''最接近的生物:''当判断哪个方格或生物最接近某区域很重要时,如果两个方格或生物同等接近,通过掷骰来随机决定哪个视为最接近。

 

!!!!移动穿过一个方格
''友方:''除非你在冲锋中,否则你可以移动通过被友方人物占据的方格。当你移动通过被友方人物占据的方格时,那个人物不能给予你掩蔽。

''敌方:''你无法移动通过被敌方人物占据的方格,除非对方在无助状态中。你可以穿越由无助敌方人物占据的方格而不会受到惩罚。(有些生物,特别是非常大的那些,即便是无助状态下也要视为障碍物。在这种情况下,每穿越一个方格都要计为2个方格。)

''结束移动:''你不能在结束移动时停留在其他生物所处区域里,除非对方是无助状态。

''闯越(Overrun):''在移动期间你可以尝试通过由敌方人物占据的区域。

''翻滚(Tumbling):''经过训练的人物可以尝试用翻滚来通过由敌方人物占据的区域(见翻滚技能说明)。

''非常小的生物:''超微型(Fine)、微型(Diminutive)、或者超小型(Tiny)生物可以移动进入或者穿越被占据的方格。这么做时此生物会遭受借机攻击。

''被体型大三级或小三级生物所占据的区域:''任何生物都可以穿越被体型比自己大三级的生物所占据的区域。

大体型生物也可以穿越被体型比自己小三级的生物所占据的区域。

''特殊情况:''有些生物不符合上面规则。能完全占据所处区域的生物无法被穿越,即使使用翻滚技能或者类似特殊能力也不行。

 

!!!!地形和障碍物
''困难地形:''困难地形会限制移动。计算移动时在困难地形里的每个方格都算作两个方格。(困难地形中每个对角线移动算作三个方格。)你不能用奔跑或者冲锋来通过困难地形。

如果你占据的区域内有好几种地形,你最多只能按照你所处区域中最困难的地形所允许的速度移动。

飞行生物和虚体生物不受困难地形影响。

''障碍物:''和困难地形类似,障碍物也会限制移动。如果一个障碍物限制了移动但并未完全隔断移动,那么每个有阻碍的方格或者在方格间的障碍物都计作两个方格的移动力。要穿越这种障碍必须付出这种花费,还要再加上移入另外一边区域的花费。如果你没有足够的移动力来穿越障碍并到达另外一边,你就无法穿越这障碍。有些障碍还需要某些技能检定来穿越。

另外,有些障碍会完全阻挡移动。人物不能穿过一个阻挡的障碍物。

飞行生物和虚体生物可以避开大部分障碍物。

''挤:''有些时候,你必须挤入或者挤着通过某些比你占据空间还要狭窄的地方。你可以挤入的空间宽度至少需要自身正常宽度的一半。移入或者通过狭窄的空间内一个方格计为两个方格,并且挤在狭窄空间时在攻击上受到-4惩罚,在AC上也要受到-4惩罚。

当一个大型生物(即正常占据4个方格的生物)挤入一个方格宽的空间时,该生物的示意模型占据两个方格,并要放在这两个方格中间。对于更大的生物,要同样将此生物放入它所挤入的空间中心。

生物可以挤着通过一个敌人,但是不能停在被占据方格中。

要挤入比自身宽度一半还要窄的空间,你必须使用脱逃术技能。在使用脱逃术挤入或通过狭窄区域时无法进行攻击,在AC上受到-4惩罚,同时失去AC上的敏捷加值。

 

!!!!特殊移动规则
这些规则包含了特殊移动情况。

''在不合规格的空间中意外终止移动:''有些时候人物会在移动通过通常不允许停止的空间时会停止移动。在这种时候,将此生物示意模型放在最后一个曾经占据过的合格位置,或者最靠近的一个合格位置(如果有较近的合格位置)。

''双倍移动代价:''当因为某种情况你的移动受到限制时,你的移动通常需要双倍代价。例如,在困难地形中移动一个方格要计为两个方格,每个对角线计为三个方格(就像正常情况下移动两个对角线一样)。

如果移动代价要翻倍两次,那么每个方格计为四个(对角线移动计为六个)。如果移动代价要翻倍三次,那么每个方格计为8个(对角线则为12个),依此类推。通常规则中两个双倍计为一个三倍,但是这里是一个例外。

''最小移动:''不管移动上有多少惩罚,你都可以用一个整轮动作来向任何移动5尺(一个方格),甚至是对角线。(此规则不能使你移动通过不可通过地形,也不能让你在一切移动都无法进行时移动。)这种移动会导致借机攻击(和移动距离无关,这个移动不算五尺快步)。

 

!!!战斗中大型和小型生物(BIG AND LITTLE CREATURES IN COMBAT)

比小型小或者比中型大的生物有特殊的位置规则。

''超小型(Tiny),微型(Diminutive),超微型(Fine)生物:''非常小的生物占据空间比一个方格小。这意味着一个方格内可以进入多个这种生物。一个超小型生物通常占据2-1/2尺见方,因此四个正好可以占满一个方格。二十五个微型生物或者100个超微型生物可以占满一个方格。占据空间小于一个方格的生物通常天生触及范围为0尺,即它们无法触及临近方格。它们必须进入对手的空间才能对其进行近战攻击。这会导致对方的借机攻击。因为只要需要,你可以对自己区域内进行攻击,因此你可以如常地攻击到这种生物。因为它们没有天生触及范围,它们也就无法对周围区域产生威胁。你可以穿越它们而不受借机攻击。它们也无法夹击敌人。

''大型(Large),超大型(Huge),巨型(Gargantuan),超巨型(Colossal)生物:''非常大的生物占据空间不止一个方格。

占据空间超过一个方格的生物通常有10尺或者更多的天生触及范围,这意味着即使他们不在临近的方格内也可以触及目标。

和其他人使用触及武器不同,有比正常更大的触及范围(超过5尺)的生物依然能够威胁到临近的方格。如果逼近有较大威胁范围的生物,通常对方会对你借机攻击,因为在能攻击到他之前你必须先进入然后在其触及范围内移动。(如果你做五尺快步则不会引发借机攻击。)

使用触及武器的大型或更大的生物可以攻击到双倍于他们的天生触及范围,但是他们无法攻击到他们天生触及范围或者更近距离。

 

''表:生物体型和尺寸''

|!	生物体型	|!	占据空间^^1^^	|!	天生触及距离^^1^^	|
|^	超微型(Fine)	|^	1/2 尺	|^	0	|
|^	微型(Diminutive)	|^	1 尺	|^	0	|
|^	超小型(Tiny)	|^	2-1/2 尺	|^	0	|
|^	小型(Small)	|^	5 尺	|^	5 尺	|
|^	中型(Medium)	|^	5 尺	|^	5 尺	|
|^	大型(高型)(Large (tall))	|^	10 尺	|^	10 尺	|
|^	大型(长型)(Large (long))	|^	10 尺	|^	5 尺	|
|^	超大型(高型)(Huge (tall))	|^	15 尺	|^	15 尺	|
|^	超大型(长型)(Huge (long))	|^	15 尺	|^	10 尺	|
|^	巨型(高型)(Gargantuan (tall))	|^	20 尺	|^	20 尺	|
|^	巨型(长型)(Gargantuan (long))	|^	20 尺	|^	15 尺	|
|^	超巨型(高型)(Colossal (tall))	|^	30 尺	|^	30 尺	|
|^	超巨型(长型)(Colossal (long))	|^	30 尺	|^	20 尺	|
|^	1 //这些值是这类体型生物的典型数据。存在某些例外。//	|<|<|









!! 吟游诗人的法术

!!! 吟游诗人的0级法术(戏法,CANTRIPS)
<<list-links "[tag[吟游诗人0]]+[sort[title]]>>

!!! 吟游诗人的1级法术
<<list-links "[tag[吟游诗人1]]+[sort[title]]>>

!!! 吟游诗人的2级法术
<<list-links "[tag[吟游诗人2]]+[sort[title]]>>

!!! 吟游诗人的3级法术
<<list-links "[tag[吟游诗人3]]+[sort[title]]>>

!!! 吟游诗人的4级法术
<<list-links "[tag[吟游诗人4]]+[sort[title]]>>

!!! 吟游诗人的5级法术
<<list-links "[tag[吟游诗人5]]+[sort[title]]>>

!!! 吟游诗人的6级法术
<<list-links "[tag[吟游诗人6]]+[sort[title]]>>




<<list-links "[tag[战斗]]+[sort[title]]">>

!! 战斗流程

战斗是循环的,每个人都在一个正常轮组成的循环中轮流行动。战斗按照以下顺序进行:

# 每个作战者开始时都处于措手不及状态(flat-footed)。当作战者行动以后,他就不再处于措手不及状态。
# 决定哪些作战者在作战开始时觉察到他们的敌人。如果只有一部分作战者觉察到敌人,那么在作战的正常轮(regular round)开始前有一个突袭轮(surprise round)。觉察到敌人的作战者可以在突袭轮中行动,因此他们要投一个先攻。按照从高到低的先攻顺序,觉察到敌人的作战者可以在突袭轮中做一个动作(action)(可以是标准动作或者是移动动作)。那些没觉察到敌人的作战者在突袭轮中不能做动作。如果在战斗开始时没有人觉察到对方,或者所有人都彼此发现,那么没有突袭轮。
# 还没有投过先攻的作战者投先攻。现在所有的作战者都将开始进行第一个正常轮。
# 按照从高到低的先攻顺序行动。
# 当所有人都过了一轮后,先攻最高的作战者再次行动,并且重复步骤4和5直到作战结束。

!! 战斗数据

这一部分给出了哪些数据决定战斗是否成功,同时给出了它们的详细说明。

!!! 攻击检定(ATTACK ROLL)

一次攻击检定代表你在该轮中自己行动时试图攻击你的对手一次。当作攻击检定时,你要投一个d20并且加上你的攻击加值(通常其他修正也要应用在这次检定上)。如果结果大于等于对手的防御等级,那么你命中了对手,并造成伤害。

''自动失手和自动命中:''攻击检定时自然骰结果为1(d20投出1)总是失手,自然骰结果为20(d20投出20)总是命中。自然骰20时同时认为是重击威胁。

!!! 攻击加值(ATTACK BONUS)

使用近战武器的攻击加值是:

<<<
''基本攻击加值+强壮修正+体型修正''
<<<

使用远程武器的攻击加值是:


<<<
''基本攻击加值+敏捷修正+体型修正+距离减值''
<<<

''表:体型修正''

|!	体型	|!	体型修正	|!	体型	|!	体型修正	|
|^	超巨型(Colossal)	|^	–8	|^	小型(Small)	|^	+1	|
|^	巨型(Gargantuan)	|^	–4	|^	超小型(Tiny)	|^	+2	|
|^	超大型(Huge)	|^	–2	|^	微型(Diminutive)	|^	+4	|
|^	大型(Large)	|^	–1	|^	超微型(Fine)	|^	+8	|
|^	中型(Medium)	|^	+0	|^		|^		|

 

!!! 伤害(DAMAGE)

当命中成功时即造成伤害。依照使用的武器类型决定伤害数。徒手击打与使用天生物理攻击的生物,其伤害修正的计算和使用武器一样。

伤害导致目标的当前生命值减少。

''最低伤害:''如果因为减值导致伤害值低于1,那么依然可以造成1点伤害。

''强壮加值:''当使用近战武器或者投掷武器(包括投石索)时,强壮修正要应用在伤害上。使用普通弓而不是复合弓攻击时,强壮减值(不是加值)要应用在伤害上。

//副手武器(Off-Hand Weapon)://当用副手武器造成伤害时,只能加上一半的强壮加值。

//双手持用武器://当双手持用武器造成伤害时,伤害值可以加上强壮加值的一又二分之一倍。但该规则不适用于双手使用轻武器。

''倍数伤害:''有时你会造成倍数伤害(例如重击),此时需要做多次伤害掷骰(每次加上所有调整值),然后将结果合计。注意:当你获得多次倍数伤害时,每个倍数都对原始未经翻倍的伤害起作用。

例外:以额外骰表示的武器伤害不能翻倍。

''属性伤害(Ability Damage):''某些生物和魔法可以导致暂时的属性伤害(属性值减少)。

 

!!! 防御等级(ARMOR CLASS)

防御等级(AC)代表对手能伤害到你的困难度。即对手要攻击到你需要的最低命中检定值。AC等于:

<<<
''10+盔甲加值+盾牌加值+敏捷修正+体型修正''
<<<


 

注意盔甲限制了你的敏捷加值。如果穿戴了盔甲,你有可能无法将你全部的敏捷加值加在AC上。

有些时候你无法使用敏捷加值(如果有的话)。如果你无法对攻击做出反应,那么你将失去AC上的敏捷加值(如果没有敏捷加值则没有影响)。

 

''其它修正:''多种其他AC修正。

//增强加值(Enhancement Bonuses)://增强加值可以让你的盔甲更好的防御。

//偏斜加值(Deflection Bonus)://一些魔法效果可以偏转攻击,增加你的AC。

//天生防御(Natural Armor)://天生防御也可以增加AC。

//闪避加值(Dodge Bonuses)://有些其他的AC加值是通过闪避来避免伤害的。这类加值称为闪避加值。在任何会导致敏捷加值无法使用的情况下,闪避加值也将无法发挥作用。(穿戴盔甲不会限制闪避加值,因为它只是限制AC上的敏捷加值)。和其它类型的加值不同,闪避加值可以累加。

''接触攻击(Touch Attacks):''某些攻击忽视盔甲,包括盾牌和天生防御。在这种情况下,攻击者做一次接触攻击检定(远程或者近战)。当你是接触攻击的目标时,你的AC将不包括任何盔甲加值、盾牌加值、以及天生防御加值。其他修正,例如体型修正、敏捷修正、偏斜加值(如果有)正常起作用。

 

!!! 生命值(HIT POINTS)

当你的生命值总数为0时,你处于瘫痪状态。当达到-1时,你处于濒死状态。当达到-10时,你死了。

 

!!! 速度(SPEED)

速度代表你可以在一轮中移动后并且还做点事情(例如攻击或施法)的距离。你的速度大部分依赖于你的种族和你穿戴的盔甲。矮人,侏儒,还有半身人的速度是20尺(4个方格),在穿戴中甲或者重甲时速度为15尺(3个方格)(矮人除外,他们穿戴任何盔甲的速度都是20尺)。人类,精灵,半精灵,还有半兽人的速度是30尺(6个方格),在穿戴中甲或者重甲时速度为20尺(4个方格)。

如果你一轮中做两次移动动作(有时叫双移动动作),你可以移动你速度的两倍距离。如果你整轮都用在奔跑上,你可以移动四倍速度(穿重甲时为三倍)。

 

!!! 豁免检定(SAVING THROWS)

通常在受到特殊攻击或魔法攻击时,可以通过做一个豁免检定来决定是否避开或者减低攻击效果。和攻击检定类似,豁免检定也是掷一次d20加上一个豁免加值,该值依赖于你的职业,等级,还有属性值。你的豁免修正等于:

<<<
''基本豁免加值+属性修正''
<<<


''豁免检定类型:''有三种豁免检定,强韧(Fortitude),反射(Reflex),意志(Will)。

//强韧://该豁免是你对抗肉体和健康伤害的衡量。强韧检定需加上体质修正。

//反射://该豁免可以让你尝试避开区域性攻击。反射检定需加上敏捷修正。

//意志://该豁免反映出抵抗精神影响以及很多魔法效果的能力。意志检定需加上感知修正。

''豁免难度等级(Saving Throw Difficulty Class):''豁免DC由攻击本身决定。

''自动失败或成功:''豁免检定自然骰为1(d20掷出1)时认为该豁免检定自动失败(有可能会影响到暴露在外的物品,见豁免检定后的物品存留)。自然骰为20(d20掷出20)时认为自动成功。
<<list-links "[tag[战斗和探索]]">>
!! 战斗修正(COMBAT MODIFIERS)

 

!!! 有利和不利条件

 

''表:攻击检定修正 ''    

|!攻击者处在…… |!	近战	|!	远程	|
|^	目眩中(Dazzled)	|^	–1	|^	–1	|
|^	纠缠中(Entangled)	|^	–2^^1^^	|^	–2^^1^^	|
|^	正在夹击(Flanking)防御者	|^	+2	|^	—	|
|^	隐形(Invisible)	|^	+2^^2^^	|^	+2^^2^^	|
|^	在较高地势	|^	+1	|^	+0	|
|^	俯卧中(Prone)	|^	–4	|^	—^^3^^	|
|^	战栗(Shaken)或惊惧(frightened)	|^	–2	|^	–2	|
|^	挤入狭窄空间	|^	–4	|^	–4	|

|^	1 //被纠缠的人物同时敏捷上还要受到-4惩罚,这也有可能影响他的攻击检定。//	|<|<|
|^	2 //防御者失去所有AC上敏捷加值。如果目标已经目盲则无法获得这个加值。//	|<|<|
|^	3 //在俯卧时大部分远程武器都无法使用,但是可以在俯卧中使用弩或手里剑而不受惩罚。//	|<|<|


''表:防御等级修正''

|!防御者处在…… |!	近战	|!	远程	|
|^	在掩蔽(cover)后	|^	+4	|^	+4	|
|^	目盲(Blinded)	|^	–2^^1^^	|^	–2^^1^^	|
|^	隐蔽(Concealed)或者隐形(invisible)	|^	— 见隐蔽部分 —	|<|
|^	畏缩(Cowering)	|^	–2^^1^^	|^	–2^^1^^	|
|^	纠缠(Entangled)	|^	+0^^2^^	|^	+0^^2^^	|
|^	措手不及(Flat-footed)(例如被突袭,平衡中,攀爬中)	|^	+0^^1^^	|^	+0^^1^^	|
|^	擒抱中(Grappling)(但攻击者不在擒抱中)	|^	+0^^1^^	|^	+0^^1, 3^^|
|^	无助(Helpless)(例如被麻痹,睡眠中,或者被捆绑)	|^	–4^^4^^	|^	+0^^4^^	|
|^	跪或坐	|^	–2	|^	+2	|
|^	被压制(Pinned)	|^	–4^^4^^|^	+0^^4^^	|
|^	俯卧(Prone)	|^	–4	|^	+4	|
|^	挤入狭窄空间	|^	–4	|^	–4	|
|^	震慑中(Stunned)	|^	–2^^1^^	|^	–2^^1^^	|

|^	1 //防御者失去所有AC上敏捷加值。//	|^		|^		|
|^	2 //被纠缠的人物在敏捷上有-4惩罚。//	|^		|^		|
|^	3 //掷随机骰来决定究竟击中了哪个擒抱中的战斗者。该防御者失去所有AC上敏捷加值。//	|^		|^		|
|^	4 //此防御者的敏捷视为0(修正为-5)。游荡者可以偷袭无助或者被压制的防御者。//	|^		|^		|

<<list-links "[tag[战斗修正]]+[sort[title]]">>
!! 战斗中的动作

!!! 战斗轮(THE COMBAT ROUND)

在游戏世界中每一轮是六秒钟。一轮代表战斗中每个角色都有进行一次动作的机会。

每轮是从有最高先攻权的角色开始的,然后按顺序继续下去。每一轮都使用相同的先攻序列。当轮到角色的先攻次序时,他可以用他的整轮来做动作。(例外情况,看借机攻击和特殊先攻动作说明。)

在绝大部分情况下并没有一个明确的轮的结束或轮的开始。一轮可以是从第一个行动的角色到最后一个行动角色之间的游戏时间,但是通常它代表某个相同先攻值两次轮到之间的时间。最终结果是某个特定轮正好在相同先攻值开始之前结束。

!!! 动作类型

一个动作的类型代表你需要多长时间来做这个动作(在以六秒作战轮为结构的系统里)或者视为移动了多少距离。总共有6种动作类型:标准动作(standard actions),移动动作(move actions),整轮动作(full-round actions),自由动作(free actions),迅捷动作(swift actions)以及直觉动作(immediate actions)。 

在一个正常轮内,你可以做一个标准动作加上一个移动动作,或者可以做一个整轮动作。你还可以做一个或几个自由动作。你还可以用一个移动动作来代替那个标准动作。

在某些情况下(例如突袭轮内),你可能被限制只能做一个单独的移动动作或标准动作。

''标准动作(Standard Action):''一个标准动作允许你作某些事情,大部分通常是做攻击或施放法术,见表“战斗中动作”以查询其他标准动作。

''移动动作(Move Action):''一个移动动作允许你用你的速度移动或者做一个所需时间相近的动作。见表“战斗中的动作”。

你可以用一个移动动作来替换一个标准动作。如果你在一轮内没有作实际移动(通常是由于你把你的移动替换成一个或多个移动等效行动),你可以做一个五尺快步,该动作可以在行动前,行动中,或行动后做。

''整轮动作(Full-Round Action):''一个整轮动作需要你用整轮时间去做。在采取整轮动作时你唯一可以做的移动是一个五尺快步,该动作可以在行动前,行动中,或行动后做。你还可以做自由动作(见之后的说明)。

某些整轮动作不允许你做五尺快步。

某些整轮动作可以当作标准动作去做,但是前提是你被限制在一轮中只能做一个标准动作。各种动作的说明(见后)详细的说明了那些动作允许这样做。

''自由动作(Free Action):''自由动作只消耗非常少的时间和力气。你可以在正常做其他动作的同时做一个或几个自由动作。当然,什么动作是真正的自由动作是有一些合理限制的。

''迅捷动作(Swift Action):''迅捷动作只消耗非常少的时间,但是比自由动作更费力。你每个回合只能做一个迅捷动作。

''直觉动作(Immediate Action):''直觉动作与迅捷动作非常相似,但是可以在任何时间做——即使并非你的回合。

''并非单独动作(Not an Action):''一些行动非常小,以至于它们甚至不被认为是自由动作。它们通常不消耗任何时间,一般认为它们是做某些其他动作的一部分。

''受限行动(Restricted Activity):''在某些情况下,你无法做一个整轮动作的全部行动。在这些情况下,你被限制为只能做一个单独的标准动作或一个单独的移动动作(和正常情况一样可以加上一些自由动作),你无法做一个整轮动作(不过你可以用一个标准动作开始或结束一个整轮动作;见之后的说明)。

 

''表:战斗中的动作''

|!标准动作 |!借机攻击^^1^^ |
|^	攻击(近战)	|^	否	|
|^	攻击(远程)	|^	是	|
|^	攻击(徒手)	|^	是	|
|^	使用除药剂和油之外的魔法物品	|^	否	|
|^	援助他人	|^	可能^^2^^	|
|^	冲撞	|^	是	|
|^	施放法术(施法时间为一个标准动作)	|^	是	|
|^	专注维持一个已启用的法术	|^	否	|
|^	解消法术	|^	否	|
|^	拔一个隐藏的武器(见手上功夫技能)	|^	否	|
|^	喝药剂或者使用油	|^	是	|
|^	从擒抱中挣脱	|^	否	|
|^	佯攻	|^	否	|
|^	用火柴点燃火把	|^	是	|
|^	降低法术抗力	|^	否	|
|^	稳定濒死伙伴的伤势(见医疗技能)	|^	是	|
|^	闯越	|^	否	|
|^	阅读卷轴	|^	是	|
|^	准备动作(触发一个标准动作)	|^	否	|
|^	击破武器(攻击)	|^	是	|
|^	击破物品(攻击)	|^	可能^^3^^	|
|^	全防御	|^	否	|
|^	超度或斥喝不死生物	|^	否	|
|^	使用特异能力	|^	否	|
|^	使用需要一个动作的技能	|^	通常会	|
|^	使用类法术能力	|^	是	|
|^	使用超自然能力	|^	否	|
|!移动动作 |!借机攻击^^1^^ |
|^	移动	|^	是	|
|^	控制受惊的坐骑	|^	是	|
|^	引导或者改变已启动的法术方向	|^	否	|
|^	拔武器^^4^^	|^	否	|
|^	给手弩或轻弩装弹	|^	是	|
|^	开门或关门	|^	否	|
|^	上下马	|^	否	|
|^	移动很重的物体	|^	是	|
|^	捡东西	|^	是	|
|^	收武器	|^	是	|
|^	从俯卧状态站起	|^	是	|
|^	装备或卸下盾^^4^^	|^	否	|
|^	取出装起来的物品	|^	是	|
|!整轮动作 |!借机攻击^^1^^ |
|^	全力攻击	|^	否	|
|^	冲锋^^5^^	|^	否	|
|^	做致命一击	|^	是	|
|^	从捕网内脱逃	|^	是	|
|^	扑灭火焰	|^	否	|
|^	点燃火把	|^	是	|
|^	给重弩或连射弩装弹	|^	是	|
|^	在带锁铁手套上锁上或卸下武器	|^	是	|
|^	预备投掷泼溅武器	|^	是	|
|^	奔跑	|^	是	|
|^	使用需要花费一个回合的技能	|^	通常会	|
|^	使用接触魔法接触至多六个伙伴	|^	是	|
|^	撤退^^5^^	|^	否	|
|!自由动作 |!借机攻击^^1^^ |
|^	使用瞬发魔法	|^	否	|
|^	停止对法术的专注	|^	否	|
|^	扔掉物品	|^	否	|
|^	卧倒在地上	|^	否	|
|^	准备法术成分以施法^^6^^	|^	否	|
|^	说话	|^	否	|
|!并非单独动作 |!借机攻击^^1^^ |
|^	延迟	|^	否	|
|^	五尺快步	|^	否	|
|!可变动作类型 |!		|
|^	卸除武器^^7^^	|^	是	|
|^	擒抱^^7^^	|^	是	|
|^	拌摔^^7^^	|^	是	|
|^	使用专长^^8^^	|^	可变的	|

|^	1 //不管动作是什么,只要你移出威胁范围,通常都会遭受借机攻击。这一栏指的是动作本身是否会遭受借机攻击,而非移动部分。//	|<|
|^	2 //如果你援助他人做某种会遭受借机攻击的动作,则援助他人动作本身也会遭受借机攻击。//	|<|
|^	3 //如果该物品被其他生物拿着,携带着,或者穿戴着,那么会遭受借机攻击,否则不会。//	|<|
|^	4 //如果你有+1或者更高的基本攻击加值,那么你可以在做正常的移动时像一个自由动作一样融合一个该动作。如果你有双武器战斗专长,你可以在通常拔出一把武器的时间内同时拔出两把轻武器或单手武器。//	|<|
|^	5 //如果你一轮内只能做一个动作,你可以按照标准动作做此动作。//	|<|
|^	6 //除非该成分非常大或者很难使用。//	|<|
|^	7 //这些攻击类型替代了一次近战攻击,并非动作。因此它们可以像攻击一样在每次攻击或冲锋动作中使用,也可以在整轮攻击中一次或多次使用,甚至还可以在借机攻击中使用。//	|<|
|^	8 //见对应专长说明。//	|<|

 
1 不管动作是什么,只要你移出威胁范围,通常都会遭受借机攻击。这一栏指的是动作本身是否会遭受借机攻击,而非移动部分。
 
2 如果你援助他人做某种会遭受借机攻击的动作,则援助他人动作本身也会遭受借机攻击。
 
3 如果该物品被其他生物拿着,携带着,或者穿戴着,那么会遭受借机攻击,否则不会。
 
4 如果你有+1或者更高的基本攻击加值,那么你可以在做正常的移动时像一个自由动作一样融合一个该动作。如果你有双武器战斗专长,你可以在通常拔出一把武器的时间内同时拔出两把轻武器或单手武器。
 
5 如果你一轮内只能做一个动作,你可以按照标准动作做此动作。
 
6 除非该成分非常大或者很难使用。
 
7 这些攻击类型替代了一次近战攻击,并非动作。因此它们可以像攻击一样在每次攻击或冲锋动作中使用,也可以在整轮攻击中一次或多次使用,甚至还可以在借机攻击中使用。
 
8 见对应专长说明。


!!! 标准动作(STANDARD ACTIONS)

!!!! 攻击(Attack)

做一次攻击是一个标准动作。

''近战攻击(Melee Attacks):''使用普通的近战武器,你可以攻击任何5尺内的敌人。(认为5尺内的敌人是贴身的敌人。)有些武器有触及范围,见它们的说明。使用典型的触及武器可以攻击10尺远的敌人,但是不能攻击贴身的敌人(即5尺内的敌人)。

''徒手攻击(Unarmed Attacks):''徒手攻击使用拳打,脚踢,还有头撞攻击,它和使用近战武器攻击很类似,除了以下的例外:

//借机攻击(Attacks of Opportunity)://如果你徒手攻击的目标有武装,那么徒手攻击会遭受目标的借机攻击。该借机攻击在你攻击前发生。徒手攻击不会导致其他敌人的借机攻击,也不会导致徒手对手的借机攻击。

徒手的角色无法进行借机攻击(但是请看之后的“武装”徒手攻击说明)。

// “武装”徒手攻击(“Armed” Unarmed Attacks)://有时角色或生物的徒手攻击被视为武装攻击。武僧、有精通徒手攻击专长的角色、使用接触性攻击法术的施法者,以及使用天生物理武器攻击的生物全部认为是武装的。

注意这种情况在攻击和防卫时都视为武装的(即该角色可以进行借机攻击)。

//徒手攻击伤害(Unarmed Strike Damage)://中体型角色的徒手攻击可以造成1d3的伤害(和正常情况一样要加上你的强壮修正)。小体型角色的徒手攻击伤害为1d2,大体型角色的伤害为1d4。所有徒手攻击伤害都是非致命伤。徒手攻击认为是轻武器攻击(用于计算双武器攻击减值或者类似情况)。

//造成正常伤害(Dealing Lethal Damage)://你可以在进行攻击检定前特别指定让你的徒手攻击造成正常伤害,但是你要在攻击检定上受到-4减值。如果你有精通徒手攻击专长,你可以徒手造成正常伤害而不受攻击减值。

''远程攻击(Ranged Attacks):''使用远程武器,你可以射击或者投掷攻击任何在武器最大射程内并且在视野内的敌人。投掷武器的最大射程为它的射程五倍。弹射武器的最大射程为它射程的十倍。一些远程武器有较短的最大射程,见它们的说明。

''攻击检定(Attack Rolls):''攻击检定代表你试图攻击你的对手。

当作攻击检定时,你要投一个d20并且加上你在使用该武器时的攻击加值。如果结果大于等于对手的AC,那么你命中了对手,并造成伤害。

''自动失手和自动命中(Automatic Misses and Hits):''攻击检定时自然骰结果为1(d20投出1)总是失手,自然骰结果为20(d20投出20)总是命中。自然骰20时同时认为是重击威胁。

''伤害检定(Damage Rolls):''如果你的命中检定等于或者大于对方的防御等级,那么你命中了对手并造成伤害。投掷一个你武器的伤害。伤害将降低对方的现有生命值。

''多次攻击(Multiple Attacks):''一个可以在一轮多次攻击的角色必须用整轮动作(见之后的整轮动作说明)来多次攻击。

''射击或投掷攻击近战中的对手(Shooting or Throwing into a Melee):''如果你用远程武器来射击或者投掷攻击一个正在和你的同伴近战的敌人时,在攻击检定上你将受到-4减值。两个正在近战的对手是指两者彼此敌对并且彼此威胁。(一个失去意识或者其他固定不动的角色不认为正纠缠于近战,除非他正在被攻击。)

如果你的目标(或者目标的一部分,如果它是个较大体型的目标)距离你最近的伙伴至少10尺以上,你将不受-4减值,即使你瞄准的该生物正在和你的伙伴近战。

//精确射击(Precise Shot)://如果你有精确射击专长,你将不受到该减值。

''以标准动作进行防御式战斗(Fighting Defensively as a Standard Action):''你可以在攻击时选择战斗防卫姿态。如果这么做,你将在本轮中所有攻击上受到-4命中减值,同时在该轮中防御等级上有+2闪避加值。

''重击(Critical Hits):''当你做攻击检定获得自然骰20(d20获得20),无论对方防御等级是多少你都将攻击到你的目标,并且你获得了一个重击威胁。这一击有可能成为一个重击(或者CH)。为了判断该攻击是否是重击,你必须立刻再做一次重击检定,即另外一次攻击检定,所有攻击修正都和之前攻击的修正相同。如果这次重击检定的结果大于或等于对方的AC,你这一击就是重击。(重击检定只需命中对方,不需要再次得到20。)如果重击检定没有命中,那么你这一击只是普通命中。

重击意味着你可以再投一次或更多次伤害,这些伤害都有所有正常的伤害加值和伤害检定。除非有特别说明,重击的威胁范围都是攻击检定投出20,重击倍数是两倍。

//例外://武器正常伤害之外的额外伤害在重击时不记入重击倍数。

//扩大重击范围://有时你的重击威胁范围比单独的20大,即你可以在得到一个较低值的情况下造成重击威胁。在这种情况下,投出20以下的值并非必然命中。任何不能命中的攻击检定都不视为重击威胁。

//增加重击倍数://有些武器可以让你在重击时获得比双倍更多的伤害。

//法术和重击://需要做攻击检定的法术都可能获得重击。不需要做攻击检定的法术不能造成重击。

!!!! 施法(Cast a Spell)

大部分法术都需要一个标准动作来施放。你可以在你移动前或移动后施放法术。

注意:在施法时你保留你的AC上的敏捷加值。

''法术成分(Spell Components):''要施放一个具有言语成分(Verbal ,V)的法术,你的角色必须能够用清晰的声音说话。如果你窒息或者在一个沉默术(silence)的区域内,你不能施放这类法术。一个聋了的施法者在施放具有言语成分的法术时有20%的失败机会。

要施放一个具有姿态成分(Somatic,S)的法术,你必须至少有一只手可以自由的做手势。在被捆绑、擒抱,或者两只手都拿着东西或被占用时无法施放该类法术。

要施放一个具有材料(Material,M),器材(Focus,F)或者神术器材(Divine Focus,DF)成分的法术,你必须按照法术说明拥有对应物品。除非特殊说明,否则准备这些材料是一个自由动作。如果在法术说明中材料或者器材的价格没有列出来,那么在你带着法术器材包时可以认为你已经有了这些材料。

一些法术需要经验值成分(Experience Point,XP),会消耗你的经验值。没有法术可以恢复这些失去的经验值。你不能支付可以让你降级的经验值,因此如果没有足够的经验值可以消耗,你将不能施放该法术。不过你可以在获得足够经验值可以升级时,立刻把这些经验值用在施放法术上,而不是保留经验值升级。在施放法术的时候就要付出这些经验值,而不管该法术是否成功。

''专注(Concentration):''你必须集中精神施法。如果你不能集中精神你就不能施法。如果你已经开始了施法,但是其他事情干扰了你,你必须做一次专注检定,否则将失去这个法术。该检定的DC依赖于干扰本身(见专注技能说明)。如果你在该检定上失败了,该法术将耗散掉而没有任何效果。如果你采用准备方式施法,它将从准备法术中失去。如果你按照意愿施法,那么即便你没有成功施法也要记入你的每日法术数量限制。

''专注以维持法术(Concentrating to Maintain a Spell):''有些法术需要在施法后继续集中精神来维持它们。专注以维持法术是一个标准动作,不会遭受借机攻击。任何可以在施法时打断专注的事情都可以在你集中精神维持法术的时候打断你。如果你的专注被打断了,该法术终止。

''施法时间(Casting Time):''大部分法术施法时间是一个标准动作。在这种情况下法术施放后立刻生效。

''借机攻击(Attacks of Opportunity):''通常在施法时那些威胁到你的敌人会对你进行借机攻击。如果你被借机攻击伤害到,你必须做一个专注检定(DC为10加受到的伤害数加法术等级),否则将失去该法术。那些以自由动作施放的法术不会遭受借机攻击。

''防御式施法(Casting on the Defensive):''以防御姿态施法不会导致借机攻击。但是这样做必须通过一个专注检定(DC=15+法术等级)。失败意味着失去该法术。

''战斗中的接触性法术(Touch Spells in Combat):''一些法术的距离是接触(touch)。要使用该类法术,你要先施放法术,然后接触目标,两者可以在同一轮,也可以在之后任何时间进行接触。在施法同一轮内,你也可以接触(或者尝试接触)目标。你可以在施法前移动,或者在接触目标后移动,或者在施法和接触目标之间移动。你可以自动接触到一个伙伴或者对自己使用该法术,但是要接触到一个敌人,你必须做一次攻击检定。

//接触攻击(Touch Attacks)://用接触性法术接触对手视为武装攻击,因此不会导致借机攻击。当然,施法动作本身还是会遭受借机攻击。接触攻击有两种类型:近战接触攻击(melee touch attacks)和远程接触攻击(ranged touch attacks)。两种类型的攻击都有可能造成重击。对抗你的接触攻击时,你对手的AC不包括任何盔甲加值,盾牌加值,以及天生防御加值。他的体型修正,敏捷修正,还有偏斜加值(如果有)还将正常应用。

//暂不散发(Holding the Charge)://如果在施法轮中你没有释放掉法术,你可以暂时继续保持该法术(暂不散发)。你可以继续在之后轮内做接触攻击。你可以以一个标准动作来接触一个伙伴,或者以一个整轮动作来接触至多六位伙伴。如果在暂不散发时接触到了任何东西或者任何人,即便是无意的,该法术都将释放。如果你施放了另外一个法术,该接触法术将耗散掉。作为选择,你可以在暂不散发时做一次普通的徒手攻击(或者用天生武器攻击),在该情况下这种攻击不视为武装攻击,因此和正常情况下一样该攻击会导致借机攻击。(如果你的徒手攻击或者天生武器攻击不会导致借机攻击,那么这次攻击也不会。)如果这次攻击命中了,你可以造成正常的徒手攻击或天生武器伤害,同时法术释放。如果这次攻击没有命中,那么法术继续保持。

//解消法术(Dismiss a Spell)://解消一个已经启动的法术是一个标准动作,不会遭受借机攻击。

!!!!启用魔法物品(Activate Magic Item)

很多魔法物品不需要启用。但是,有些魔法物品还是需要启用,特别是药剂(potions),卷轴()scrolls,魔杖(wands),权杖(rods),法杖(staffs)。启用魔法物品是一个标准动作(除非物品说明中特别指出)。

''储法类物品(Spell Completion Items):''启用储法类物品相当于施放该法术。它需要专注并且会遭受借机攻击。如果专注被打断,你将失去这个法术,你也可以和施放法术一样尝试防御式启用物品。

''法术触发类(Spell Trigger),关键字类(Command Word),或者使用即启用类(Use-Activated Items)物品:''启用这类物品不需要专注,也不会遭受借机攻击。

!!!!使用特殊能力(Use Special Ability)

使用特殊能力通常是标准动作,但是究竟是标准动作,整轮动作,或者并非单独动作要看能力的说明。

''类法术能力(Spell-Like Abilities):''使用类法术能力很象施法,需要专注,也会导致借机攻击。类法术能力可能被打断。如果你的专注被中断,使用此能力将失败,但是使用数量会和使用了该能力一样消耗掉。使用类法术能力的时间是一个标准动作,除非该能力另有说明。

''防御式使用类法术能力(Using a Spell-Like Ability on the Defensive):''你可以尝试以防御性姿态使用类法术能力,就象施法一样。如果专注检定(DC=15+法术等级)失败,使用此能力将失败,但是使用数量会和使用了该能力一样消耗掉。

''超自然能力(Supernatural Abilities):''使用超自然能力通常是一个标准动作(除非该能力另有说明)。使用该能力不会被打断,不需要专注检定,也不会遭受借机攻击。

''特异能力(Extraordinary Abilities):''使用特异能力通常不是一个动作,因为大部分特异能力是被动方式发挥作用的。那些需要动作的特异能力通常是标准动作,不需要专注,也不会导致借机攻击。

!!!!全防御(Total Defense)

你可以用一个标准动作来防卫自己。你在一轮内上获得+4AC闪避加值。在这个动作开始时你的AC就增加了。你不能在防御式攻击或使用寓守于攻专长时进行全防御(因为那些都需要声明一次攻击或者采用全力攻击)。在做全防御时不能做借机攻击。

!!!!开始/完成整轮动作(Start/Complete Full-Round Action)

标准动作“开始整轮动作” 可以让你开始一个整轮动作,你要在下一轮内用另外一个标准动作完成该整轮动作。你不能使用这个动作来开始或完成一个全力攻击、冲锋、奔跑,或者撤退。

!!! 移动动作(MOVE ACTIONS)

大部分移动动作不需要检定,但是也有些移动相关的特殊技能是例外。

!!!!移动(Move)

单纯的移动动作可以让你按你的速度移动。如果在你的回合内采用了这种移动方式,你将不能进行五尺快步。

大部分不标准的移动方式都在本分类内,包括攀爬(上限是你四分之一速度)和游泳(上限是你四分之一速度)。

''快速攀爬(Accelerated Climbing):''你可以以移动动作用你一半的速度来攀爬,在攀爬检定上会受到-5减值。

''爬行(Crawling):''你可以以移动动作爬行5尺。爬行会导致任何能威胁到你爬行路线任何一点的敌人对你借机攻击。

!!!!拔出或者收回武器(Draw or Sheathe a Weapon)

需要一个移动动作拔出武器以便在战斗中使用它,或者把它放回去让你可以有空闲的手。该动作也可以应用在所携带的类似武器并且容易拿到的物品上,例如魔杖。如果你的武器或类武器被放在背包内或者其他不容易拿到的地方,该动作视为取出装起来的物品。

如果你有+1或者更高的基本攻击加值,那么你可以在做正常移动的同时以一个自由动作拔出武器。如果你有双武器战斗专长,你可以在通常拔出一把武器的时间内同时拔出两把轻武器或单手武器。

在使用远程武器时取出弹药(如箭,矢,投石索弹丸,或者手里剑)是一个自由动作。

!!!!装备或者卸下盾牌(Ready or Loose a Shield)

需要一个移动动作来把盾牌绑在臂膀上以获得AC上的盾牌加值,松开并扔掉盾牌以便使用那只手做其他事情也是移动动作。如果你有+1或者更高的基本攻击加值,那么你可以在做正常移动的同时以一个自由动作装备或卸下盾牌。

丢掉一个携带的(并非装备的)盾牌是一个自由动作。

!!!!操作一个物品(Manipulate an Item)

在大部分情况下,移动或者操作一个物品是一个移动动作。

这些包括取出或者放回装起来的物品,捡起物品,移动很重的物品,还有开门。这些动作和它们是否会遭受借机攻击都在表“战斗中的动作”中列出。

!!!!引导或者改变已启动的法术方向(Direct or Redirect a Spell)

一些法术允许你在施法后重新指引方向去影响新的目标或区域。重新指引方向需要一个移动动作,不会遭受借机攻击,也不需要专注。

!!!!站起

从俯卧状态站起是一个移动动作,会遭受借机攻击。

!!!!上下坐骑(Mount/Dismount a Steed)

上下坐骑需要一个移动动作。

快速上下坐骑(Fast Mount or Dismount):你可以以一个自由动作上下坐骑,需要进行一个DC20的骑术检定(要应用防具检定减值)。如果检定失败,上下坐骑则是一个移动动作。(除非你在当前轮内能以移动动作上下坐骑,否则你不能进行快速上下坐骑。)

!!! 整轮动作(FULL-ROUND ACTIONS)

一个整轮动作需要一整轮时间来做。因此它不能同时做一个标准或移动动作,不过如果该动作不包括任何移动,你可以做一个五尺快步。

!!!!全力攻击(Full Attack)

如果由于你基本攻击加值较高,或者用双武器或双头武器,或者因为其他原因使你可以在一轮中做多次攻击,你必须使用整轮动作来进行你的额外攻击。你不需要在攻击前提前指定目标。在做后面的攻击前你就可以看到较早的攻击效果。

做全力攻击时唯一可以做的移动是五尺快步。你可以在攻击前,攻击后,或者两次攻击间移动。

如果是由于较高的基本攻击加值而获得多次攻击,你必须按照由高到低的顺序进行这些攻击。如果使用双武器,你可以先用任何一把武器做攻击。如果使用双头武器,你可以先使用武器的任何一头做攻击。

''决定攻击或者全力攻击:''在你第一次攻击后,你可以根据第一击的效果决定之后是否采用移动动作来代替剩下的攻击。如果你已经做了一个五尺快步,你将不能用你的移动动作进行任何移动,但是你还可以做其他的移动动作。

''以整轮动作进行防御式攻击(Fighting Defensively as a Full-Round Action):''你可以在做全力攻击动作时选择战斗防卫姿态。如果这么做,你将在本轮中所有攻击上受到-4命中减值,同时在该轮中防御等级上有+2闪避加值。

''顺势斩(Cleave):''在顺势斩和大顺势斩发挥作用时你可以获得额外攻击。这可以让你在不采用全力攻击动作时突破正常攻击的次数限制。

!!!!施法

施放整轮施法时间的法术是一个整轮动作。法术效果在你开始施法后的下一轮中你行动前产生。在法术完成之后你即可以正常行动。

需要一分钟施法时间的法术其效果在你行动一分钟后你的轮次之前产生(在此期间的10轮内,你都在以整轮动作施法)。这些动作都必须连贯而且不能被干扰,否则法术自动失败。

当你开始施放一个需要1轮或者更多时间的法术时,你必须从一开始就持续不断的念咒,做手势,以及集中精神,直到下个回合内你的行动前才可以结束。如果在开始法术后完成法术前你不再集中精神,你将失去这个法术。

只有在开始施法的时候才会遭受借机攻击,即使你要继续施法一轮或者更多轮。当施法时,你不再威胁身边任何方格。

其他施法方面说明和标准动作施法的说明相同。

''施放超魔魔法(Casting a Metamagic Spell):''相对普通魔法,术士和吟游诗人必须花费更多的时间施放超魔魔法(被超魔专长强化的魔法)。如果法术的正常施法时间是一个标准动作,那么术士和诗人施放该法术的超魔版本需要一个整轮动作。注意该法术和需要整轮施法时间的法术不同:该法术效果在你开始施法的回合内就产生了,你也不必持续念咒,手势和专注到你下一个回合。对于较长时间的法术,需要一个额外整轮动作施放该超魔魔法。

牧师必须需要更多时间来自发施放超魔版本的治疗伤害或造成伤害法术。自发施放需要一个标准动作施法时间法术的超魔版本时需要一整轮时间来施法,施放更长时间的法术需要一个额外回合。

!!!!使用特殊能力(Use Special Ability)

使用特殊能力一般是一个标准动作,但是有些是整轮动作,详见能力说明。

!!!!撤退(Withdraw)

从近战中撤退是一个全回合动作。当你撤退时,你可以移动至多双倍速度的距离。开始撤退的方格不视为任何你可以看见敌人的威胁范围,因此任何可见敌人都无法在你开始移出该方格时对你借机攻击。(隐形敌人依然可以对你进行借机攻击,在你失明时无法从战斗中撤退。)你无法在你撤退的同一回合内做五尺快步。

如果在你撤退过程中,你离开了其他的一个威胁方格(并非你开始撤退的方格),敌人可以正常的对你借机攻击。

你不能使用那些没有列出速度的移动方式撤退。

注意,和这个动作的名字无关,你不能真正的从战斗状态中脱离。

''受限撤退(Restricted Withdraw):''如果你被限制为一轮中只能做一个标准动作,你可以以标准动作做一个撤退动作。在这种情况下,你移动距离的上限是你的速度(而不是双倍速度距离)。

!!!!奔跑(Run)

你可以以整轮动作奔跑。(如果你奔跑了,你无法同时做一个五尺快步。)当你奔跑时,你可以在一条直线上移动至多四倍速的距离(或者三倍速,如果穿重甲)。你将失去AC上的敏捷加值,除非你有奔跑专长。

你可以奔跑和你体质值相同的轮数,之后你必须做一个DC10的体质检定以继续奔跑。在继续奔跑的每一轮内你都必须做体质检定,每次检定的DC都将增加1。如果你在检定中失败,你必须停止奔跑。到达奔跑极限的角色在再次奔跑前必须休息一分钟(10轮)。在休息期间,角色不能做比普通移动动作更快的移动。

你不能奔跑穿越困难地形,你也不能奔跑向你看不见的地方。

一个没有拖累的人类每小时可以奔跑12英里左右。

!!!!在困难地形上移动五尺(Move 5 Feet through Difficult Terrain)

在某些情况下,你的移动受到限制,你不能以正常速度移动哪怕移动五尺(一个方格)。在这种情况下,你必须用一个整轮动作来向某个方向移动五尺(一个方格),包括对角线。尽管看上去像一个五尺快步,但是它不是,因此它会如常遭受借机攻击。

!!!自由动作(FREE ACTIONS)

自由动作不需要花费任何时间,不过可能有一轮中可以做的自由动作数量上限。很少有自由动作会遭受借机攻击。一些普通的自由动作说明见下:

!!!!丢掉物品

把一件物品丢到你所在的空间或者一个邻近的方格是一个自由动作。

!!!!趴倒

趴倒在自己的空间内成为俯卧状态是一个自由动作。

!!!!说话

通常说话是一个自由动作,而且即使没到你的回合你也可以说话。说比几个句子更长的话通常会受到自由动作数量的限制。

!!!!停止对法术专注

你可以以一个自由动作停止对一个法术的专注。

!!! 迅捷动作(SWIFT ACTIONS)
迅捷动作花费的时间非常少,但比自由动作更费力。你每个回合能做一个迅捷动作而不会影响做其他动作,因此迅捷动作很类似自由动作。然而你每个回合只能做一个迅捷动作,无论你还做了哪些其他动作。在正常允许自由动作的时候你都可以做迅捷动作。迅捷动作通常与施法或者激活魔法物品有关;很多角色(尤其是不会施法的)根本没有机会使用迅捷动作。

!!!!施放瞬发法术(Cast a Quickened Spell)

你可以以迅捷动作施放一个瞬发法术(见法术瞬发(Quicken Spell)专长说明)或者任何施法时间指明为一个迅捷动作的法术。

施放施法时间为一个迅捷动作的法术不会遭受借机攻击。

!!! 直觉动作(IMMEDIATE ACTIONS)
与迅捷动作很类似,直觉动作也消耗非常少的时间,然而比自由动作更费力。然而与迅捷动作不同的是,直觉动作可以在任何时间做——即使不在你的回合。施放羽落术是一个直觉动作,因为这个法术可以在任何时间施放。

在你的回合做直觉动作与迅捷动作相同,计入那一回合的迅捷动作次数。如果你在不是你的回合做了直觉动作,则你不能再做其他直觉动作或者迅捷动作直到你下个回合之后(也就是说做直觉动作就等于在你的下一回合做了迅捷动作)。你在措手不及时也无法做直觉动作。


!!!其他动作(MISCELLANEOUS ACTIONS)


!!!!五尺快步(Take 5-Foot Step)

在任何没有做任何类型移动的回合中你都可以移动五尺。做一个五尺快步永远不会被借机攻击。一轮中只能做一个五尺快步,在你移动任何距离后,你都不能再在同一轮内作五尺快步。

你可以在该轮中做其他动作之前,之间,或者之后做五尺快步。

你只能在你的移动没有因困难地形或者黑暗而受限制时做五尺快步。任何速度等于或低于5尺的生物都不能做五尺快步,因为对这种缓慢的生物来说移动五尺都需要一个移动动作。

你不能使用那些没有列出速度的移动方式做五尺快步。

 

!!!!使用专长

特定专长可以让你在战斗中采用特别动作。其他专长不需要动作来使用它们,但是它们可以让你在尝试做一些你可以做的事情时获得好处。一些专长无法在战斗情况下使用。每个专长的说明都说明了你需要知道的消息。

 

!!!!使用技能

大部分技能需要以标准动作使用,但是有些属于移动动作,整轮动作,自由动作,或者其他动作。

特定技能的说明都说明了使用该技能时的动作类型。1
!! 阵营







生物通常的道德和处事态度是由他的阵营来表现的:守序善良,中立善良,混乱善良,守序中立,绝对中立,混乱中立,守序邪恶,中立邪恶,或混乱邪恶。

阵营是帮你完善你角色性格的工具。它不是限制你角色的束缚。每个阵营提供了广泛的性格和哲学观,两个同阵营的角色仍然可以是完全不同的。另外,很少有人是完全一致的。







 

!!! 善良与邪恶





善良的角色和生物保护美好的生命。邪恶的角色和生物则毁灭生命,无论是为了取乐或利益。

 “善良”意味利他主义,尊重生命和关心有灵性的生物。善良的角色会为了帮助别人而牺牲自己。

 “邪恶”则代表了伤害、压迫和杀戮。一些邪恶的生物没有同情心,只要有利就毫不犹豫的进行杀戮。另一些积极追求邪恶,为了邪恶的神袛或主宰的支持而杀戮。 

中立的人们尊敬善良和邪恶,伤害无辜会使他们感到后悔,但也缺乏帮助别人的牺牲精神。中立的人只会根据个人关系去帮助别人。

成为善良或邪恶可以是自愿的选择。但是对大部分人来说,善良或邪恶是一个人认同的态度而不是选择的结果。在善良和中立间选择中立通常表现出对善恶两方都缺乏认同,但有些则代表对平衡观念的主动态度。当认识到善良和邪恶不过是客观的状态,而不只是看法时,这些人试图为人们保持善恶的平衡,或者至少是为了他们自己这么做。

动物和其他没有道德观念的生物都是中立,而不是善良或邪恶。甚至致命的毒蛇和食人虎都是中立的,因为它们都没有判断善良或邪恶的道德能力。





 

 

!!! 守序与混乱




守序的角色诚实,守信,尊重权威,崇尚传统,而且轻视那些不负责任的人。

混乱的角色顺应自己的本性,厌恶指使,喜欢创新而不是传统,因好恶来决定是否遵守誓言。

“守序”意味荣誉,信赖,服从于权威和可靠。反过来说,守序包括封闭,墨守成规,好评判而缺乏适应性。那些选择守序的人认为,只有守序的行为才能创造一个人们可以彼此依赖的社会,才能互相信任合作。

“混乱”就是自由,适应性和灵活性。反之混乱则包括鲁莽,憎恨传统权威,独断专行和不负责任。那些推崇混乱行为的人认为,只有完全的个人自由能让人们充分地表达自己,使社会从个人行为中获益。

有些中立的人尊重秩序和混乱,一般的态度尊重权威,不会强迫自己去遵守或反抗。她诚实但也会被诱惑而说谎。

选择守序或混乱可能是自主的决定,但通常则是人格的体现而不是选择的结果。守序与混乱之间的中立通常只是中间路线,不会倾向任何一边。但是有少数一些中立者认为中立要好于守序或混乱,他们认为这两个极端都有本身的盲点和缺点。

动物和其他没有道德观念的生物都是中立。狗会服从而猫任性,但他们都没有判断守序或混乱的道德能力。



 

!!! 九大阵营





九个独特的阵营说明了守序到混乱,善良到邪恶的所有可能。在下面介绍每个阵营的典型角色。记住个人与标准之间的区别,而且每个角色每日所为也都有可能符合或不那么符合他的阵营。请把下面的描述当作建议而非剧本。

较前的六个阵营,从守序善良到混乱中立,是玩家的典型选择。三个邪恶阵营则是怪物和恶棍的选择。



 

 



''守序善良,“十字军”:''守序善良的角色就像一个好人应该或必须的方式行事。她结合了对抗邪恶的信念和严酷的战斗训练。她诚实守信,帮助需要的人,指出不公之事。一个守序善良的角色不愿看到不受惩罚的罪行。

守序善良的长处在于它结合了荣誉感和同情心。

 

''中立善良,“施恩者”:''中立善良的人会尽可能做一个好人。他乐意帮助别人。他可能与国王和官员合作,但不会对他们感到感激。

中立善良的长处在于行善不会有偏颇或与命令抵触。

 

''混乱善良,“反抗者”:''混乱善良的人会根据他自己的内心行事,而不管他人的期望。他有自己的方式,但是善良而仁慈。他相信善良和正义,但不会服从法律和规矩。他讨厌人们强迫别人或指示他怎么做。他顺从自己的道德标准,虽然本意善良,但不一定会被社会接受。

混乱善良的长处在于结合了善良的心和自由的灵魂。

 
''
守序中立,“审判者”:''守序中立的人以法律,传统或个人信条来引导他的行动。秩序和组织对她来说及为重要。她可能有个人信条,生活则遵循某个规则或标准,她也可能希望一切都按部就班,并且支持一个强大而有组织的政府领导。

守序中立的长处在于它意味着不用成为狂热者也能得到信赖和尊敬。

 

''绝对中立,“无立场者”:''绝对中立的人并没有什么主意。她对善良和邪恶,秩序和混乱没有特别的倾向。大部分绝对中立的角色缺乏信念,而不是信仰中立。这样的人认为善良要比邪恶好,毕竟她宁愿有善良的邻居和统治者而不是邪恶的。但是,她不会在任何抽象或普遍的情况下表现对善良的支持。

另一方面,一些绝对中立的角色却信仰中立的哲学。他们认为善良,邪恶,秩序和混乱都是偏见和危险的极端。就长远来看,他们认为中立是最好,最平衡的路线。

绝对中立的长处在于你处事自然,没有偏见和强迫。

 
''
混乱中立,“自由人”:''混乱中立的人冲动行事。他自始自终都是个人主义者。他重视自己的自由,但不愿意保护别人的自由。他躲避权威,怨恨约束,以及挑战传统。一个混乱中立的人不会像无政府主义者一样有意去破坏组织。如果这样做的话,不是因为善良(为了解放他人)就是邪恶(希望不同的人受苦)。混乱中立的角色可能无法预测,但他的行为并非完全随意。他并不会从桥上跳下而不是走过去。

混乱中立的长处在于它从社会限制和道德劝说中提供了真正的自由。

 
''
守序邪恶,“支配者”:''守序邪恶的人会依照自己的行为规则来得到他想要的东西,而不管这是否会伤害其他人。他重视传统,忠诚和秩序,但不关心自由,尊严或生命。他依规则行事,但是却没有怜悯和同情。阶级制度对他来说是最合适的,因为喜欢统治,愿意服从。他不会因他人的行为而谴责他人,而是根据他人的种族,信仰,家乡或社会地位。他不愿意打破法律或许诺。这一部分是来自他的本性,另一部分则是因为他依靠秩序来保护自己免遭道德观念不同的人反对。一些守序邪恶的人会有些特殊的禁忌,比如说不残忍的杀人(但让手下去做)或不伤害小孩(如果这有利的话)。他们认为这些会使他们比那些无恶不作的罪犯要好许多。

一些守序邪恶的人和生物会狂热的献身邪恶,就像十字军献身于善良一样。除了伤害他人的目标外,他们还热衷于散播邪恶。他们也可能把作恶作为侍奉邪恶的神袛或主子的一部分工作。

守序邪恶有时也被称为“魔鬼崇拜者”,因为魔鬼是典型的守序邪恶生物。

守序邪恶最危险的地方在于,它是一种有系统,有计划而经常成功的邪恶。

 

''中立邪恶,“犯罪者”:''中立邪恶的人会为了自己做任何事。她只为了自己,单纯而简单。她不会为她杀死的人流泪,不论是为了利益,高兴还是方便。她不喜欢法律,而且也不会幻想追随法律、传统或任何规范会让自己高贵。另一方面,她也不是像混乱邪恶的人一样焦躁和热衷于争斗。

一些中立邪恶的人把邪恶当作一种信念,为了自己的利益而推动邪恶。大多数情况是,一些恶徒投身于邪恶的神袛或秘密组织。

中立邪恶最危险的地方在于,它表现的是真正的邪恶,完全没有荣誉感,也完全没有变化。

 

''混乱邪恶,“毁灭者”:''混乱邪恶的角色会因他的贪婪,憎恨而做任何事,破坏欲驱使他如此行为。他暴躁,充满恶意,专横暴力而且不可预测。如果只是为了得到他想要的东西,他显得无情而残忍。如果为了散播邪恶和混乱的话,情况可能更糟糕。值得庆幸的是他并没有什么计划,而且任何他参加或组织的团体都没有很好的组织起来。一般情况下,只有在被强迫时混乱邪恶的人才会相互合作,而且只有在其领袖能应付争斗和暗杀时才能维持下去。

混乱邪恶有时也被称作“恶魔人士”,因为恶魔是典型的混乱邪恶生物。

混乱邪恶最危险的地方在于,它不但破坏美和生命,还毁坏了美和生命所依赖的秩序。




 
!! 
!! 生命统计(VITAL STATISTICS)

 

!!! 年龄



你可以自行选择或者随机决定角色的年龄。如果你自行设定,这个年龄至少要达到这个角色种族和职业的最低年龄要求(参见表:随机起始年龄)。你角色的最小起始年龄是种族的成年年龄加上表格中相对应的栏中的骰子数。

同样,你也可以根据随机起始年龄表格来决定角色的年龄。




 

''表:随机起始年龄''



|!		|!		|!		|!吟游诗人	|!牧师	|
|!		|!		|!野蛮人	|!战士	|!德鲁伊	|
|!		|!		|!游荡者	|!圣骑士	|!武僧	|
|!种族	|!成年	|!术士	|!游侠	|!法师	|
|	人类	|	15 岁	|	+1d4	|	+1d6	|	+2d6	|
|	矮人	|	40 岁	|	+3d6	|	+5d6	|	+7d6	|
|	精灵	|	110 岁	|	+4d6	|	+6d6	|	+10d6	|
|	侏儒	|	40 岁	|	+4d6	|	+6d6	|	+9d6	|
|	半精灵	|	20 岁	|	+1d6	|	+2d6	|	+3d6	|
|	半兽人	|	14 岁	|	+1d4	|	+1d6	|	+2d6	|
|	半身人	|	20 岁	|	+2d4	|	+3d6	|	+4d6	|





上了年纪以后,角色的生理属性值会减少,而他的心智属性值则增加(参见表:老化效果)。不同年龄阶段的老化结果是会叠加的。但是没有任何属性会因此而降到1以下。

当一个角色达到暮年时,就需要秘密投出他的最大年龄。其值为老化效果表格中暮年的年龄再加上最大年龄栏中的投骰结果,记录下这个数值,但不需要告知玩家。一个达到最大年龄的角色会在接下来的一年中死于衰老。

最大年龄只是给玩家人物一个参考。这个世界里的大部分人都会在到达暮年以前死于瘟疫,意外,疾病或暴力。


 

''表:老化效果 ''

|!种族	|!中年^^1^^	|!老年^^2^^	|!暮年^^3^^	|!最大年龄|
|	人类	|	35 岁	|	53 岁	|	70 岁	|	+2d20 岁|
|	矮人	|	125 岁	|	188 岁	|	250 岁	|	+2d% 岁|
|	精灵	|	175 岁	|	263 岁	|	350 岁	|	+4d% 岁|
|	侏儒	|	100 岁	|	150 岁	|	200 岁	|	+3d% 岁|
|	半精灵	|	62 岁	|	93 岁	|	125 岁	|	+3d20 岁|
|	半兽人	|	30 岁	|	45 岁	|	60 岁	|	+2d10 岁|
|	半身人	|	50 岁	|	75 岁	|	100 岁	|	+5d20 岁|
|1 中年时,力量,体质和敏捷减一,智力,感知和魅力加一。|<|<|<|<|
|2  老年时,力量,体质和敏捷减二,智力,感知和魅力加一。|<|<|<|<|
|3 暮年时,力量,体质和敏捷减三,智力,感知和魅力加一。|<|<|<|<|
 

 

!!! 身高和体重

在身高调整值栏投得的值决定了角色超过基本身高的额外值。同样,这个结果乘上体重调整值栏里的倍数可以得到角色超过基本体重的额外值。

 

''表格:随机身高和体重''

|!种族	|!基本身高	|!身高调整值	|!基本体重	|!体重调整值	|
|	男性人类	|	4´ 10½	|	+2d10	|	120 磅	|	 × (2d4) 磅 	|
|	女性人类	|	4´ 5½	|	+2d10	|	85 磅	|	 × (2d4) 磅	 |
|	男性矮人	|	3´ 9½	|	+2d4	|	130 磅	|	 × (2d6) 磅	 |
|	女性矮人	|	3´ 7½	|	+2d4	|	100 磅	|	 × (2d6) 磅	 |
|	男性精灵	|	4´ 5½	|	+2d6	|	85 磅	|	 × (1d6) 磅	 |
|	女性精灵	|	4´ 5½	|	+2d6	|	80 磅	|	 × (1d6) 磅	 |
|	男性侏儒	|	3´ 0½	|	+2d4	|	40 磅	|	 × 1 磅	 |
|	女性侏儒	|	2´ 10½	|	+2d4	|	35 磅	|	 × 1 磅	 |
|	男性半精灵	|	4´ 7½	|	+2d8	|	100 磅	|	 × (2d4) 磅	 |
|	女性半精灵	|	4´ 5½	|	+2d8	|	80 磅	|	 × (2d4) 磅	 |
|	男性半兽人	|	4´ 10½	|	+2d12	|	150 磅	|	 × (2d6) 磅	 |
|	女性半兽人	|	4´ 5½	|	+2d12	|	110 磅	|	 × (2d6) 磅	 |
|	男性半身人	|	2´ 8½	|	+2d4	|	30 磅	|	 × 1 磅	 |
|	女性半身人	|	2´ 6½	|	+2d4	|	25 磅	|	 × 1 磅	 |



<<list-links "[tag[职业]]+[sort[title]]">>

!! 兼职人物(MULTICLASS CHARACTERS)

人物可以在提升等级的时候添加一个新职业,这样就成了兼职人物。人物不同职业的职业能力合并在一起决定兼职人物的总能力。兼职提升了人物的广度但是牺牲了单一职业的深度。

 

!!! 职业和等级特性

作为通常规则,兼职人物的能力为人物各职业能力的总和。

''等级:''“人物等级”(Character level)是人物的总等级数。它用来决定何时可以获得专长和属性增长。

“职业等级”(Class level)是人物在某个特定职业上的等级。对于那些所有等级都是相同职业的人物来说,人物等级和职业等级是一致的。

''生命值:''每个职业的等级增加都会给人物提供生命值,将此生命值加在之前的总生命值上。

''基本攻击加值:''把每个职业的基本攻击加值加在一起就是人物的基本攻击加值。结果值等于或大于+6可以让人物进行多次攻击。

''豁免检定:''将各职业的基本豁免加值加起来即可。

''技能:''如果某技能是兼职人物任一职业的本职技能,那么人物等级决定了该技能的最大级数。(本职技能的最大级数为3+人物等级。)

如果某技能不是兼职人物任何职业的本职技能,那么该技能的最大级数是本职技能最大级数的一半。

''职业特性:''兼职人物获得他所有职业的职业特性,但是同时必须承受他所有职业的特殊限制。(例外:兼职野蛮人职业的人物不会变成文盲。)

在驱散不死生物的特殊情况中,牧师和较高级别圣武士都有同样能力。如果人物的圣武士等级达到4级或者更高,那么他有效驱散不死生物等级为他的牧师等级加上他的圣武士等级再减三。

在直觉闪避的特殊情况中,较高级别的野蛮人和较高级别的游荡者都有同样能力。当野蛮人/游荡者兼职人物第二次获得直觉闪避能力时(从第二个职业获得),如果他还没有精通直觉闪避能力,那么他将获得精通直觉闪避来代替直觉闪避。他的野蛮人等级和游荡者等级加在一起决定能夹击他的所需游荡者等级。

在召唤魔宠的特殊情况中,法师和术士都有相同能力。法师/术士兼职人物将其法师和术士等级相加来决定魔宠的天生防御、智力值以及特殊能力。

''专长:''兼职人物根据人物等级获得专长,不管各职业等级是多少。

''属性增长:''兼职人物根据人物等级的增长得到属性值增长,不管各职业等级是多少。

''法术:''人物从他所有施法者等级中获得法术,同时保留各职业各自的法术列表。如果某法术效果基于施法者的职业等级,玩家必须说明人物施展此法术时采用的是哪个职业法术列表。

''智力头带(Headband of Intellect)'':带有一小颗宝石的细绳,穿戴时置于前额。穿戴者的智力值有+2、+4或+6增强加值。

施法者等级:8。先决条件:“制造奇物”,“通神”或“通晓传奇”。交易价格:4000金币(+2),16000金币(+4),36000金币(+6)。
!!! 天赋职业(FAVORED CLASS)


决定兼职人物的经验值减值时,人物的天赋职业并不计算入内。



!!! 种族和语言


所有的人物都能说通用语(Common)。矮人,精灵,侏儒,半精灵,半兽人,还有半身人同时还可以说对应的本族语言。在1级时具有智力加值的人物还可以说其他的语言,每一点的智力加值能让初始人物获得一个额外的语种。

读写能力:除去野蛮人,任何人物都能正确阅读和书写所有他所会说的语言。

职业相关语言:牧师,德鲁伊,法师职业可以选择某些语言作为额外语言,即便这些语言不在他们种族说明中的语言列表中。这些职业相关语言如下:
//牧师://深渊语(Abyssal),天界语(Celestial),炼狱语(Infernal)。

//德鲁伊://木族语(Sylvan)。

//法师://龙语(Draconic)。



!!! 小型体型人物

* 小型体型的人物在防护等级上获得+1体型加值,攻击检定获得+1体型加值,躲藏技能检定具有+4体型加值。
* 小型体型的人物举重和负重能力是中型体型人物的3/4。
* 小型体型的人物移动速度通常是中型体型人物的2/3。
* 小型体型的人物使用的武器必须比中型体型人物使用的武器小。





!! 人类(HUMANS)
* 中型体型:由于体型中型,人类在体型上没有任何加值或者减值。
* 人类的基本陆地速度为30英尺。
* 1级时候有额外的4点技能点,然后每升1级将有额外的1点技能。
* 1级时自动获得一个额外专长。
* 天生使用语言:通用语。额外语言:所有语言(除了某些秘密语言,比如德鲁伊语)。请参阅语言技能。
* 天赋职业:任何职业。当计算人类兼职角色的经验值惩罚时,其最高等级职业不计入内。



!! 矮人(DWARVES)
体质+2,魅力-2。

* 中型体型 ,作为中型体型的生物,矮人没有体型上的加值或者减值。
* 矮人的基本陆地速度为20英尺。然而,即使穿着中型或重型盔甲,或是中载及重载,矮人依然可以以这个速度移动(其他种族在这种情况下移动速度会减慢)。
* 黑暗视觉:矮人在黑暗中的视力范围是60英尺。黑暗视觉只能分辨黑白两种颜色,其他则和正常视力一样,当完全没有光线的时候,矮人仍能使用黑暗视觉。
* 熟悉岩石:矮人在对不寻常的石造物进行搜索检定时,有+2种族加值。比如滑动的石墙,石制陷阱,新的石造建筑(即使刻意做得和旧石造物一样),危险的石地面,摇晃的石顶。还有一些不是由岩石制成却伪装成石造物的东西也算特殊的石造物。只要进入特殊石造物10英尺内,矮人就能进行搜索技能检定,如同他主动做了搜索检定一样。矮人也可以像游荡者一样用搜索来找到石制陷阱。在地底时候,矮人能感觉到他目前位置的大致深度,这如同人类的方向位置感觉。
* 武器熟悉:矮人将矮人重斧(dwarven waraxes)和矮人矛斧(dwarven urgroshes)视作军用武器,而不是异种武器。
* 稳定性:当矮人站在地面上对抗冲撞或者是摔绊进行相关的检定时具有+4的加值(但是这种情况不适用于任何没有牢固站在地面上的检定,比如攀爬,飞行,骑乘时)。
* 对毒素的豁免判定有+2种族加值。
* 对法术和类法术的效果的豁免判定有+2种族加值。
* 对兽人和地精类的攻击检定有+1的种族加值。
* 对巨人类时在防护等级上有+4闪避加值。当失去AC上的敏捷加值时,例如措手不及时,他同时也失去闪避加值。
* 对岩石或金属相关物品估价检定时,有+2种族加值。
* 对岩石或金属相关物品进行手艺检定时,有+2种族加值。
* 天生使用语言:通用语,矮人语(Dwarven)。额外语言:巨人语(Giant),侏儒语(Gnome),地精语(Goblin),兽人语(Orc),土族语(Terran)和地底通用语(Undercommon)。
* 天赋职业:战士。当计算矮人兼职角色的经验值惩罚时,其战士职业等级不计入内。


!! 精灵(ELVES)
* 敏捷+2,体质-2。
* 中型体型:作为中型生物,精灵在体型相关问题上没有特别的加值或减值。
* 精灵的基本陆地速度为30英尺。
* 免疫魔法睡眠效果,对惑控系法术或效果的豁免判定有+2种族加值。
* 昏暗视觉:在星光,月光,火把或类似的弱光情况下,精灵的视觉距离是人类的2倍。同时,在这种状况下,他们依然能分辨色彩和物体的细节。
* 擅长武器:精灵获得擅长军用武器:长剑,细剑,长弓(包括复合长弓),短弓(包括复合短弓)专长做为奖励专长。
* 聆听,搜索,侦察技能检定上具有+2种族加值。精灵只要经过密门或隐蔽门五英尺内,无需刻意注意就能自动进行搜索检定来找它,如同在主动寻找一样。
* 天生使用语言:通用语,精灵语(Elven)。额外语言:龙语(Draconic),豺狼人语(Gnoll),侏儒语,地精语,兽人语,木族语。
* 天赋职业:法师。当计算精灵兼职角色的经验值惩罚时,其法师职业等级不计入内。


!! 侏儒(Gnome)
* 体质+2,力量-2。
* 小型体型:由于体型小,侏儒的防护等级上获得+1体型加值,攻击检定上获得+1体型加值,躲藏技能检定获得+4体型加值,然而他使用的武器比人类小,举重和负重限度是中体型人物的3/4。
* 侏儒的基本陆地速度为20英尺。
* 昏暗视觉,在星光,月光,火把或类似的弱光情况下,侏儒的视觉距离是人类的2倍。同时,在这种状况下,他们依然能分辨色彩和物体的细节。
* 武器熟悉:侏儒将侏儒勾式战锤(gnome hooked hammers)视作为军用武器,而不是异种武器。
* 对幻术系魔法的豁免判定,有+2的种族加值。
* 对抗侏儒释放的幻术系法术时难度等级+1。此调整值可以和其他类似调整累加。
* 对狗头人和地精类生物的攻击检定都有+1的种族加值。
* 对巨人类时在防护等级上有+4闪避加值。当失去对AC上的敏捷加值时,例如措手不及,他同时也失去闪避加值。
* 聆听技能检定有+2种族加值。
* 对于手艺(炼金术)检定有+2种族加值。
* 天生使用语言:通用语,侏儒语。额外语言:龙语,矮人语,精灵语,巨人语,地精语,和兽人语。此外,侏儒可以与穴居哺乳动物交谈(例如獾,狐,兔子,或者类似生物)。这是侏儒天生的能力。详见动物交谈术(speak with animals)的法术说明。
* 类法术能力:1天1次动物交谈术(只能对穴居哺乳动物使用,持续1分钟)。魅力10或以上的侏儒,可以每天一次使用下列的类法术能力:舞光术(dancing lights),幻音术(ghost sound),魔法伎俩(prestidigitation)。施法者等级为1级。豁免判定难度等级:10+侏儒的魅力调整值+法术等级。
* 天赋职业:吟游诗人。当计算精灵兼职角色的经验值惩罚时,其吟游诗人职业等级不计入内。


!! 半精灵(HALF-ELVES)
* 中型体型:作为中型生物,伴精灵在体型相关问题上没有特别的加值或减值。

* 半精灵基本陆地速度为30英尺。
* 免疫睡眠术或类似效果,对惑控系法术或效果的豁免判定有+2种族加值。
* 昏暗视觉:半精灵在星光,月光,火把或类似的弱光情况下,视觉距离是人类的2倍。同时,在这种状况下,他们依然能分辨色彩和物体的细节。
* 聆听,搜索,侦察技能检定具有+1种族加值。
* 在交涉和搜集信息技能检定时具有+2种族加值。
* 精灵血统:在和种族相关的所有效果上,半精灵都视同精灵。
* 天生使用语言:通用语和精灵语。额外语言:所有语言(除了秘密语言,如德鲁伊语言)。
* 天赋职业:任何职业。当计算半精灵兼职角色的经验值惩罚时,其最高等级职业不计入内。

!! 半兽人(HALF-ORCS)
* 力量+2,智力-2,魅力-2。
* 半兽人的起始智力值至少为3,如果调整后的智力值为1或2,他的智力值还是3。
* 中型体型:由于体型中等,所以在体型上没有加值或者减值。
* 黑暗视觉:半兽人(包括兽人)在黑暗中的视力范围是60英尺。黑暗视觉只能分辨黑与白,其他则和正常视力一样,完全无光时,半兽人仍然可以使用黑暗视觉。
* 兽人血统: 在和种族相关的所有效果上,半兽人都视同兽人。
* 天生使用语言:通用语和兽人语。额外语言:龙语,巨人语,豺狼人语,地精语和深渊语。
* 天赋职业:野蛮人。当计算半兽人兼职角色的经验值惩罚时,其野蛮人职业等级不计入内。

!! 半身人(HALFLINGS)
* 敏捷+2。力量-2。
* 小型体型:由于体型小,侏儒的防护等级上获得+1体型加值,攻击检定上获得+1体型加值,躲藏技能检定获得+4体型加值,然而他使用的武器比人类小,举重和负重限度是中体型人物的3/4。
* 半身人的基本陆地速度为20英尺。
* 攀爬,跳跃和潜行技能检定有+2种族加值。
* 所有豁免判定都有+1的种族加值。
* 对恐惧的豁免判定有+2的士气加值,此加值和半身人的豁免判定+1种族加值累加。
* 使用投掷类武器的命中判定上有+1种族加值。
* 聆听技能检定有+2种族加值。
* 天生使用语言:通用语和半身人语(Halfling)。额外语言:矮人语,精灵语,侏儒语,地精语和兽人语。
* 天赋职业:游荡者。当计算半身人兼职角色的经验值惩罚时,其游荡者职业等级不计入内。


!! 先决条件(PREREQUISITES)

有些专长有先决条件。为选择或使用该专长你的人物必须具备指明的属性,职业特性,专长,技能,基本攻击加值,或其他指定条件。人物可在达到专长先决条件的级别的同时选择该专长。

人物在失去先决条件后不可使用该专长。

 

!! 专长种类

有些专长是普通专长(general),意味着对于这类专长没有特殊规则。一些其他专长是物品制造专长(item creation feat),可以使施法者制造各类魔法物品。超魔专长(metamagic feat)可以使施法者准备和施展具有更强效果的法术,不过同时该法术会按照比其实际级别更高的法术对待。

 

!!! 战士奖励专长(FIGHTER BONUS FEATS)

任何指定为战士专长的专长可以作为战士奖励专长而被选择。这并不限制其他职业的角色选择这类专长,只要他们符合先决条件。

 

!!! 物品制造专长(ITEM CREATION FEATS)

物品制造专长可以使施法者制造特定类型的魔法物品。无论是什么制造什么类型的物品,各制造物品专长都由具有某些相同的特征。

''经验值成本:''制造魔法物品会耗费施法者普通情况下具有的经验值。耗费的经验值等于该物品成本金币数的1/25。若制造某物品会导致制造者耗费过多经验值而降低一个等级,则其不能制造该物品。但是在获得足以升级的经验值时,人物可以直接将这些经验值用在制造物品上消耗,而非保留该些经验值用来升级。

''原材料成本:''制造魔法物品的成本等于该物品售价的一半。

使用物品制造专长还需要一个实验室或魔法工作室、特殊工具等等。人物一般可以获得其需要的东西,除非有特殊情况。

''时间:''制造魔法物品的时间取决于制造物品的专长和成本,最短是一天。

''物品成本:''“调制药水”、“制造魔杖”和“抄录卷轴”制造出直接重现法术效果的物品,这些物品的威力取决于他们的施法者等级,即从这样一件物品中的法术所具有的效果就如同该施法者等级的施法者施展该法术一般。这些物品的价格也取决于施法者等级(从而导致其经验值和材料成本也是如此)。施法者等级必须足够高到能使制造物品的施法者施展该级别的法术。每种情况下的最终价格等于将施法者等级乘以法术等级后再乘以一个常数的结果,具体如下:

卷轴:基本价格 = 法术等级 x 施法者等级 x 25金币

药水:基本价格 = 法术等级 x 施法者等级 x 50金币

魔杖:基本价格 = 法术等级 x 施法者等级 x 750金币

在进行上述计算时0级法术视为1/2级法术

''额外成本:''若任何药水、卷轴或魔杖储存的法术会耗费材料成分或经验值,则在制造时仍需额外支付这些花费。对药水和卷轴来说,制造者在制造时必须花费一份材料成分或消耗经验值。

对魔杖来说,制造者必须花费50倍的材料成分或耗费50倍的经验值。

一些魔法物品也会像这样需要花费额外的材料成分或经验值,这些都已注明在它们的物品说明中。

 

!!! 超魔专长(METAMAGIC FEATS)

随着施法者的魔法知识的增长,相对于法术最初设计的或他最初学到的施法方式,他能够学会以稍微不同的方式施法。以该种施法方式准备及施展法术会比平时更困难,但凭借超魔专长,至少这已成为可能。搭配超魔专长的法术通常会占用高于原来等级的法术位。但这并不改变法术的等级,所以其豁免DC不会提高。

''法师及神术施法者:''法师及神术施法者必须预先准备法术。在准备过程中,人物可以选择哪些法术要搭配超魔专长(这样这些法术要占用高于原来等级的法术位)。

''术士与吟游诗人:''术士与吟游诗人在施法时选择法术。他们可以在施法时选择是否搭配超魔专长以增强效果。和其他施法者一样,增强的法术占用更高等级的法术位。但由于术士与吟游诗人并不预先准备法术,他必须现场搭配超魔专长,因此该人物同时必须花费比普通法术更长的施法时间以施展超魔法术(被超魔专长增强的法术)。如果某法术的正常施法时间为一个动作,则术士与吟游诗人施展该超魔版的法术需要一个整轮动作(这与一轮的施法时间不同。)

对于需要更长施法时间的法术,则超魔后该法术的需要再增加一个整轮动作施展。

''自发施法和超魔专长:''自发施展治疗或伤害法术的牧师可以在施法时搭配超魔专长,此时也需要额外的施法时间。自发施展一个施法时间为一个动作的法术需要一个整轮动作。需要更长施法时间的法术在超魔后会多需要一整轮个动作施展。

''法术上超魔专长的效果:''在所有方面,超魔法术视为其原来的法术等级,即使它作为一个更高等级的法术而被准备及施展。豁免调整值不会改变除非在专长描述中另有说明。

这些专长的调整值仅适用于专长使用者直接施展的法术。施法者无法使用超魔专长改变一个魔杖、卷轴或其他装置内的法术。

免去法术成分的超魔专长并不会使施法免受借机攻击。然而,施展搭配“法术瞬发(Quicken Spell)”的法术不会引起借机攻击。

超魔专长并不适用于所有的法术。请见具体专长描述中记载的哪些法术不能搭配特定超魔专长。

''法术上搭配多个超魔专长:''施法者可在一个法术上搭配多个超魔专长。其等级的变化会累加。一个法术上不能多次搭配同一个超魔专长。

''魔法物品和超魔法术:''只要具备适当的制造物品专长,你可以将超魔的法术储存于卷轴、药水和魔杖之内。药水和魔杖的等级限制适用于(在搭配超魔专长后)被增加的法术等级。人物使用储存了超魔法术的物品时无需超魔专长。

''反制超魔法术:''无论法术是否搭配了超魔专长,其对抗法术反制或反制其他法术的能力不会受到影响。

 
!! 专长描述

以下为专长描述的格式

 

!!! 专长名称[专长类型]

''先决条件(Prerequisite):''最低属性、其他专长、最低基本攻击加值、最低技能级别或人物为获得该专长而需要的最低职业等级。若专长没有先决条件则本项缺省。专长可以有多个先决条件。

''效果(Benefit):''专长赋予人物(即专长描述中的“你”)的能力。除非在描述中另有说明,否则人物具有多次同一专长时其效果无法累加。

一般情况下,选择一个专长两次等于选择一次。

''正常:''不具有此专长的人物的能力限制。如果不具有此专长的人物不会有特定的劣势,则本项缺省。

''特殊:''在你决定是否选择此专长时可能会对你有帮助的此专长其他的情况。


<<list-links "[tag[专长]]+[sort[title]]">>
 <<list-links "[tag[状态]]+[sort[title]]>>
''异怪类(Aberration):''异怪通常具有奇异的生理结构,千奇百怪的特殊能力,怪异的思维方式,或者这三者的任意组合。

//特征://异怪具有下列特征。

*d8生命骰。
*基本攻击奖励等于3/4生命骰数总和(类似于牧师)。
*擅长的豁免检定:意志。
*技能点数等于每个生命骰(2+智力调整值,最少为1),第一个生命骰的技能点数为它的四倍。

//特性://异怪拥有下列特性(除非生物描述中另有说明)。

*60尺黑暗视觉。
*熟练使用它自己的天生武器。如果形态类似于人,则熟练使用所有简单武器和它的说明中所提到使用的任意武器。
*熟练使用任何和它描述中所穿戴盔甲同类的盔甲(轻、中或重甲),以及比该盔甲轻的盔甲。说明中没有提到穿戴盔甲的异怪不能熟练使用盔甲。熟练使用任一盔甲的异怪可以熟练使用盾牌。
*异怪需要进食、睡眠和呼吸。
''属性伤害(Ability Damaged)'':人物在一项或多项属性上暂时失去点数。除非注明要用其他方法治疗,否则失去的点数以每天1点的速率回升。力量为0意味着人物无力的躺在地上。敏捷为0意味着人物麻痹。体质为0意味着人物死亡。智力、感知、魅力为0意味着人物昏迷。属性伤害与属性值上的减值不同,后者会随着状态的消失而消失。
''属性吸取(Ability Drained):''人物在属性上永久失去点数。只有通过魔法手段才能回复点数。力量为0意味着人物无力的躺在地上。敏捷为0意味着人物麻痹。体质为0意味着人物死亡。智力、感知、魅力为0意味着人物昏迷。

''属性值减少(Ability Score Loss,超自然能力):''某些攻击方式能够减少对手的一项或多项属性值。这种减少可能是暂时的(属性伤害)或永久的(属性吸取)。

//属性伤害(Ability Damage)://这种攻击对对手的属性造成伤害。具有此能力的生物,在其说明中会给出所针对的属性和减少的数量。如果一次造成属性伤害的攻击是重击,它将会造成双倍数量的伤害(如果伤害需要投骰,则投两次骰)。人物所受到的属性伤害以每种属性每天1点的速度恢复。法术次等复原术(lesser restoration)和复原术(restoration)也可以补偿属性伤害。

//属性吸取(Ability Drain)://具有此效果的生物,一旦近身攻击命中,将永久减少活体对手的属性值。在该生物说明中会给出所针对的属性和减少的数量。如果一次造成属性吸取的攻击是重击,它将会造成双倍数量的伤害(如果伤害需要投骰,则投两次骰)。除非特别说明,否则每次造成属性吸取的时候无论吸取数量多少,该生物都将获得5点暂时生命值(重击为10点)。这种暂时生命值持续时间最多为1小时。属性吸取的效果是永久的,不过复原术可以恢复失去的点数。


某些属性吸取攻击允许进行强韧豁免(DC等于10+1/2造成属性吸取生物的种族HD+它的魅力调整值;具体DC将在该生物说明中给出)。如果没有提到豁免,则不存在豁免。


任何属性值的减少都会使人衰弱,在某一属性上失去全部点数更是毁灭性的打击。

*力量为0意味着人物根本不能移动。他只能无助的躺在地上。

*敏捷为0意味着人物根本不能移动。他只能无助的、僵硬的、毫不动弹的站着。

*体质为0意味着人物死亡。

*智力为0意味着人物无法思考,无助的陷入昏迷状态中。

*感知为0意味着人物坠入深沉无边的梦魇,陷入无助。

*魅力为0意味着人物陷入痴呆、昏迷且无助。

不必记录负的属性值。一个人物的属性值不能降到0以下。

某项属性值为0与无属性不同。

一些法术与能力可以造成属性值下降的效果,但与属性值减少是不一样的。在法术或能力持续时间结束后这类效果将消失,并且属性值会立刻回复到先前的状态。

如果人物的体质属性值下降,那么体质属性修正值上的降低会让他失去生命值,体质属性修正值每降低一点失去的生命值等于生命骰数。属性伤害或属性吸取不可能将生命值降低到少于每生命骰数1点。

某些生物的属性吸取能力属于超自然能力,需要在进行特定种类的攻击。当此类生物被敌人攻击时无法从敌人那里吸取属性,就算敌人徒手击打或运用天然武器攻击也是一样。

!!Aboleth(底栖魔鱼)

''超大型异怪''

|''生命骰:'' 8d8+40 (76 hp)|
|''先攻权:'' +1|
|''速度:'' 10英尺(2格),游泳60英尺|
|''防御等级:'' 16(-2体型,+1敏捷,+7天生),接触9,措手不及15|
|''基本攻击/擒抱:''6/+22|
|''攻击:'' 触须+12近战(1d6+8外加变形)|
|''全回合攻击:'' 4触须+12近战(1d6+8外加变形)|
|''面宽/触及:'' 15英尺/10英尺|
|''特殊攻击:'' 奴役,心灵异能,变形|
|''特性:'' 水生亚种,60英尺黑暗视觉,粘液云|
|''豁免:'' 强韧+7,反射+3,意志+11|
|''属性:'' 力量26,敏捷12,体质20,智力15,感知17,魅力17|
|''技能:'' 专注+16,知识(任一)+13,聆听+16,侦察+16,游泳+8|
|''专长:'' 警觉,战斗施法,钢铁意志|
|''环境:'' 地底|
|''组织:'' 单独,一窝(2-4),或一窝奴役者(1d3+1外加7~12只鱼魔怪)|
|''挑战等级:'' 7|
|''宝物:'' 双倍标准|
|''阵营:'' 通常是守序邪恶|
|''进化:'' 9-16HD(超大型);17-24(巨型)|
|''等级调整:'' -|

底栖魔鱼是一种长相丑恶的鱼形两栖生物,主要出现在地底的湖泊及河流之中。它粉红色的腹部,横列着一张大嘴,外加四个跳动着的蓝黑色的,会分泌带有腐臭味的灰色黏液的器官。它使用其尾巴在水中推进,以及在地面上拖行。底栖魔鱼重可达6,500磅。

底栖魔鱼有自己的语言,此外它们也使用地底通用语及水族语。

!!! 战斗

虽然底栖魔鱼能够使用带有粘液的触须来攻击对手,但它们比较喜欢躲在远处用自己的幻术能力来作战。

''奴役(Enslave,Su):''每天三次,底栖魔鱼可以尝试着奴役30英尺内任意一个生物。目标必须通过DC17的意志检定,否则会遭到“支配人类”法术的效果(施法者等级17)。遭到奴役的生物会遵从底栖魔鱼以心灵感应传送的命令,直到被“移除诅咒”释放为止。另外,他们也可以每隔24小时重新进行一次意志检定以解除奴役状态。若控制他们的底栖魔鱼死亡,或双方距离超过一英里,奴役状态也会解除。有效施法者等级16。该豁免DC基于魅力。

''心灵异能(Psionics,Sp):''随意使用——催眠图纹(DC15)、幻墙术(DC17)、海市蜃楼(DC18)、常驻幻影(DC18)、预置幻影(DC19)、投影术(DC20)、迷罩(DC19)。有效施法者等级16。该豁免DC基于魅力。

''变形(Slime,Ex):''被底栖魔鱼的触须击中将遭至可怕的变形。该生物必须通过DC19的强韧检定否则再过1d4+1分钟皮肤就会逐渐变成透明的粘膜。变形后的生物必须用冰凉的清水保持湿润,否则每隔10分钟就会受到1d12的伤害。变形效果还会降低该生物1点天生防御加值(但不会低于0)。该豁免DC基于体质。

在变形前施展“移除诅咒”法术可以使受影响的生物完全恢复正常。在变形之后,只有“医疗术”和“集体医疗术”才能解除变形的痛苦。

''黏液云(Mucus Cloud,Ex):''在水中的底栖魔鱼用一层大约1英尺厚的黏液将自己围绕起来。任何生物一旦接近并吸入粘液物质,必须通过DC19的强韧检定,否则接下来的3小时将丧失呼吸空气的能力。受影响的生物如果离开水面,将在2d6分钟内窒息。如果再次接触到粘液云而又没有通过强韧检定,其效果将再持续3小时。

''技能:''底栖魔鱼在任何需要特殊动作或是回避危险的游泳检定上获得+8种族加值。它永远可以在游泳检定中取10,即使在分心或是受威胁的状态下也一样。如果游泳路线是一条直线,那么她可以在游泳时使用奔跑动作。


!!! 底栖魔鱼巫师


''超大型异怪''

|''生命骰:'' 8d8+40外加10d4+70 (177 hp)|
|''先攻权:'' +7|
|''速度:'' 10英尺(2格),游泳60英尺|
|''防御等级:'' 18(-2体型,+3敏捷,+7天生),接触11,措手不及15|
|''基本攻击/擒抱:''11/+28|
|''攻击:'' 触须+18近战(1d6+9外加变形)|
|''全回合攻击:'' 4触须+18近战(1d6+9外加变形)|
|''面宽/触及:'' 15英尺/10英尺|
|''特殊攻击:'' 奴役,心灵异能,变形,法术|
|''特性:'' 水生亚种,60英尺黑暗视觉,粘液云,召唤魔宠|
|''豁免:'' 强韧+15,反射+10,意志+15|
|''属性:'' 力量28,敏捷16,体质24,智力20,感知16,魅力14|
|''技能:'' 唬骗+13,专注+25,解读文书+15,交涉+6,易容+2(表演时+4),威吓+4,知识(奥术)+15,知识(地下城)+25,知识(历史)+15,知识(位面)+15,聆听+15,搜索+10,察言观色+15,辨识法术+20,侦察+17,生存+3(在其他位面和地下城中时+5)游泳+8|
|''专长:'' 战斗施法,法术强效,施法免材,强韧加强,精通先攻,闪电反射,抄录卷轴,专攻法术(幻术系),法术穿透|
|''环境:'' 地底|
|''组织:'' 单独|
|''挑战等级:'' 17|
|''宝物:'' 双倍标准|
|''阵营:'' 通常是守序邪恶|
|''进化:'' 根据角色职业|
|''等级调整:'' -|
|''进化:'' 9-16HD(超大型);17-24(巨型)|
|''等级调整:'' -|

!!! 战斗

底栖魔鱼巫师由于更高的体质数值,触须攻击(DC21)和黏液云(DC21)的豁免DC都由此改变。而奴役(DC16)则由于其较低的魅力数值而降低了DC。心灵异能DC也因此调整如下:催眠图纹(DC14)、幻墙术(DC16)、海市蜃楼(DC17)、常驻幻影(DC17)、预置幻影(DC18)、投影术(DC19)、迷罩(DC18)。有效施法者等级16。

底栖魔鱼巫师会在试图控制对手时使用天生能力和一些法术例如移位术、高等隐形以及力墙术来保护自己。

//范例中法师已准备法术:(4/6/5/4/4/3;豁免DC15+施法者等级)://

|0级——晕眩术,侦测魔法(2),提升抗力;|
|1级——魔法警报,魅惑人类,七彩喷射,法师护甲,魔法飞弹(2);|
|2级——朦胧术,蛮力术,黑暗术,狡诈术,识破隐形;|
|3级——解除魔法,移位术,飞行术,闪电束;|
|4级——高等隐形,魅影杀手,探知,石肤术;|
|5级——怪物定身术,(强效)闪电束,力墙术。 |
''吞噬盾:''这面+1重钢盾表面平整漆黑,看上去能吸收光线。启动后,一旦成功进行近战接触攻击,就能像解离术(disintegrate)那样解离一件被碰触到的物体,每天两次。
强烈变化系灵光;CL17;制造魔法武器和防具,解离术(disintegrate);价格50170金币;制造花费25170金币+2000经验值。
''吸收法力(Absorption):''此权杖像法术磁铁,可以吸收法术或类法术能力的法力。此权杖只能吸收以权杖持有者或其装备为目标的单目标法术或射线,可让该法术失效并将法力储存于杖内,持有者可以用杖内储存的法力,施展自己的法术。当权杖吸收法术时,持有者可得知所吸收法术的等级。持有者只要手持权杖,随时都可吸收法力,不须特别动作。

使用时,请将权杖现存法力记录下来。例如,吸收了一个六级法术和一个三级法术之后,现存法力即为九级。持有者可以用现存法力施展任何已准备好的法术,而不用消耗原已准备的法术。以权杖施法时,所施展的法术等级不能超过现存法力,并仍需材料成分。承上例,持有者可以运用现存的九级法力来施展一个九级法术,或是一个五级法术加上一个四级法术,抑或是九个一级法术。如果持有者的职业不须准备法术(如:吟游诗人或术士),则可用现存法力施展任何已知法术。

无论法力施展与否,权杖可吸收的总法力上限为五十级。持有者自动知道尚可吸收的法力以及现存法力。举例而言,牧师乔森使用一支全新的“吸收法力权杖”,吸收了某个术士向他施展的“暗示”法术。因此该权杖的现存法力为三级,尚可吸收四十七级。乔森可以运用现存法力施展他准备好的一级、二级或三级法术,而不用消耗原已准备的法术。假设他对术士施展“人类定身术”(二级),该权杖现存法力成为一级,尚可吸收四十七级。

随机产生此权杖时,可掷百分骰,将结果除以2即为尚可吸收的法力等级。然后再掷一次百分骰,若结果是01-30,则表示已吸收的法力中有一半法力还现存于杖中。例如,若第一个百分骰显示尚可吸收的法力为三十四级,已吸收的法力就是十六级。十六的一半是八,所以此权杖有30%机率现存有八级的法力。

施法者等级:15。先决条件:“制造权杖”,“法术反转”。交易价格:50000金币。
!!Achaierai(鹦哥兽)

''大型异界生物(邪恶,跨位面,守序)''

|''生命骰:'' 6d8+12(39hp)|
|''先攻:'' +1|
|''速度:'' 50尺(10格)|
|''防御等级:'' 20(-1体型,+1敏捷,+10天生),接触10,措手不及19|
|''基本攻击/擒抱:'' +6/+14|
|''攻击:'' 爪抓+9近战(2d6+4)|
|''全回合攻击:'' 2爪抓+9近战(2d6+4)和啮咬+4近战(4d6+2)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 黑云|
|''特性:'' 黑暗视觉60尺,法术抗力19|
|''豁免检定:'' 强韧+7,反射+6,意志+7|
|''属性:'' 力量19,敏捷13,体质14,智力11,感知14,魅力16|
|''技能:'' 平衡+10,攀爬+13,交涉+5,躲藏+6,跳跃+21,聆听+11,潜行+10,察言观色+11,侦察+11|
|''专长:'' 闪避,灵活移动,跳跃攻击|
|''环境:'' 守序阵营的位面|
|''组织:'' 独行或成群(5-8)|
|''挑战等级:'' 5|
|''宝物:'' 双倍标准|
|''阵营:'' 总是守序邪恶|
|''进化:'' 7-12HD(大型);13-18HD(超大型)|
|''等级调整:'' -|
|''进化:''  9-16HD(超大型);17-24(巨型)|
|''等级调整:''  -|


鹦哥兽是一种巨大但无法飞行的15尺高的鸟类,他们居住在守序的位面,并很少在其他地方出现。

鹦哥兽会说炼狱语。他们重约750磅。


!!! 战斗

近战时,鹦哥兽会用四只脚的其中两只向敌人猛扑,并用强而有力的尖喙猛啄。它也会频繁的使用跳跃攻击专长来快速打击敌人,并在敌人反击之前撤出他们的攻击范围。

鹦哥兽的天然武器和他装备的任何武器在穿越伤害减免的时候都被视作守序阵营和邪恶阵营的武器。

''黑云(特异能力):''鹦哥兽每天最多可释放三次令人窒息的有毒黑云。除同类外任何在其周遭十英尺范围内生物将立刻受到2d6点伤害。受害者还必须通过强韧检定(DC=15),否则会受到摄魂术(insanity)的影响长达3个小时(施法者等级16)。这个豁免DC基于体质。 
!!! 强酸箭(Acid Arrow)

|咒法系(创造)强酸|
|''等级:''术士/法师 2|
|''法术成分:''言语,姿势,材料,器材|
|''施法时间:''一个标准动作|
|''距离:''远距(400英尺+40英尺/每等级)|
|''效果:''一支强酸箭|
|''持续时间:''1轮+1轮/每3等级|
|''豁免:''无|
|''法术抗力:''不可|
|从你手中飞出一支魔法强酸箭迅速射向目标。你必须做一次成功的远程接触攻击才能集中你的目标。这支箭造成2d4的酸伤害,但并没有溅射伤害。除非被某种方法中和掉,否则每三个施法者等级(18级时达到最大)都会额外持续一轮,并在该轮内造成另外一次2d4点伤害。|
|''材料成分:''弄碎的大黄叶和一条蝰蛇的胃囊。|
|''器材:''一只飞镖。|
!!!	酸雾术(Acid Fog)	
		
|	咒法系(创造)[强酸]	|
|		|
|	''等级:''术士/法师 6,水 7	|
|		|
|	''法术成分:''言语,姿势,材料/法器	|
|		|
|	''施法时间:''一个标准动作	|
|		|
|	''距离:''中距(100英尺+10英尺/每等级)	|
|		|
|	''效果:''20英尺半径扩散的雾,20英尺高	|
|		|
|	''持续时间:''1轮/每等级	|
|		|
|	''豁免:''无	|
|		|
|	''法术抗力:''不可	|
|		|
|	酸雾术创造出一大团浓烈的汽雾,很像[[重雾术|Solid Fog(重雾术)]]产生的雾气。除了能让生物减速和阻碍其视觉外,这道法术的蒸汽带有强烈的酸性。从你施法开始算起,在你回合中每轮结束的时候,雾气会对处在其中的所有生物和物体造成2d6酸伤害。	|
|		|
|	''奥术材料成分:''一撮混合了动物蹄粉末的干豌豆粉。	|
''高等抗酸:''吸收每次攻击中前30点酸性伤害,其余和抗酸相同。

中等防护系灵光;CL11;制造魔法武器和防具,抵抗能量(resist energy);价格+66000金币。
''强化抗酸:''吸收每次攻击中前20点酸性伤害,其余和抗酸相同。

中等防护系灵光;CL7;制造魔法武器和防具,抵抗能量(resist energy);价格+42000金币。
''抗酸:''具有这项能力的盔甲或盾牌一般呈暗灰色。防具吸收穿戴者受到的每次攻击中前10点酸性伤害(类似抵抗能量(resist energy))。

微弱防护系灵光;CL3;制造魔法武器和防具,抵抗能量(resist energy);价格+18000金币。
!!!酸液飞溅(Acid Splash)
|咒法系(创造)[强酸]|
|''等级:''术士/法师 0|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''一发酸液飞弹|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''不可|
|你对目标发射了一颗小酸球。你必须做一次成功的远程接触攻击才能击中目标。酸球造成1d3点酸伤害。|



!!! 杂耍(ACROBATIC)[一般专长]

''效果:''在跳跃和翻滚检定上获得+2的加值。

''Adamantine Battleaxe(精金战斧):''
这件非魔法斧由精金制成。作为一件精制品武器,它的攻击检定有+1增强加值。

无魔法灵光(不含魔法);价格3010金币。
''精金胸甲:''这件胸甲不含魔法,但由精金制成,因此穿戴者获得2/-的伤害减免。

无魔法灵光(不含魔法);价格10200金币。
''Adamantine Dagger(精金匕首):''
这把非魔法匕首由精金制成。作为一件精制品武器,它的攻击检定有+1增强加值。

无魔法灵光(不含魔法);价格3002金币。
''生命骰数:'' d6。

!!!!本职技能

导师的本职技能如下(括号中为该技能的关键属性): 专注(体质), 手艺(智力),驯养动物(魅力),医疗(感知),知识(所有方面,需逐个选择)(智力), 专业(感知),辨识法术(智力),生存(感知)。 

''1级人物起始技能点:''(2 + 智力调整值) x4。

''升级技能点数: ''2 + 智力调整值。

 

''表: 导师''

|!|!|!|!|!|!每日法术数量|<|<|<|<|<|<|
|!	NPC等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!	特殊	|!	0级	|!	1级	|!	2级	|!	3级	|!	4级	|!	5级	|
|^	1	|^	+0	|^	+0	|^	+0	|^	+2	|^		|^	3	|^	1	|^	-	|^	-	|^	-	|^	-	|
|^	2	|^	+1	|^	+0	|^	+0	|^	+3	|^	召唤魔宠	|^	3	|^	1	|^	-	|^	-	|^	-	|^	-	|
|^	3	|^	+1	|^	+1	|^	+1	|^	+3	|^		|^	3	|^	2	|^	-	|^	-	|^	-	|^	-	|
|^	4	|^	+2	|^	+1	|^	+1	|^	+4	|^		|^	3	|^	2	|^	0	|^	-	|^	-	|^	-	|
|^	5	|^	+2	|^	+1	|^	+1	|^	+4	|^		|^	3	|^	2	|^	1	|^	-	|^	-	|^	-	|
|^	6	|^	+3	|^	+2	|^	+2	|^	+5	|^		|^	3	|^	2	|^	1	|^	-	|^	-	|^	-	|
|^	7	|^	+3	|^	+2	|^	+2	|^	+5	|^		|^	3	|^	3	|^	2	|^	-	|^	-	|^	-	|
|^	8	|^	+4	|^	+2	|^	+2	|^	+6	|^		|^	3	|^	3	|^	2	|^	0	|^	-	|^	-	|
|^	9	|^	+4	|^	+3	|^	+3	|^	+6	|^		|^	3	|^	3	|^	2	|^	1	|^	-	|^	-	|
|^	10	|^	+5	|^	+3	|^	+3	|^	+7	|^		|^	3	|^	3	|^	2	|^	1	|^	-	|^	-	|
|^	11	|^	+5	|^	+3	|^	+3	|^	+7	|^		|^	3	|^	3	|^	3	|^	2	|^	-	|^	-	|
|^	12	|^	+6/+1	|^	+4	|^	+4	|^	+8	|^		|^	3	|^	3	|^	3	|^	2	|^	0	|^	-	|
|^	13	|^	+6/+1	|^	+4	|^	+4	|^	+8	|^		|^	3	|^	3	|^	3	|^	2	|^	1	|^	-	|
|^	14	|^	+7/+2	|^	+4	|^	+4	|^	+9	|^		|^	3	|^	3	|^	3	|^	2	|^	1	|^	-	|
|^	15	|^	+7/+2	|^	+5	|^	+5	|^	+9	|^		|^	3	|^	3	|^	3	|^	3	|^	2	|^	-	|
|^	16	|^	+8/+3	|^	+5	|^	+5	|^	+10	|^		|^	3	|^	3	|^	3	|^	3	|^	2	|^	0	|
|^	17	|^	+8/+3	|^	+5	|^	+5	|^	+10	|^		|^	3	|^	3	|^	3	|^	3	|^	2	|^	1	|
|^	18	|^	+9/+4	|^	+6	|^	+6	|^	+11	|^		|^	3	|^	3	|^	3	|^	3	|^	2	|^	1	|
|^	19	|^	+9/+4	|^	+6	|^	+6	|^	+11	|^		|^	3	|^	3	|^	3	|^	3	|^	3	|^	2	|
|^	20	|^	+10/+5	|^	+6	|^	+6	|^	+12	|^		|^	3	|^	3	|^	3	|^	3	|^	3	|^	2	|


!!!!职业特性

下述均为导师 NPC职业的职业特性。

''擅长武器和防具: ''导师擅长所有简单武器,但不擅长其它盔甲和盾牌。 

''法术: ''导师就像牧师一样,只要等级允许就可以准备并施展任何列于导师法术列表 (见下表)上的神术。 但不同于牧师的是,导师无法自发地施展治疗伤害或造成伤害类的法术。

若想准备某神术,导师的感知值必须不低于10+该法术等级。受术者对抗导师的法术的豁免检定的难度等级等于10+该法术等级+导师的感知调整值。

不同于法师,导师不是从法术书或卷轴获得法术,也不是透过研习来准备法术。他们是透过冥思与祷告,透过信仰或神启得到法术。导师每天必须特定时辰花一小时的时间进行沉思或祈愿来得到该日的法术。是否有休息时间不影响导师准备法术。

同其他施法者一样,导师每日的施法数量有限。他每日的基本施法数量见表:导师。此外,导师可以从较高的感知值上获得额外法术。

如果表:导师指出导师在某法术等级上获得0个法术,那么他只能得到该法术等级上因感知获得的额外法术数。

每个导师都有其独特的圣徽(作为神术法器),样式依其魔法传承而各不相同。

召唤魔宠: 就像法师和术士一样,2级时导师可以召唤魔宠。

 

!!!!导师 法术列表

下表为导师可以选择使用的法术。

0 级:造水术(create water), 治疗微伤(cure minor wounds), 侦测魔法(detect magic), 幻音术(ghost sound), 神导术(guidance), 光亮术(light), 修复术(mending), 净化食粮(purify food and drink), 阅读魔法(read magic), 疲乏之触(touch of fatigue)。

1级:祝福术(bless), 燃烧之手(burning hands), 惊恐术(cause fear), 命令术(command), 通晓语言(comprehend languages), 治疗轻伤(cure light wounds), 侦测混乱(detect chaos), 侦测邪恶(detect evil), 侦测善良(detect good), 侦测守序(detect law), 忍耐环境(endure elements), 隐雾术(obscuring mist),防护混乱(protection from chaos),防护邪恶(protection from evil), 防护善良(protection from good), 防护守序(protection from law), 睡眠术(sleep)。

2级:援助术(aid), 动物使者(animal trance), 熊之忍耐(bear’s endurance),牛之力量(bull’s strength), 猫之轻灵(cat’s grace), 治疗中度伤(cure moderate wounds), 黑暗术(darkness), 延缓毒发(delay poison), 隐形(invisibility), 镜影术(mirror image), 防护能量伤害(resist energy), 灼热射线(scorching ray), 识破隐形(see invisibility), 蛛网术(web)。

3级: 操纵死尸(animate dead), 降咒(bestow curse), 疫病术(contagion),不灭明焰(continual flame), 治疗重伤(cure serious wounds), 昼明术(daylight), 深幽黑暗术(deeper darkness), 闪电术(lightning bolt), 中和毒素(neutralize poison), 移除诅咒(remove curse), 移除疾病(remove disease), 巧言术(tongues)。

4级: 治疗致命伤(cure critical wounds), 次级造物术(minor creation), 变形术(polymorph), 复原术(restoration), 石肤术(stoneskin), 火墙术(wall of fire)。

5级: 恶意变形术(baleful polymorph), 破除结界(break enchantment), 通神术(commune), 医疗术(heal), 高等造物术(major creation), 死者复活(raise dead),真知术(true seeing), 石墙术(wall of stone.)。

!!! 灵活(AGILE)[一般专长]

''效果:''在平衡和脱逃术检定上获得+2的加值。
!!! 协助他人(AID ANOTHER)

在近身战斗中,你可以通过转移敌人的注意力或是干扰敌人的方式来协助同伴进行攻击或是防御。如果敌人正在和你的同伴进行近身战斗,而你又正好处于可以对其进行近战攻击的位置上,那么你就可以通过一个标准动作来尝试协助你的同伴。你必须进行一次目标AC=10的攻击检定。如果你成功了,那么你的同伴针对该敌人进行的下一次攻击检定就可以得到+2加值,或是在防御该敌人的下一次攻击时AC得到+2加值(由你决定)——只要上述攻击是在你的下一轮行动开始之前作出的。可以允许多名人物对同一名同伴进行协助,同类的加值可以累加计算。

你还可以用这个标准动作来在其他方面帮助你的同伴,例如当他受到法术影响时,或者协助同伴的其他技能检定。
!!!援助术(Aid)
|惑控系(胁迫)[影响心灵]|
|''等级:''牧师 2,善良 2,机运 2|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的活物|
|''持续时间:''1分钟/每等级|
|''豁免:''无|
|''法术抗力:''可(无害)|
|援助术给目标的攻击投骰和对抗[[恐惧|Fear(恐惧)]]效果的豁免上提供+1士气加值,再提供了1d8+施法者等级的[[暂时生命值|TEMPORARY HIT POINTS(暂时生命值)]](暂时生命值在施法者等级10级时达到最大,为1d8+10)。|
''气系(Air)亚种:''此亚种通常是与气元素位面相关的元素和异界生物。气系亚种生物总是具有飞行速度且常常有完美的飞行机动性。
!!!凌空而行(Air Walk)
|变化系[气]|
|''等级:''气 4,牧师 4,德鲁伊 4|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的生物(巨型(Gargantuan)或更小)|
|''持续时间:''10分钟/每等级|
|''豁免:''无|
|''法术抗力:''可(无害)|
|受术者可以在空气中行走,如同走在固体地面上一样。向上移动很像登上一座小山。向上或向下最大角度是45度,此时速度为受术者正常速度的一半。|
|一阵强风(每小时21英里以上)能将受术者推向前或将其吹停在原地。在受术者的回合中每轮结束时,风都会吹动空气行走者,风速每达到5英里/小时就会吹动受术者5英尺。在特别强的大风中生物可能还会遭受其它的惩罚,例如失去移动的控制,或者受到物理伤害等。|
|如果法术持续时间过期时受术者还在高处,这个魔法会缓慢的结束掉。受术者会漂浮着下降1d6轮,每轮60英尺。如果在此期间内他接触到了地面,那么他将安全着陆。如果没有,他会从剩余的高度处跌落,受到每10英尺坠落距离1d6的伤害。由于解除一个魔法实际上就是结束它,因此如果凌空而行被解除掉,受术者依然可以以这种方式下降。但是如果是被[[反魔场|Antimagic Field(反魔场)]]所抵消,那么将不会如此下降。|
|你可以给一匹受过特殊训练的坐骑施展凌空而行,这样就可以骑着它在空中行走。你可以花费一个星期来训练坐骑在有凌空而行的情况下行走(计作一项技巧,见[[驯养动物|Handle Animal(驯养动物)]]技能),驯养动物检定DC 25。|
!!!魔法警报(Alarm)
|防护系|
|''等级:''吟游诗人 1,巡林客 1,术士/法师 1|
|''法术成分:''言语,姿势,器材/法器|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''区域:''以空间中一点为中心的20英尺半径弥漫区域|
|''持续时间:''2小时/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|每当超小型(Tiny)或更大体型生物进入被守护的区域或接触到它时,魔法警报会发出一种精神信号或声音作为警报。能说出密码(施法时由你决定)的生物不会触发这个魔法警报。在施法时你可以决定魔法警报是精神型的还是声音型的。|
|精神警报(Mental Alarm):只要你在被守护区域的一英里以内,精神魔法警报就会对你(且仅对你)发出警报。你会注意到“乒”的一声,足够将你从正常的睡眠中惊醒,但是又不足以打断你的专注。[[沉默术|Silence(沉默术)]]对精神警报没有作用。|
|声音警报(Audible Alarm):声音警报会产生一阵手铃的声音,任何处在被守护区域60英尺内的人都会清晰的听见它。之间每道关着的门会将此距离缩短10英尺,每堵坚实的墙会将此距离缩短20英尺。在安静的情况下,可以在180英尺的地方听到微弱的铃声。该声音会持续1轮。处在[[沉默术|Silence(沉默术)]]中的生物无法听见此铃声。|
|灵化或星界生物不会触发魔法警报。|
|魔法警报可以被[[魔法恒定术|Permanency(魔法恒定术)]]所恒定。|
|//奥术器材//:一个小铃铛和一些极细的银线。|
!!! 警觉(ALERTNESS)[一般专长]

''效果:''在聆听和侦察检定上获得+2的加值。
''警示(Alertness):''此权杖外型和+1轻型硬头锤一样,锤头有八个突起。持有者有+1先攻权加值,并且只要紧紧握住就能施展“侦测邪恶”、“侦测善良”、“侦测混乱”、“侦测守序”、“侦测魔法”、“测知谎言”或“识破隐形”。持有者可以自由使用任一能力,每一次使用都属于标准动作。

如果将“警示权杖”的锤头插入地面,要求其警示(标准动作),权杖便可感应120英尺内任何意图伤害持有者的生物。之后每个突起会对其面对方向(通常是北、东北、东、东南、南、西南、西及西北方)60英尺处施展“光亮术”。半径20英尺内的友善生物会受到“祈祷术”的效果,也会意识到半径120英尺内有不友善生物。此效果维持十分钟,每天可使用一次。

此权杖还具有“活化物体”能力。将锤头插入地面,可活化锤头5英尺内的物体,至多八个。这些物体可维持活化十分钟,此能力每天可使用一次。

施法者等级:14。先决条件:“制造权杖”,“光亮术”、“侦测魔法”、“魔法警报”、“侦测混乱”、“侦测邪恶”、“侦测善良”、“侦测守序”、“测知谎言”、“识破隐形”、“祈祷术”、“活化物体”。交易价格:72000金币。
!!!阵营武器(Align Weapon)
|变化系[见正文]|
|''等级:''牧师 2|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的武器,或五十件投射物(在施法的时候所有这些投射物都必须互相接触)|
|''持续时间:''1分钟/每等级|
|''豁免:''意志,通过则无效(无害,物品)|
|''法术抗力:''可(无害,物品)|
|阵营武器可以根据你的选择让武器变成善良、邪恶、守序、或者混乱。被阵营化的武器可以克服特定生物的[[伤害减免|Damage Reduction(伤害减免)]]。这个法术不能对已经具有阵营的武器使用。|
|你不能对天生武器施展此法术,例如徒手击打。|
|当你将武器变为善良、邪恶、守序、或者混乱时,阵营武器也就对应成为善良、邪恶、守序、或者混乱法术。|
!!Allip(怨魂)

''中型不死生物(虚体)''



|''生命骰:'' 4d12(26hp)|
|''先攻:'' +5|
|''速度:'' 飞行30尺(完美)(6格)|
|''防御等级:'' 15(+1敏捷,+4偏斜),接触15,措手不及14|
|''基本攻击/擒抱:'' +2/-|
|''攻击:'' 虚体碰触+3近战(1d4感知吸取)|
|''全回合攻击:'' 虚体碰触+3近战(1d4感知吸取)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 喃喃自语,发狂,感知吸取|
|''特性:'' 黑暗视觉60尺,虚体特性,驱散抗力+2,不死生物特性|
|''豁免检定:'' 强韧+1,反射+4,意志+4|
|''属性:'' 力量-,敏捷12,体质-,智力11,感知11,魅力18|
|''技能:'' 躲藏+8,威慑+7,聆听+7,搜索+4,侦察+7,生存+0(追踪时+2)|
|''专长:'' 精通先攻,闪电反射|
|''环境:'' 任何|
|''组织:'' 独行|
|''挑战等级:'' 3|
|''宝物:'' 无|
|''阵营:'' 总是中立邪恶|
|''进化:'' 5-12HD(中型)|
|''等级调整:'' -|
|''进化:''  9-16HD(超大型);17-24(巨型)|
|''等级调整:''  -|


怨魂是某些人被逼疯而自杀后所留下的幽灵,它们一心只想要报复,无情的追赶哪些将他们逼上绝路的仇人。

怨魂无法说话。

!!!战斗

怨魂无法造成实质的伤害,但他们显然不知道这一点,它们会一直对着敌人挥打,但无法造成任何伤害。

''喃喃自语(超自然能力):''怨魂会不停地对着自己嘀嘀咕咕地抱怨,产生催眠的效果。所有神智正常的生物一旦进入怨魂周遭60英尺范围内就必须进行意志检定(DC=16),没有通过就会受到如同催眠术的影响2d4回合。这是个音波性的精神影响的胁迫效果。

成功通过豁免的生物在24小时内不再受怨魂的喃喃自语影响。这个豁免DC基于魅力。

''发狂(超自然能力):''任何人一旦探测,控制或感应怨魂的心灵,将直接接触到它那扭曲的心灵,并因此遭到1d4点感知伤害。

''感知吸取(超自然能力):''怨魂每次用它的虚体碰触集中对手的时候都会造成1d4点感知吸取。每次成功的攻击都会使它获得5点临时生命值。


!!!变身术(Alter Self)
|变化系|
|''等级:''吟游诗人 2,术士/法师 2|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''你自己|
|''持续时间:''10分钟/每等级(可解消)|
|你转变为一种和你正常形体属于同一种类的生物形体。新形体的体型和你正常体型之间相差必须在一级以内。新形体的最大HD等于你的施法者等级,在5级时达到最大5HD。你可以转变为同类的一员,甚至是你自己。|
|你保持你自己的属性值。你的职业和等级、生命值、阵营、基本攻击加值、以及基本豁免加值均完全维持原有不变。你保留了你原形体所有超自然能力和类法术能力性质的特殊攻击(special attacks)和特质(special qualities),除了那些需要肉体一部分而新形体又没有(例如喷吐武器需要的嘴,或凝视攻击需要的眼等)的能力。|
|如果特异能力性质的特殊攻击和特质来自职业等级,那么你可以将其全部保留,但是你失去了其它所有不来源于职业等级的这类能力。|
|如果新形体有语言能力,那么你可以如常交流。你保留了所有原形体的施法能力,但是要使用言语成分,新形体必须可以清晰的说话(即可以用语言说话),而要使用姿势或材料成分的话,新形体必须具有足够灵活可以操作的肢体。|
|在你保留自己思想的同时你获得了新形体的肉体特质。肉体特质包括天生体型,普通移动力(例如掘穴、攀爬、行走、游泳、有翅时的飞行,最高速度为飞行速度120英尺,非飞行速度60英尺),天生防御加值,天生武器(例如爪抓、啮咬等),种族技能加值,种族额外专长,以及任何各类肉体特征(翅膀的出现或消失,肢体数量等)。具有额外肢体不会让你比正常情况下获得更多的攻击次数(也不会对双武器攻击提供更多好处)。|
|如果特异能力性质的特殊攻击或者特质不属于之前列出的那些肉体特质,例如黑暗视觉、低光视觉、盲感、盲视、快速痊愈、再生、灵敏嗅觉等,那么你将不能获得它们。|
|你不能从新形体获得任何超自然特殊攻击,特质,或者类法术能力。你的生物种类(和亚种)保留原样,不会为新形体所变。你不能得到任何具有模版的生物形体,即便该模版不会更改生物种类或亚种。|
|你可以在新形体生物的正常范围内自由决定新形体的细微肉体特质(例如发色,毛发质地,肤色)。新形体的一些重要肉体特质(如身高,体重,性别)也由你控制,但是它们必须在该新形体生物的平均范围内。你可以有效的易容成新形体种族的普通一员。如果你使用这个法术进行易容,你在易容检定上有+10加值。|
|当这个变化产生的时候,如果新形体可以穿戴或持有你的装备,那么装备还会被它穿戴或持有,否则便会融入新形体中,并且失去作用。当你恢复到真实形体时,所有之前融入新形体的物品都会在你身体原来的位置上重新出现,并且重新发挥作用。如果你的原有形体不能穿戴处于新形体时穿戴的新东西,那么这些东西会掉下来落在你的脚边。那些新老形体都可以用共同的身体部分穿戴或携带的物品在变化的时候依然会以同样的方式被持有。任何从整体上分离出来的身体部分或装备部分都会变回它的真实外形。|
''变化形态(Alternate Form,超自然能力):''具有这种特殊能力的生物有能力呈现为一种或多种特定形态。此能力很大程度上类似于[[变形术|Polymorph(变形术)]]
,除了该生物可变形态有限,并且在变形时不会恢复生命值。生物变化形态将会带来如下变化:

*该生物仍属于原有形态所属的种类和亚种。它获得新形态的体型。
*该生物失去原有形态的天生武器、天生防御、移动方式以及属于特异能力的特殊攻击。
*该生物获得新形态的天生武器、天生防御、移动方式以及属于特异能力的特殊攻击。
*该生物保留原有形态的特性。它不获得新形态的任何特性。
*该生物保留旧形态的类法术能力和超自然攻击形式(除了喷吐武器和凝视攻击以外)。它不获得新形态的类法术能力和超自然攻击形式。
*该生物获得新形态的身体属性值(力量、敏捷、体质),维持原有形态的心智属性值(智力、感知、魅力)。
*该生物维持原有形态的生命值和豁免加值,而它的豁免调整值将随着属性值的改变而改变。
*该生物保留原有形态的所有施法能力,但它必须具有清晰的语言能力来施展需要言语成分的法术,也必须有象人一样的双手来施展需要姿态成分的法术。
*该生物能够非常有效的易容为新形态的生物,当它利用此能力进行易容时在易容检定上将获得+10的加值。
''Amulet of Health(健康护符): ''套在链链子上的金碟,上面通常有狮子或其他强壮动物的图像。穿戴者有+2、+4或+6体质增强加值。

施法者等级:8。先决条件:“制造奇物”,“坚韧术”。交易价格:4000金币(+2),16000金币(+4),36000金币(+6)。
''Amulet of Mighty Fists(天武护符):'' 穿戴者在天生武器[和徒手攻击]的攻击检定和伤害上各+1到+5.

CL 5th; Craft Wondrous Item, 高等魔牙,。 Price 6,000 gp (+1), 24,000 gp (+2), 54,000 gp (+3), 96,000 gp (+4), 150,000 gp (+5).
''Amulet of Natural Armor(天生防御护符): ''通常以骨头或兽鳞制成,强化穿戴者的肉体和皮肤,视护符的强度,穿戴者的AC有+1到+5天生防御加值。

施法者等级:5。先决条件:“制造奇物”,“树肤术”,制造者的职业等级至少须达加值的三倍。交易价格:2000金币(+1),8000金币(+2),18000金币(+3),32000金币(+4),50000金币(+5)。
''Amulet of Proof against Detection and Location(回避侦测护符):'' 此银色护符可防范穿戴者遭探知或感知位置,效果如同“回避侦测”。如果有人对穿戴者施展预言系法术,施法者必须通过施法者等级检定(1d20+施法者等级),DC=19(如同施法者对自身施展“回避侦测”)。

施法者等级:8。先决条件:“制造奇物”,“回避侦测”。交易价格:35000金币。
''Amulet of the Planes(异界传送护符): ''这奇异的装置通常是黑色圆形护符,仔细观察可看到一个黑暗的旋转漩涡。穿戴者可以使用“异界传送”,但想瞭解如何使用并不容易。使用者必须先做智力检定(DC=15),成功的话就可以传送到任一界域(该界域内指定地点)。如果检定失败,使用者和一起旅行的同伴就会被随机传送到该界域内的任一地点(百分骰01-60)或任一界域(百分骰61-100)。

施法者等级:15。先决条件:“制造奇物”,“异界传送”。交易价格:120000金币。
!!!解析咒文(Analyze Dweomer)
|预言系|
|''等级:''吟游诗人 6,术士/法师 6|
|''法术成分:''言语,姿势,器材|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''每等级一个物品或生物|
|''持续时间:''1轮/每等级(可解消)|
|''豁免:''无,或意志通过则无效;见正文|
|''法术抗力:''不可No|
|你辨别出多个生物或物品上呈现的所有法术或魔法特性。每一轮里,你都可以以一个即时动作来检查一个你能看见生物或物品。如果是检查魔法物品,那么你可以获知它的功能,如何启动它的功能(如果有这项),以及还剩多少发充能(charges)(如果该物品使用充能)。如果是检查正有法术施展在其上的一件物品或是一个生物,那么你能知晓每一项法术,它们的效果,以及它们的施法者等级。|
|如果持有者愿意,任何被持有的物品都可以尝试以一个意志豁免来抵抗该法术的效果。如果豁免成功,那么除了你能看到的外,你对该物品无法了解更多。任何进行了豁免的物品在24小时内都不会被其它解析咒文所影响。|
|解析咒文对神器没有作用。|
|//器材//:装在小金管子上的几个细小的红宝石或蓝宝石透镜。这些宝石必须至少价值1,500金币。|
''Anarchic(混沌):''混沌武器属于混乱阵营,灌注有混乱的力量,并因此获得相应的伤害减免。攻击守序阵营的生物时,武器能造成2d6点额外伤害。任何企图使用此武器的守序阵营生物会遭受一个负向等级。只要武器在手中负向等级就一直存在,除非把武器扔掉。这个负向等级并没有造成真正的等级降低,但是只要武器在手中,负向等级便不能以任何方式移除(包括复原术(restoration))。弓、弩和投石索会自动给予其发射的弹药这种混乱的力量。

中等塑能系灵光[混乱阵营];CL7;制造魔法武器和防具,混沌之锤(chaos hammer),制造者必须是混乱阵营;价格+2加值。

!!Angel(天使)

天使是天界生物,一种生活在善良阵营外层位面的存在的一支。

天使可以是任意善良阵营。无论他们的阵营为何,天使永远不撒谎,欺骗或偷窃。他们所有的行为都完美无缺的使人感到敬佩,这些行为经常显示他们是所有天界生物中最老练,并最可信赖的。

所有的天使都长的十分秀丽,尽管他们的容貌差异很大。

天使说天界语,炼狱语和龙语,尽管他们可以通过他们的巧言术能力来和几乎任何生物交流。

!!! 战斗
在战斗中,大多数天使会发挥他们的机动力来在一定距离外发动攻击。

//天使特性://天使拥有下列特性(除非生物描述中另有说明)。

*60尺黑暗视觉和低光视觉。
*对酸、寒冷和石化效果免疫。
*电抗力10,火焰抗力10。
*对毒素的豁免上有+4种族奖励。
*防护灵气(Protective Aura,超自然能力):天使周围20尺以内的任何人对抗邪恶生物作出的攻击或产生的效果时,在防御等级上此能力提供+4的偏斜加值,在豁免上提供+4抗力加值。此外,它的作用还相当于反邪恶法阵和次等法术无效结界的效果,半径均为20尺(施法者等级等同于天使的HD)。(法阵带来的防御上的奖励未计入天使的数据中。)
*巧言(Tongues,超自然能力):所有天使都能够和任何有语言的生物交谈,如同巧言术(tongues)(施法者等级等同于天使的HD)。此能力始终处于启动状态。

!!! Angel, Astral Deva(天使,星界使徒)

''中型异界生物(天使,跨位面,善良)''

|''生命骰:'' 12d8+48(102hp)|
|''先攻:'' +8|
|''速度:'' 50尺(10格),飞行100尺(良好)|
|''防御等级:'' 29(+4敏捷,+15天生),接触14,措手不及25|
|''基本攻击/擒抱:'' +12/+18|
|''攻击:'' +3瓦解重型硬头锤+21近战(1d8+12外加震慑)或挥击+18近战(1d8+9)|
|''全回合攻击:'' +3瓦解重型硬头锤+21/+16/+11近战(1d8+12外加震慑)或挥击+18近战(1d8+9)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 类法术能力,震慑|
|''特性:'' 伤害减免10/邪恶,黑暗视觉60尺,低光视觉,免疫酸,寒冷和石化效果,防护灵气,电抗力10,火焰抗力10,法术抗力30,巧言术,直觉闪避|
|''豁免检定:'' 强韧+14(对抗毒素时+18),反射+12,意志+12|
|''属性:'' 力量22,敏捷18,体质18,智力18,感知18,魅力20|
|''技能:'' 专注+19,手艺或知识(任意三项)+19,交涉+22,脱逃术+19,躲藏+19,威慑+20,聆听+23,潜行+19,察言观色+19,侦察+23,绳技+4(打结时+6)|
|''专长:'' 警觉,顺劈斩,强韧加强,精通先攻,猛力攻击|
|''环境:'' 任意善良阵营位面|
|''组织:'' 独行,一对或小队(3-5)|
|''挑战等级:'' 14|
|''宝物:'' 无钱币,双倍货物,标准物品|
|''阵营:'' 总是善良(任意)|
|''进化:'' 13-18HD(中型);19-36HD(大型)|
|''等级调整:'' +8|

星界使徒大约7.5尺高,重250磅。

!!!!战斗

星界使徒并不畏惧肉搏战,他们喜欢使用威力强大的“+3瓦解重型硬头锤”疯狂砍杀邪恶的对手。

星界使徒的天然武器和他装备的任何武器在穿越伤害减免的时候都被视作善良阵营的武器。

''类法术能力:''

|//随意//——援助术,不灭明焰,侦测邪恶,测知谎言(DC19),反制邪恶(DC20),解除魔法,圣洁灵光(DC23),圣光击(DC19),圣言(DC22),隐形(只对自己有效),异界传送(DC22),移除诅咒(DC18),移除疾病(DC18),移除恐惧;|
|//每天7次//——治疗轻伤(DC16),识破隐形;|
|//每天1次//——剑刃障壁(DC21),医疗术(DC21)。施法者等级12。这些豁免DC基于魅力。|

''改变外形(超自然能力):''星界使徒可以变成任何小型或中型类人生物的形态。

''震慑(超自然能力):''如果星界使徒在一回合中用他的硬头锤击中同一个敌人两次,那么那个生物需要通过一个DC22的强韧检定,否则就会被震慑1d6回合。这个豁免DC基于力量。

''直觉闪避(特异):''星界使徒在措手不及的时候依然获得敏捷对防御等级的加值,而且他只能被16级以上的游荡者夹击。他可以如同12级游荡者一样夹击别人。

''感知吸取(超自然能力):''怨魂每次用它的虚体碰触集中对手的时候都会造成1d4点感知吸取。每次成功的攻击都会使它获得5点临时生命值。

!!! Angel, Planetar(天使,异界神侍)

''大型异界生物(天使,跨位面,善良)''

|''生命骰:'' 14d8+70(133hp)|
|''先攻:'' +8|
|''速度:'' 30尺(6格),飞行90尺(良好)|
|''防御等级:'' 32(-1体型,+4敏捷,+19天生),接触13,措手不及28|
|''基本攻击/擒抱:'' +14/+25|
|''攻击:'' +3巨剑+23近战(3d6+13/19-20)或挥击+20近战(2d8+10)|
|''全回合攻击:'' +3巨剑+23/+18/+13近战(3d6+13/19-20)或挥击+20近战(2d8+10)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 类法术能力,法术|
|''特性:'' 伤害减免10/邪恶,黑暗视觉60尺,低光视觉,免疫酸,寒冷和石化效果,防护灵气,再生10,电抗力10,火焰抗力10,法术抗力30,巧言术|
|''豁免检定:'' 强韧+14(对抗毒素时+18),反射+13,意志+15|
|''属性:'' 力量25,敏捷19,体质20,智力22,感知23,魅力22|
|''技能:'' 专注+22,手艺或知识(任意四项)+23,交涉+25,脱逃术+21,躲藏+17,威慑+23,聆听+23,潜行+21,察言观色+23,搜索+23,侦察+23,绳技+4(打结时+6)|
|''专长:'' 盲斗,顺劈斩,精通先攻,精通击破武器,猛力攻击|
|''环境:'' 任意善良阵营位面|
|''组织:'' 独行或一对|
|''挑战等级:'' 16|
|''宝物:'' 无钱币,双倍货物,标准物品|
|''阵营:'' 总是善良(任意)|
|''进化:'' 15-21HD(大型);22-42HD(超大型)|
|''等级调整:'' -|

异界神侍接近9尺高,重约500磅。

!!!! 战斗

除了相当多元的魔法力量之外,异界神侍也喜欢挥舞着+3巨剑展开肉搏战。他们特别喜欢与炼狱生物战斗。

异界神侍的天然武器和他装备的任何武器在穿越伤害减免的时候都被视作善良阵营的武器。

''再生:''异界神侍只在受到邪恶阵营武器攻击和受到带有邪恶描述的的法术和效果攻击时受到正常伤害。

''类法术能力:''施法者等级17。这些豁免DC基于魅力。

|//随意施展//——不灭明焰,解除魔法,圣光击(DC20),隐形术(只对自己有效),次级复原术(DC18),移除诅咒(DC19),移除疾病(DC19),移除恐惧(DC17)和死者交谈(DC19);|
|//每天3次//——剑刃障壁(DC22),焰击术(DC21),变形术(只对自己有效),律令震慑,死者复活,疲劳波;|
|//每天1次//——地震术(DC24),高等复原术(DC23),群体魅惑怪物(DC24),力竭波。|



下列能力会持续的在异界神侍身上产生作用,如同法术效果(施法者等级17):侦测邪恶,侦测陷阱,测知谎言(DC20),识破隐形和真知术。他们可以被解除,但是异界神侍可以用一个自由动作重新启动他们。

''法术:''异界神侍可以如同17级牧师一般施展神术。异界神侍可以获得如下领域中的两个:气,破坏,善良,秩序或战争(加上其他从神祗处获得的)。这些豁免基于感知。

//典型牧师准备法术(6/8/8/7/7/6/6/4/3/2;豁免DC=16+法术等级)://

|0级——造水术,侦测魔法,神导术,抗力术x2,恩赐;|
|1级——祝福术x2,惊恐术,神恩x2,熵光护盾,造成轻伤*,虔诚护盾;|
|2级——援助术*,阵营武器,熊之坚韧,牛之力量x2,崇敬术,鹰之威仪,人类定身术;|
|3级——疫病术*,昼明术,消除隐形,祈祷术x2,三级怪物召唤术,风墙术;|
|4级——防死结界,驱逐术,造成致命伤*,中和毒性x2,四级怪物召唤术;|
|5级——破除结界,毁灭法阵*(3E法术,此处没有修正),反制邪恶,审判烙印,异界传送,正气如虹;|
|6级——放逐术,高等解除魔法,重伤术,医疗术,英雄宴,群体治疗中度伤;|
|7级——律言,解离术*,圣言,再生术;|
|8级——圣洁灵光*,群体治疗致命伤,秩序之盾;|
|9级——内爆术,九级怪物召唤术(善良)*|
|*领域法术。领域:毁灭和善良|


!!!Angel, Solar(天使,炽天神侍)

''大型异界生物(天使,跨位面,善良)''

|''生命骰:'' 22d8+110(209hp)|
|''先攻:'' +9|
|''速度:'' 50尺(10格),飞行150尺(良好)|
|''防御等级:'' 35(-1体型,+5敏捷,+21天生),接触14,措手不及30|
|''基本攻击/擒抱:'' +22/+35|
|''攻击:'' +5舞空巨剑+35近战(3d6+18/19-20)或+2复合长弓(+5力量)+28远程(2d6+7/x3外加杀戮)或挥击+30近战(2d8+13)|
|''全回合攻击:'' +5舞空巨剑+35/+30/+25/+20近战(3d6+18/19-20)或+2复合长弓(+5力量)+28/+23/+18/+13远程(2d6+7/x3外加杀戮)或挥击+30近战(2d8+13)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 类法术能力,法术|
|''特性:'' 伤害减免15/传奇和邪恶,黑暗视觉60尺,低光视觉,免疫酸,寒冷和石化效果,防护灵气,再生15,电抗力10,火焰抗力10,法术抗力32,巧言术|
|''豁免检定:'' 强韧+18(对抗毒素时+22),反射+18,意志+20|
|''属性:'' 力量28,敏捷20,体质20,智力23,感知25,魅力25|
|''技能:'' 专注+30,手艺或知识(任意四项)+33,交涉+34,脱逃术+30,躲藏+26,聆听+32,潜行+30,搜索+31,察言观色+32,法术辨识+31,侦察+32,生存+7(追踪时+9),绳技+5(捆绑时+7)|
|''专长:'' 顺劈斩,躲闪,强力顺劈斩,精通先攻,精通击破武器,灵活移动,猛力攻击,追踪|
|''环境:'' 任意善良阵营位面|
|''组织:'' 独行或一对|
|''挑战等级:'' 23|
|''宝物:'' 无钱币,双倍货物,标准物品|
|''阵营:'' 总是善良(任意)|
|''进化:'' 23-33HD(大型);34-66HD(超大型)|
|''等级调整:'' -|

炽天神侍的语调深沉而威严,他们直立的时候约9尺高,重500磅。

!!!! 战斗

炽天神侍是善良方强大的战士,只有最强大的炼狱生物才敢面对他们的力量。

他的+2复合长弓比他那+5舞空巨剑更可怕,因为这把复合长弓在拉动时可射出任何种类的杀戮箭。

炽天神侍的天然武器和他装备的任何武器在穿越伤害减免的时候都被视作善良阵营的传奇武器。

''再生:''炽天神侍只在受到邪恶阵营的传奇武器攻击和受到带有邪恶描述的的法术和效果攻击时受到正常伤害。

''类法术能力:''施法者等级20。这些豁免DC基于魅力。

|//随意//——援助术,活化物体,通神术,不灭明焰,次元锚,高等解除魔法,圣光击(DC21),禁锢术(DC26),隐形(只对自己有效),次级复原术,移除诅咒(DC20),移除疾病(DC20),移除恐惧(DC18),抵抗能量伤害,七级怪物召唤术,死者交谈(DC20),疲劳波;|
|//每天3次//——剑刃障壁(DC23),地震术(DC25),医疗术(DC23),群体魅惑怪物(DC25),恒定术,复生术,力竭波;|
|//每天1次//——高等恢复术(DC24),律令目盲,律令死亡,律令震慑,虹光喷射(DC24),祈愿术。|

''改变外形(超自然能力):''炽天使可以变成任何小型或中型类人生物的形态。

下列能力会持续的在炽天神侍身上产生作用,如同法术效果(施法者等级20):侦测邪恶,侦测陷阱,测知谎言(DC21),识破隐形和真知术。他们可以被解除,但是炽天神侍可以用一个自由动作重新启动他们。

''法术:''炽天神侍可以如同20级牧师一般施展神术。炽天神侍可以获得如下领域中的两个:气,破坏,善良,秩序或战争(加上其他从神祗处获得的)。这些豁免基于感知。

//典型牧师准备法术(6/8/8/8/7/7/6/6/5/5;豁免DC=17+法术等级)://

|0级——造水术,侦测魔法,神导术x2,抗力术x2;|
|1级——祝福术x2,惊恐术,神恩x2,熵光护盾,隐雾术*,虔诚护盾;|
|2级——阵营武器,熊之坚韧x2,牛之力量x2,崇敬术,鹰之威仪,灵能武器*;|
|3级——昼明术,消除隐形,反邪恶法阵,魔化防具*,祈祷术x2,防护能量伤害,风墙术;|
|4级——防死结界x2,驱逐术x2,神能*,中和毒性x2;|
|5级——破除结界,操控风向*,反制邪恶,异界传送,正气如虹x2,痛苦徽记;|
|6级——放逐术,连环闪电*,英雄宴,群体治疗中度伤,亡灵归亡,回返真言;|
|7级——操控天气*,灰飞湮灭,律言,幻化灵体,圣言,再生术;|
|8级——火焰风暴,圣洁灵光,群体治疗致命伤x2,旋风术*;|
|9级——同游灵界,元素集群(气),群体医疗术,神迹术,复仇风暴。|
|*领域法术。领域:气和战争|
^^^^

''天使(Angel)亚种:''天使是天界生物的一支,或者是善良的异界生物。他们居住在善良阵营的外位面。

//特性://天使拥有下列特性(除非生物描述中另有说明)。

*60尺黑暗视觉和低光视觉。
*对酸、寒冷和石化效果免疫。
*电抗力10,火焰抗力10。
*对毒素的豁免上有+4种族奖励。
*防护灵气(Protective Aura,超自然能力):天使周围20尺以内的任何人对抗邪恶生物作出的攻击或产生的效果时,在防御等级上此能力提供+4的偏斜加值,在豁免上提供+4抗力加值。此外,它的作用还相当于[[反邪恶法阵|Magic Circle Against Evil(反邪恶法阵)]]和[[次级防护法球|Globe of Invulnerability, Lesser(次等法术无效结界)]]的效果,半径均为20尺(施法者等级等同于天使的HD)。(法环带来的防御上的奖励未计入天使的数据中。)
*巧言(Tongues,超自然能力):所有天使都能够和任何有语言的生物交谈,如同[[巧言术|Tongues(巧言术)]](施法者等级等同于天使的HD)。此能力始终处于启动状态。
!!! 动物亲和(ANIMAL AFFINITY)[一般专长]

''效果:''在驯养动物和骑术检定上获得+2的加值。
''Animal Friendship(化兽为友):'' 启动后,此戒指可以影响一只动物,如同施展“魅惑动物”法术。

CL:3。先决条件:锻造戒指, 魅惑动物。价格 10,800 gp。
!!!动物异变(Animal Growth)
|变化系|
|''等级:''德鲁伊 5,巡林客 4,术士/法师 5|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每施法者等级)|
|''目标:''至多每两个等级一个动物(巨型或更小),任何两者之间距离不得超过30英尺|
|''持续时间:''1分钟/等级|
|''豁免:''强韧,通过则无效|
|''法术抗力:''可|
|一群动物体型增长到正常体型的两倍,体重则增加到八倍。这种改变将每个动物的体型增大一级,力量获得+8体型加值,体质获得+4体型加值(从而每个HD获得2点生命值),敏捷上受到-2体型减值。该生物原有的天生防御加值增加2。体型的改变同时会影响到该动物AC、攻击投骰、基础伤害的修正。该动物的占据空间和触及会改变,和新体型匹配,但是它的速度没有变化。|
|这个法术同时会给每个受术者提供10/魔法的伤害减免,以及豁免上的+4抗性加值。如果空间不足以按希望成长,该生物会先达到尽可能大的体型,然后可以进行一次力量检定(使用增长后的力量)来撑开任何限制物。如果检定失败,它会因为被东西拘束而感到不舒服,但并不会受到伤害——该法术不能用于通过增长生物体型来挤压它的目的。|
|该动物所穿戴或携带的任何装备都会被此法术依样变大,但是这种变化不会影响任何这类装备的魔法属性。|
|任何变大的东西在离开变大的生物后都会立刻变回原有大小。|
|该法术并不能让你命令或感化被变大的生物。|
|多重增加体型的魔法效果不会叠加。|
!!!动物信使(Animal Messenger)
|惑控系(胁迫)[影响心灵]|
|''等级:''吟游诗人 2,德鲁伊 2,巡林客 1|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个超小型动物|
|''持续时间:''1天/每等级|
|''豁免:''无;见正文|
|''法术抗力:''可|
|你强迫一只超小型动物去你指定的地点。该法术最通常的用法是让一个动物携带你给你盟友的信息。此动物不能是任何被他人驯养过或训练过的,包括魔宠和动物伙伴。|
|你可以用某种该动物喜欢的食物来把它引诱过来。它会靠近过来并等待你的命令。你可以用精神将你所熟知的或者有明显地标的特定地点灌输给这个动物。这个方向必须很简单,这是因为该动物是依赖于你的知识而非靠自己去找到目的地的。你可以让这个信使带上一些小东西或者便条。之后该动物会前往目的地,然后在那里等候,直到法术持续时间结束,之后它会继续它的正常活动。|
|在等候期间内,信使会允许其它人靠近它并拿走它所携带的卷轴或其它东西。信息接收者不会获得和此动物沟通的特殊能力,也不会获得阅读附带信息的特殊能力(例如信息是被接收者所不懂的语言写成)。|
|//材料成分://一点动物喜欢的食物。|
!!!动物形态(Animal Shapes)
|变化系|
|''等级:''动物 7,德鲁伊 8|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''至多每等级一个自愿生物,所有生物彼此都必须在30英尺内|
|''持续时间:''1小时/每等级(可解消)|
|''豁免:''无;见正文|
|''法术抗力:''可(无害)|
|和[[变形术|Polymorph(变形术)]]类似,只是你能将至多每施法者等级一个的自愿生物变形成你选择的动物;该法术对非自愿生物无效。所有生物都必须转变为同一种动物形体。受术者将保持动物形态,直到法术过期,或者你将所有受术者的法术解消掉。另外,受术者个体可以选择以一个整轮动作恢复为他的正常形体,这样做会单独结束掉该受术者的法术。被转变的形体最大HD等于受术者的HD或你的施法者等级(在20级时达到最大20HD),以较低的值为准。|
!!!迷惑动物(Animal Trance)
|惑控系(胁迫)[影响心灵,音波]|
|''等级:''吟游诗人 2,德鲁伊 2|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''动物,或者智力值为1或2的魔法兽|
|''持续时间:''专注|
|''豁免:''意志通过则无效;见正文|
|''法术抗力:''可|
|你的摇摆动作和音乐(或唱歌或吟唱)能强迫动物和魔法兽除了看着你外什么都不做。只有智力值为1或2的生物才会被此法术迷魂。投2d6决定被你迷魂的生物总共多少HD。最靠近的目标首先被选择,除非范围内没有其它目标可以被影响。|
|魔法兽、凶暴动物、或者被训练做攻击或守卫的动物允许进行豁免;没被训练做攻击或守卫的动物则不允许这么做。|
''动物类(Animal):''动物是非人类的活体生物,通常为不具有魔法属性也不具有语言和文化天赋的脊椎动物。

//特征://动物具有下列特征(除非生物描述中另有说明)。

*d8生命骰。
*基本攻击奖励等于3/4生命骰数总和(类似于牧师)。
*擅长的豁免检定:强韧和反射(个别动物存在不同的擅长)。
*技能点数等于每个生命骰(2+智力调整值,最少为1),第一个生命骰的技能点数为它的四倍。

//特性://动物拥有下列特性(除非生物描述中另有说明)。

*智力属性为1或2(不存在智力属性等于或大于3的动物)。
*低光视觉。
*阵营:总是中立。
*宝藏:无
*仅熟练使用它自己的天生武器。非战斗草食动物使用其天生武器视为次要攻击。这样的攻击在攻击判定上有*5减值,并且在伤害调整值上只能获得1/2它的力量调整值。
*除非经过战斗训练,否则无法熟练使用任何盔甲。
*动物需要进食、睡眠和呼吸。
这部分内容提供了许多种现世动物的数据和基本信息。这些生物通常依其本能而行动,由食物、繁殖之类的最基本需求所驱动。除非本身或其幼崽受到威胁,大多数的动物,即使是食肉动物,也不会主动攻击。

尽管通过驯养动物技能可以驯服动物或教会它做一些把戏,但是动物没有进行详细推理的能力。

一些食草动物通常不会使用其天生武器进行攻击。同样的,它们的天生武器被视为次要攻击。此类动物的攻击和伤害栏里通过脚注说明了这一点。

动物特性:动物拥有以下特性 (除非在生物详述中另有注明)。

*智力值为1或2 (智力值等于或大于3的生物不能作为动物)。
*昏暗视觉。
*阵营:总是中立。动物不受人类道德的支配。
*宝物:无。动物不会拥有宝物。


 <<list-links "[tag[核心]]+[tag[怪物]]+[tag[动物]]-[tag[特殊能力]]-[tag[种类/亚种]]+[sort[title]]>>
!!!操纵死尸(Animate Dead)
|死灵系[邪恶]|
|''等级:''牧师 3,死亡 3,术士/法师 4|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''一具或更多具被接触的尸体|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''不可|
|这道法术能将死去生物的骨骼或尸体转化为不死骷髅或僵尸,它们会按你所说出的命令行动。|
|这些不死生物会跟随你,或者留在某个区域并攻击进入该区域的任何生物(或某类特定生物)。它们会保持这种活化状态,直到被摧毁为止。(被摧毁的骷髅或僵尸不能再度被活化。)|
|不管用这个法术创造何种不死生物,在单独施展一次操纵死尸时,你所创造出不死生物HD不能超过你施法者等级的两倍。(亵渎术(desecrate)可以将此限制翻倍。)|
|你创造出的不死生物会永久处在你的控制下。但是不管你使用多少次这个法术,你所能控制的不死生物HD总数最多为每施法者等级4HD。如果你超过了这个数字,所有最新被创造的生物会处在你的控制之下,而之前施法所创造的多余的不死生物将脱离你的控制。(由你选择哪个生物脱离控制。)如果你是牧师,通过命令或斥喝不死生物力量所命令的所有不死生物不计入上述限制。|
|//骷髅(Skeletons)://只能用几乎完整的尸体或骨架才能创造出骷髅。该尸体必须有骨骼。如果骷髅是用一具尸体创造的,那么肉会从骨头上掉下。|
|//僵尸(Zombies)://只能用几乎完整的尸体才能创造出僵尸。该尸体必须具有真正的解剖学结构。|
|//材料成分://你必须将一颗黑玛瑙放入待活化的尸体嘴中或眼窝中,该黑玛瑙必须至少价值该不死生物每生命骰25金币。法术的魔力会将这些宝石变成毫无价值的烧尽空壳。|
!!!活化物品(Animate Objects)
|变化系|
|''等级:''吟游诗人 6,混乱  6,牧师 6|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每施法者等级)|
|''目标:''每个施法者等级一个小型物品;见正文|
|''持续时间:''1轮/每等级|
|''豁免:''无|
|''法术抗力:''不可|
|你给一件没生命的物品赋予了活动的能力和生命的表征。这类被活化的物品会立刻攻击之前你指定的任何人或任何东西。|
|活化物品可以是任何非魔法材料。你每个施法者等级可以活化一件小型或更小的物品,或者相当于该数量的较大物品。一件中型物品算作两个小型或更小的物品,大型物品算四个,超大型算八个,巨型算十六个,超巨型算三十二个。你可以以一个移动动作来改变指定的目标或多个目标,如同引导已启动法术一样。|
|这个法术不能活化被生物携带或穿戴的物品。|
|活化物品可以被[[魔法恒定术|Permanency(魔法恒定术)]]恒定。|
!!!活化植物(Animate Plants)
|变化系|
|''等级:''德鲁伊 7,植物 7|
|''法术成分:''言语|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''每三个施法者等级一个大型植物,或范围内所有植物;见正文|
|''持续时间:''1轮/每等级或1小时/每等级;见正文|
|''豁免:''无|
|''法术抗力:''不可|
|你给一件没活力的植物赋予了活动的能力和生命的表征。这类被活化的植物会立刻攻击你之前指定的任何人或任何东西。你每三个施法者等级可以活化一个大型或更小的植物,或者相当于该数量的较大植物。一个超大型植物算作两个大型或更小的植物,巨型植物算四个,超巨型算八个。你可以以一个移动动作来改变指定的目标或多个目标,如同引导已启动法术一样。|
|活化植物使用活化物品的数据,只是比大型小的植物通常没有硬度。|
|活化植物对植物类生物无效,对无生命的植物材料也无效|
|纠缠:作为一种选择,你可以给法术距离内所有植物都赋予一定量的活动力,让它们能缠住区域内的生物。法术的这种用法效果与[[纠缠术|Entangle(纠缠术)]]相同。生物的法术抗力无法让它不被纠缠。这种效果持续时间为每施法者等级1小时。|
!!!活化绳(Animate Rope)
|变化系|
|''等级:''吟游诗人 1,术士/法师 1|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每施法者等级)|
|''目标:''一根绳状物品,长度至多为50英尺+5英尺/每等级;见正文|
|''持续时间:''1轮/每等级|
|''豁免:''无|
|''法术抗力:''不可|
|你可以活化一根无生命的绳状物品。该最大长度是按照一根直径1英寸的绳子计算的。|
|厚度每额外增加一英寸,最大长度会减少50%,同时绳子的直径每缩小一半,该长度会增加50%。|
|可用的命令有“卷”(整齐地卷成一摞),“卷,结”,“圈”,“圈,结”,“绑,结”,以及所有和之前相反的命令(如“解”等)。每轮你可以以一个移动动作下一个命令,如同引导已启动法术一样。|
|绳子仅可围绕1英尺内生物或物品——它没法蛇形前进——因此它必须被扔在目标边上。这样做需要一个成功的远程接触攻击(射程增量为10英尺)。普通的一英寸粗麻绳具有2点生命值,AC 10,需要DC 23的力量检定才能崩坏。该绳索不会造成伤害,但是它可以被用作绊绳,或者纠缠住反射豁免失败的生物。被这道法术所绑住的生物要施法必须进行一次DC 15的专注检定。被纠缠的生物可以通过DC 20的脱逃术检定来逃脱自由。|
|绳索本身和它上面打的结不具魔法。|
|当你使用转化过的绳索时,这道法术给你所有绳技检定提供+2加值。|
|这个法术不能活化被生物携带或穿戴的物品。|
!!Animated Object(活化物体)

|!		|!	超小型活化物体	|!	小型活化物体	|!	中型活化物体	|
|!		|!	超小型构装生物	|!	小型构装生物	|!	中型构装生物	|
|^	''生命骰:''	|	1/2d10(2hp)	|	1d10+10(15hp)	|	2d10+20(31hp)	|
|^	''先攻权:''	|	2	|	1	|	0	|
|^	''速度:	''|	40英尺(8格);50英尺。有脚,60英尺。有多只脚;80英尺。有轮	|	30英尺(6格);40英尺。有脚,50英尺。有多只脚,70英尺。有轮	|	30英尺。(6格);40英尺。有脚,50英尺。有多只脚,70英尺。有轮	|
|^	''防御等级(AC):	''|	14(+2体型,+2敏捷),接触14,措手不及12	|	14(+1体型,+1敏捷,+2天生),接触12,措手不及13	|	14(+4天生),接触10,措手不及14	|
|^	''基本攻击/擒抱:	''|	+0/–9	|	+0/–4	|	+1/+2	|
|^	''攻击:	''|	挥击+1近战(1d3–1)	|	挥击+1近战(1d4)	|	挥击+2近战(1d6+1)	|
|^	''全回合攻击:''	|	挥击+1近战(1d3–1)	|	挥击+1近战(1d4)	|	挥击+2近战(1d6+1)	|
|^	''面宽/触及:''	|	2-1/2英尺。/0英尺	|	5英尺/5英尺	|	5英尺/5英尺	|
|^	''特殊攻击:	''|	特殊详见下述	|	特殊详见下述	|	特殊详见下述	|
|^	''特性:	''|	构装特质,60英尺黑暗视觉,昏暗视觉;其他详见下述	|	构装特质,60英尺黑暗视觉,昏暗视觉;其他详见下述	|	构装特质,60英尺黑暗视觉,昏暗视觉;其他详见下述	|
|^	''豁免检定:''	|	强韧+0,反射+2,意志–5	|	强韧+0,反射+1,意志–5	|	强韧+0,反射+0,意志–5	|
|^	''属性:	''|	力量8,敏捷14,体质—,智力—,感知1,魅力1	|	力量10,敏捷12,体质—,智力—,感知1,魅力1	|^	力量12,敏捷10,体质—,智力—,感知1,魅力1	|
|^	''技能:	''|	—	|	—	|	—	|
|^	''专长:	''|	—	|	—	|	—	|
|^	''环境:	''|	任何	|	任何	|	任何	|
|^	''组织:''	|	成群(4)	|	成双	|	单独	|
|^	''挑战等级:''	|	1/2	|	1	|	2	|
|^	''宝物:	''|	无	|	无	|	无	|
|^	''阵营:''	|	总是中立	|	总是中立	|	总是中立	|
|^	''进化:	''|	—	|	—	|	—	|
|^	''等级调整:''	|	—	|	—	|	—	|
								
|!		|!	大型活化物体	|!	超大型活化物体	|!	巨型活化物体	|
|!		|!	大型构装生物	|!	超大型构装生物	|!	巨型构装生物	|
|^	''生命骰:''	|	4d10+30(52hp)	|	8d10+40(84hp)	|	16d10+60(148hp)	|
|^	''先攻权:''	|	0	|	–1	|	–2	|
|^	''速度:''	|	20英尺(4格);30英尺有脚,40英尺有多只脚,60英尺有轮	|	20英尺(4格);30英尺有脚,40英尺有多只脚,60英尺有轮	|	10英尺(2格);20英尺有脚,30英尺有多只脚,50英尺有轮	|
|^	''防御等级(AC):''	|	防御等级:14(–1体型,+5天生l),接触9,措手不及14	|	防御等级:13(–2体型,–1敏捷,+6天生),接触7,措手不及13	|	防御等级:12(–4体型,–2敏捷,+8天生),接触4,措手不及12	|
|^	''基本攻击/擒抱:	''|	基础攻击/擒抱:+3/+10	|	基础攻击/擒抱:+6/+19	|	基础攻击/擒抱:+12/+31	|
|^	''攻击:	''|	挥击+5近战(1d8+4)	|	挥击+9近战(2d6+7)	|	挥击+15近战(2d8+10)	|
|^	''全回合攻击:	''|	挥击+5近战(1d8+4)	|	挥击+9近战(2d6+7)	|	挥击+15近战(2d8+10)	|
|^	''面宽/触及:	''|	10英尺/5英尺(长)10英尺/10英尺(高)	|	15英尺/10英尺(长)15英尺/15英尺(高)	|	20英尺/15英尺(长)20英尺/20英尺(高)	|
|^	''特殊攻击:	''|	特殊详见下述	|	特殊详见下述	|	特殊详见下述	|
|^	''特性:	''|	构装特质,60英尺黑暗视觉,昏暗视觉;其他详见下述	|	构装特质,60英尺黑暗视觉,昏暗视觉;其他详见下述	|	构装特质,60英尺黑暗视觉,昏暗视觉;其他详见下述	|
|^	''豁免检定:	''|	强韧+1,反射+1,意志–4	|	强韧+2,反射+1,意志–3	|	强韧+5,反射+3,意志+0	|
|^	''属性:	''|	力量16,敏捷10,体质—,智力—,感知1,魅力1	|	力量20,敏捷8,体质—,智力—,感知1,魅力1	|	力量24,敏捷6,体质—,智力—,感知1,魅力1	|
|^	''技能:	''|	—	|	—	|	—	|
|^	''专长:''	|	—	|	—	|	—	|
|^	''环境:	''|	任何	|	任何	|	任何	|
|^	''组织:	''|	单独	|	单独	|	单独	|
|^	''挑战等级:''	|	3	|	5	|	7	|
|^	''宝物:	''|	无	|	无	|	无	|
|^	''阵营:	''|	总是中立	|	总是中立	|	总是中立	|
|^	''进化:	''|	—	|	—	|	—	|
|^	''等级调整:	''|	—	|	—	|	—	|

|!		|!	超巨型活化物体	|
|!		|!	超巨型构装生物	|
|^	''生命骰:	''|	32d10+80(256hp)	|
|^	''先攻权:	''|	–3	|
|^	''速度:	''|	10英尺(2格);20英尺有脚,30英尺有多只脚,50英尺有轮	|
|^	''防御等级(AC):''	|	防御等级:11(–8体型,–3敏捷,+12天生),接触–1,措手不及11	|
|^	''基本攻击/擒抱:	''|	基础攻击/擒抱:+24/+49	|
|^	''攻击:	''|	挥击+25近战(4d6+13)	|
|^	''全回合攻击:''	|	挥击+25近战(4d6+13)	|
|^	''面宽/触及:	''|	30英尺/20英尺(长)30英尺/30英尺(高)	|
|^	''特殊攻击:	''|	特殊详见下述	|
|^	''特性:''	|	构装特质,60英尺黑暗视觉,昏暗视觉;其他详见下述	|
|^	''豁免检定:	''|	强韧+10,反射+7,意志+5	|
|^	''属性:''	|	力量28,敏捷4,体质—,智力—,感知1,魅力1	|
|^	''技能:''	|	—	|
|^	''专长:''	|	—	|
|^	''环境:	''|	任何	|
|^	''组织:	''|	单独	|
|^	''挑战等级:	''|	10	|
|^	''宝物:''	|	无	|
|^	''阵营:	''|	总是中立	|
|^	''进化:	''|	—	|
|^	''等级调整:	''|	—	|


活化物体尺寸不一,形状各异,颜色也各有不同. 它们的存在仰赖于活化物体之类的魔法或者类似的超自然能力。

!!!战斗


活化物体只能在操纵者的指示下作战. 他们会毫不迟疑的尽自己最大努力来执行命令. 他们不用呼吸也不知疲倦,可说是极其得力的奴仆。

根据其形状,一个活化物体可以同时拥有以下一个或更多的特殊能力。

''遮住双眼(Ex):'' 像床单般的活化物体(如地毯或挂毯)可以擒抱体型最多比其本身大三级的对手,进行一般的擒抱检定. 如果检定通过, 可把对手的头包裹起来,让对手无法看见东西,直到它被移开为止。

''紧勒 (Ex):''柔韧有弹性的活化物体,像绳索、藤蔓或毛毯。在对付最多比其本身大一级的对手时,一旦通过擒抱检定,即可造成其挥击伤害与其1.5倍力量加值之和的伤害。

大型或更大的活化物体可以同时对数个生物进行紧勒攻击,前提是这些生物必须比该活化物体小至少两级而且刚好可以被它抓在一起.

''硬度 (Ex):'' 活化物体的硬度与其被活化前的硬度一致。

''提速 (Ex):'' 资料列表所标示的基本速度,乃是假设活化物体只用摇晃、摆动或滑行的方式移动而已。如果活化物体有2条腿(像是雕像或梯子)或者任何可以让自己移动的快一点的类似结构,即可获得+10英尺的速度加值。有多条腿的活化物体(如桌子、椅子)可以获得+20英尺的速度加值,而有轮子的物体则更可获得+40英尺的速度加值。

物体还可以有其他的移动形式。木制物体可以漂浮在水面,并以其陆地速度一半的速度进行游泳。绳索或类似的绳状物可以以起陆地速度的一半进行攀爬。床单状的物体可以其陆地速度一半的速度飞行(笨拙)。

''践踏(Ex):'' An animated obje硬度锏?0的大型或更大的活化物体可以对体型至少比其自身小2级的对手进行践踏。造成的伤害等于其挥击伤害与其1.5倍力量加值之和。如果对手不采用借机攻击对付该物体,则可以进行反射检定(DC 10 + 1/2 物体 HD + 物体力量调整值)通过则伤害减半。
''活化:''一旦启动,活化盾牌就会漂浮在使用者周围2英尺范围内,如同被使用者亲自使用一样保护着使用者,而使用者的双手则被解放出来。同一时刻只能有一面盾牌保护人物。使用活化盾牌的人物仍然要承受使用盾牌时的惩罚值,如防具检定减值、奥术失效几率和不擅长使用盾牌时的减值。

强烈变化系灵光;CL12;制造魔法武器和防具,活化物体(animate objects);价格+2加值。
!!Ankheg(掘地虫)

''大型魔法兽''

|''生命骰:'' 3d10+12(28Hp)|
|''先攻权:'' +0|
|''速度:'' 30尺(6格),掘穴20尺|
|''防御等级:'' 18(-1体型,+9天然),接触9,措手不及18|
|''基本攻击/擒抱:'' +3/+12|
|''攻击:'' 啮咬 +7近身(2d6+7,附加1d4酸)|
|''全回合攻击:'' 啮咬 +7近身(2d6+7,附加1d4酸)|
|''占据/触及:'' 10尺/5尺|
|''特殊攻击:'' 精通攫抓,喷吐酸液|
|''特性:'' 黑暗视觉60尺,低光视觉,颤动感知60尺|
|''豁免:'' 强韧+6,反射+3,意志+2|
|''属性:'' 力量21,敏捷10,体质17,智力1,感知13,魅力6|
|''技能:'' 攀爬+8,聆听+6,侦察+3|
|''专长:'' 警觉,健壮|
|''区域:'' 温带平原|
|''组织:'' 单独,或者成群(2~4个)|
|''挑战等级:'' 3|
|''财宝:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 4HD(大型),5~9HD(超大型)|
|''等级调整:'' —|


掘地虫是一种食肉掘穴怪物。一只掘地虫有6条腿,有些标本呈现黄色而非棕色。它约10尺长,重达800磅。

掘地虫依靠足和下颚掘地。正在掘穴前进的掘地虫一般不会挖出一条可用的隧道,不过它能够挖出一条隧道,这种情况下它挖掘的速度减半。它通常会在肥沃的森林或农田表层下最多40尺的地方挖掘一条通风隧道。该隧道宽高都是5尺,长度在60尺到150尺之间([1d10+5]x10)。

!!!战斗


一只掘地虫一般躲在地表以下5到10尺的地方直到它的触角感觉到猎物接近。然后它会钻出来并攻击目标(这视为一次冲锋,即使如此掘地虫并不需要在攻击前移动超过10尺)。

成群的掘地虫共享一块领地但是并不合作。

''精通攫抓(Ex):''要使用此能力,掘地虫必须使用啮咬攻击命中对手。然后可以以一个即时动作尝试擒抱,该动作不会引发借机攻击。如果掘地虫在擒抱住猎物后受到伤害,它会以移动速度(并非掘穴速度)拖着猎物一起退回隧道。

''喷吐酸液(Spit Acid Ex):''30尺直线,每6小时一次;造成4d4酸伤害,反射检定DC14通过减半。一次这样的攻击将耗尽掘地虫6小时积累下的酸液。在此期间它不能进行酸液喷射也无法造成酸伤害。此豁免DC基于体质。

一只掘地虫只有陷于绝境或者意图受挫时才会使用此能力。大多数情况下当它的hp低于一半或者没能成功地擒抱住对手时,会使用喷吐酸液。

物体还可以有其他的移动形式。木制物体可以漂浮在水面,并以其陆地速度一半的速度进行游泳。绳索或类似的绳状物可以以起陆地速度的一半进行攀爬。床单状的物体可以其陆地速度一半的速度飞行(笨拙)。

''践踏(Ex):''An animated obje硬度锏?0的大型或更大的活化物体可以对体型至少比其自身小2级的对手进行践踏。造成的伤害等于其挥击伤害与其1.5倍力量加值之和。如果对手不采用借机攻击对付该物体,则可以进行反射检定(DC 10 + 1/2 物体 HD + 物体力量调整值)通过则伤害减半。


!!!防活物护罩(Antilife Shell)
|防护系|
|''等级:''动物 6,牧师 6,德鲁伊 6|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1轮|
|''距离:''10英尺|
|''区域:''以你为中心的10英尺半径弥漫区域|
|''持续时间:''10分钟/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''可|
|你产生了一个半球状活动能量场,能阻止大部分种类活物进入。该效果对动物、异怪、龙、精类、巨人、类人生物、魔法兽、人形怪物、泥形怪物、植物、虫类有效,但是对构装体、元素、异界生物、不死生物无效。|
|该法术只能用于防御,不能用来进攻。强行将此防护屏障逼向无法靠近该法术的生物会导致此屏障崩溃。|
!!!反魔场(Antimagic Field)
|防护系|
|''等级:''牧师 8,魔法 6,保护6,术士/法师 6|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''10英尺|
|''区域:''以你为中心的10英尺半径弥漫区域|
|''持续时间:''10分钟/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''见正文|
|一道隐形屏障围绕着你,并随你移动。在这屏障之内的空间里大部分魔法效果都无法进入,包括法术、类法术能力、超自然能力。同时,它也阻止了所有范围内的魔法物品和法术的运转。|
|反魔场压制了在范围内使用、带入范围内、或者对区域内施展的所有法术或魔法效果,但并不是解除它。在反魔场内的时间计入被压制法术的持续时间内。|
|所有种类的召唤生物,以及虚体不死生物在进入反魔场区域时会消失不见。当反魔场移开后它们又会在原地重新出现。消失的时间计入维持生物的咒语持续时间。如果你对一个已经被召唤生物占据的空间施展反魔场,该生物又具有法术抗力,那么你必须做一个施法者等级检定(1d20+施法者等级)来对抗该生物的法术抗力,从而让它消失。(持续时间为立即的咒法系法术其效果不会受到反魔场影响,因为该咒术本身并不存在于效果,这只是它的结果。)|
|普通生物可以进入这一区域,也可以正常的射击。而且,就算一把魔法剑在这区域内没有魔法能力,它依然是把剑(而且是精制品剑)。对魔像和其它构装体来说,它们在制造过程中灌注了魔法,之后就靠自己维持,反魔场队它们无效(除非它们是被召唤来的,这种情况下将它们视作其它召唤生物)。类似地,元素、实体不死生物、异界生物也不受影响,除非它们是被召唤来的。当然,这些生物的类法术能力和超自然能力暂时会被反魔场无效化。[[解除魔法|Dispel Magic(解除魔法)]]不会移除反魔场。|
|共享同一空间的两个或多个反魔场不会互相影响。某些法术,例如[[力墙术|Wall of Force(力墙术)]],[[虹光法球|Prismatic Sphere(虹光法球)]],[[虹光法墙|Prismatic Wall(虹光法墙)]]不受反魔场影响(见对应法术说明)。神器和神祗不会被类似此法术的凡间法术所影响。|
|如果生物比屏障占据的空间还要大,那么所有在屏障外的部分都不受影响。|
|//奥术材料成分://一撮铁粉或铁屑。|
反魔场(antimagic field)法术或效果可完全抵消魔法。反魔法效果具有下列力量和特性。

*在反魔法区域,法术、类法术能力和超自然能力无法运作(但特异能力仍然有效)。

*反魔法能力无法驱散魔法,但能压制魔法。一旦一个魔法效果不再受反魔法能力影响(反魔法能力消失,或魔法效果的中心移出等等),魔法将恢复。持续时间尚未结束的法术将重新发挥作用,魔法物品再次可以使用,以及类似情况等。

*假如一个法术的效果区域一部分处于反魔法区域,另一部分处于普通区域,并且法术的中心点在反魔法区域外,那么在普通区域内法术依然有效。如果法术的中心在反魔法区域内,法术会被压制。

*魔像以及其它的构装生物、元素生物、位面生物和实体不死生物可以在反魔法区域正常活动(尽管反魔法区域如常的压制它们的施法能力、类法术能力和超自然能力)。不过如果这类生物是被召唤而来或创造出来的,那么见下文。

*被召唤或创造而来的任何类型生物,以及虚体不死生物,当它们进入反魔法区域时会消失不见。当反魔场移开后它们会重新出现在原地。

*具有持续效果的魔法物品在反魔法区域无法使用,但是它们的效力不会被撤消(因此尽管取不出次元袋里的物品,但也不会溢出或永久消失)。

*位于相同地方的两个反魔场不会互相抵消,也不会叠加。

*法术力墙术(wall of force)、虹光法墙(prismatic wall)和虹光法球(prismatic sphere)不受反魔法能力影响。法术破除结界(break enchanment)、解除魔法(dispel magic)和高等解除魔法(greater dispel magic)无法驱散反魔法能力。法术裂解术(mage’s disjunction)每施法者等级有1%的几率能摧毁反魔场。如果一个反魔场未被裂解术摧毁,在它里面的所有物体都不会被裂解。

!!!嫌恶术(Antipathy)
|惑控系(胁迫)[影响心灵]|
|''等级:''德鲁伊 9,术士/法师 8|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1小时|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个地区(至多每等级一个10英尺立方),或一件物品|
|''持续时间:''2小时/每等级(可解消)|
|''豁免:''意志,通过部分生效|
|''法术抗力:''可|
|你让一个物品或区域发出魔法震动来赶走特定智能生物或特定阵营的生物,这由你决定。受影响的生物类别必须特别指出名字。生物亚种还不够精确。同样也必须指定特定阵营的名字。|
|指定种类或阵营的生物会感到一种压倒性的强迫感来离开这一区域,或避开受影响的物品。|
|这种强迫感会迫使它离开并避开这一区域或物品,只要法术还有效,它就永远不会自愿返回那里。豁免成功的生物可以待在该区域内,或者接触该物品,但是这么做会让它感到不舒服。这种让人心神紊乱的不适会让它敏捷值降低4。|
|嫌恶术反制和解除[[共鸣术|Sympathy(共鸣术)]]。|
|//奥术材料成分://一块用醋浸湿的明矾。|
!!!反植物护罩(Antiplant Shell)
|防护系|
|''等级:''德鲁伊 4|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''10英尺|
|''区域:''以你为中心的10英尺半径弥漫区域|
|''持续时间:''10分钟/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''可|
|反植物护罩产生了一个隐形的活动屏障,能保护护罩内的所有生物不受植物生物或活化植物的攻击。和大多数防护系法术一样,强行将此屏障逼向无法靠近该法术的生物会导致此屏障崩溃。|
!!Ape(猿)

''大型动物''

|''生命骰:'' 4d8+11(29hp)|
|''先攻权:'' +2|
|''速度:'' 30尺(6格),攀爬30尺|
|''防御等级:'' 14(-1体型,+2敏捷,+3天生),接触11,措手不及12|
|''基本攻击/擒抱:'' +3/+12|
|''攻击:'' 爪抓+7近战(1d6+5)|
|''全回合攻击:'' 2爪抓+7近战(1d6+5)及啮咬+2近战(1d6+2)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+6,反射+6,意志+2|
|''属性:'' 力量21,敏捷15,体质14,智力2,感知12,魅力7|
|''技能:'' 攀爬+14,聆听+6,侦察+6|
|''专长:'' 警觉,健壮|
|''环境:'' 温暖的森林|
|''组织:'' 单独,成对,或成队(3-5)|
|''挑战等级:'' 2|
|''进化:'' 5-8HD(大型)|
|''等级调整:'' -|

这些强力的杂食动物看起来像猩猩,但攻击性要强得多;它们会杀死并吃掉任何它们可以抓到的东西。成年雄猿有5尺半到6尺高,重300到400磅。

!!!战斗

''技能:''在进行攀爬检定时猿可获得+8的种族加值,且可以在攀爬检定中总是取10,即使在很匆忙或受到威胁时也一样。
''Apparatus of the Crab(夸力许装置): ''这像是一个大型密封铁桶,但暗藏一个秘密把手(必须通过“搜索”检定才能发现,DC=20),可打开位于桶面的舱门。爬进去之后会发现十个没有记号的拉杆:

该装置的基本资料如下: hp=200,硬度15 ,20英尺速度,20英尺游泳,AC=20 (–1 大体型,+11天生),攻击+12两只钳脚(2d8伤害, 2只钳脚).


|!	Lever(1d10)	 |!	拉杆效果	 |
|^	1	 |^	伸出/收回腿及尾巴	 |
|^	2	 |^	打开/关闭前舷窗	 |
|^	3	 |^	打开/关闭侧舷窗	 |
|^	4	 |^	伸出/收回钳脚及触角	 |
|^	5	 |^	钳脚剪合	 |
|^	6	 |^	前进/后退	 |
|^	7	 |^	左转/右转	 |
|^	8	 |^	打开/关闭内附“不灭明焰”的潜望镜	 |
|^	9	 |^	在水中上升/下沉	 |
|^	10	 |^	打开/关闭舱门	 |

拉动拉杆属于整轮动作,一轮之内同一拉杆只能拉动一次。舱内可容纳两名中体型人物,所以此装置可以在一轮内同时移动和攻击。它能够潜入水中达900英尺。所储空气足供两名乘员呼吸1d4+1小时(若只有一名乘员则时间加倍)。启动后,装置外观有如一只大龙虾。

施法者等级:19。先决条件:“制造奇物”,“活化物体”、“不灭明焰”,“知识:建筑与工程”技能级数达8。交易价格:90000金币。重量:500磅。
!! Appraise(估价)(智力)

''检定:''你可以用一次DC12的估价检定对普通或常见物品估价。失败则意味着你的估计值为它实际价值的50%到150%(2d6+3再乘以10%)。

给罕见或奇异的物品估价需要做一次DC15,20,或更高的成功检定。如果检定成功,你可以正确的估计出物品价值;失败则代表你无法估计出物品价值。

放大镜可以让你鉴定小东西或有高度细节的物品(例如宝石)时在估价检定上获得+2环境加值。珠宝商天平可以让你在给价值和重量有关的物品(包括贵金属质地的任何物品)估价时获得+2环境加值。

这些加值可以叠加。

''动作:''给一个物品估价需要一分钟(10个连续的整轮动作)。

''重试:''不可重试。你不能对同一个物品估价两次,不论是否成功。

''特别:''矮人在给石制或者金属制物品估价时有+2种族加值,因为矮人对所有贵重物品都很熟悉(特别是由石头或者金属制成的物品)。

渡鸦魔宠的主人在估价检定上获得+3加值。

有细心(Diligent)专长的角色在估价检定上获得+2加值。

''共效:''如果在任何手艺技能上有5个级数,在该手艺所制物品的估价检定上有+2加值。

''未受训:''对于普通物品,未受训检定失败意味着没有估计出价值。对于稀有物品,成功检定意味着估价为实际价值的50%到150%(2d6+3再乘以10%)。

''水栖(Aquatic)亚种:''这类生物总是有游泳速度,因此它们可以在水中移动而不需要作游泳检定。水栖生物可以在水下呼吸。除非它具有两栖(amphibious)特性,否则它不能在水面以上呼吸。

!!Aranea(变形蛛)

''中型魔法兽(变形生物)''

|''生命骰:'' 3d10+6(22hp)|
|''先攻权调整:'' +6|
|''速度:'' 50英尺(10方格),攀爬25英尺|
|''防御等级:'' 13(+2敏捷,+1天生),接触12,措手不及11|
|''基本攻击加值/擒抱:'' +3/+3|
|''攻击:'' 啮咬+5近战(1d6外加毒素)或蛛网+5远程|
|''全回合攻击:'' 啮咬+5近战(1d6外加毒素)或蛛网+5远程|
|''面宽/触及:'' 5英尺/5英尺|
|''特殊攻击:'' 毒素,蛛网,法术|
|''特性:'' 改变外形,黑暗视觉60英尺,昏暗视觉|
|''豁免:'' 强韧+5,反射+5,意志+4|
|''属性:'' 加量11,敏捷15,体质14,智力14,感知13,魅力14|
|''技能:'' 攀爬+14,专注+8,逃脱+5,跳跃+13,聆听+6,侦察+6|
|''专长:'' 精通先攻,钢铁意志(B),武器娴熟|
|''环境:'' 温带森林|
|''组织:'' 单独或小队(3-6)|
|''挑战等级:'' 4|
|''宝藏:'' 标准钱币,双倍货物,标准物品|
|''阵营:'' 通常是中立|
|''进化:'' 依人物等级而定。|
|''等级调整:'' +4|


变形蛛是一种聪明的蛛类变形生物,拥有术士能力。在自然形态下,变形蛛看起来就像是巨大的蜘蛛,它隆起的身体比人类的躯体略大。它的下鄂如普通的蜘蛛一样生着毒牙。两只长2英尺的短臂从下鄂下平伸出来,每只臂上都有一只手,它们由四只多关节的手指和与之相对的可伸屈的拇指构成。

一只变形蛛通常重150磅,它脊背隆起的部分内是它的大脑。

变形蛛说通用语和木族语。

!!!战斗

变形蛛会尽量避免肉搏战而使用它的法术和蛛网。在战斗中,它会首先试着困住或引开那些最具侵略性的对手。变形蛛通常会征服敌人以勒索赎金。

''毒素(特异能力):''伤口传播,强韧DC13,初始伤害1d6力量,后续伤害2d6力量。豁免DC基于体质。

''法术:''变形蛛可以如3级术士一样施法。它喜欢使用幻术及魅惑系法术,并且避免使用火焰性质的法术。

//典型的已知术士法术(6/6,豁免DC12+法术等级)://

|0-晕眩(daze),侦测魔法(detect magic),幻音术(ghost sound),光亮术(light),提升抗力?(resistance);|
|1-法术之甲(mage armor),无声幻影(silent image),睡眠(sleep)。|

''蛛网(特异能力):''当处于蜘蛛或混合形态时(见下),变形蛛可以最多一天六次射出蛛网。这类似于捕网的攻击,除了它的最大射程为50英尺,且射程增量为10英尺,并且它的有效目标增大为大型。蛛网将目标固定在朱地,使其无法移动。

被纠缠的生物可以通过dc13的脱逃鉴定挣脱,或者它们可以通过dc17的力量鉴定以破坏蛛网。对抗鉴定的DC是基于体质的,并且在力量对抗DC上有+4的种族加值。蛛网有6点生命值,硬度0,并且会受到双倍火焰伤害。

''改变外形(超自然能力):''变形蛛的天然外形看上去像是中型变种蜘蛛。它还可以以另外两种外形出现,一种是单一的、小或中体型的类人生物。如同兽化人,当变形蛛以人形出现时总是呈现出相同的外貌和特征。当处于类人生物形态时,变形蛛不能使用它的啮咬攻击、毒素或蛛网。

第二种形态是蜘蛛与人形的混合形态。当处于混合形态时,变形蛛乍看上去就像一个中型的人形生物,但通过DC18的侦察检定就可以发现它的毒牙和喷丝器。混合形态的变形蛛保留它的啮咬攻击、毒素和蛛网能力,同时也可以使用武器或穿戴防具。混合形态的变形蛛速度为30尺(6格)。

变形蛛会一直保持在一种形态,直到它换用另一种。变形效果不会被驱散,被杀死的变形蛛也不会变回它的天然外表。不过,当它使用人形或是混合型外表时,真实视域(true seeing)法术仍然能够揭示出它的本来面目。

''技能:''变形蛛在跳跃、侦察、聆听上有+2的种族加值,它在攀爬上有+8的种族鉴定并且总能在攀爬中取10,即使是在匆忙或是被威胁的情况下。

''生命骰:''d8。

!!!!先决条件
要具备魔射手的资格,人物必须符合以下全部条件。

''种族:''精灵或半精灵。

''基本攻击加值:''+6。

''专长:''近程射击,精准射击,专攻武器(长弓或短弓)。

''施法:''可施展一级奥术。

!!!!本职技能
魔射手的本职技能如下(括号中为该技能的关键属性):手艺(智力),躲藏(敏捷),聆听(感知),潜行(敏捷),骑术(敏捷),侦察(感知),生存(感知),绳技(敏捷)。

''升级技能点数:''4+智力调整值。

 

''表:魔射手''
 

|!	职业等级	|!	基本攻击加值	|!	强韧检定	|!	反射豁免	|!	意志豁免	|!	特殊能力	|
|^	1	|^	+1	|^	+2	|^	+2	|^	+0	|^	附魔箭+1	|
|^	2	|^	+2	|^	+3	|^	+3	|^	+0	|^	灌法箭	|
|^	3	|^	+3	|^	+3	|^	+3	|^	+1	|^	附魔箭+2	|
|^	4	|^	+4	|^	+4	|^	+4	|^	+1	|^	追踪箭	|
|^	5	|^	+5	|^	+4	|^	+4	|^	+1	|^	附魔箭+3	|
|^	6	|^	+6	|^	+5	|^	+5	|^	+2	|^	相位箭	|
|^	7	|^	+7	|^	+5	|^	+5	|^	+2	|^	附魔箭+4	|
|^	8	|^	+8	|^	+6	|^	+6	|^	+2	|^	箭雨	|
|^	9	|^	+9	|^	+6	|^	+6	|^	+3	|^	附魔箭+5	|
|^	10	|^	+10	|^	+7	|^	+7	|^	+3	|^	死亡箭	|


 

!!!!职业特性:
下述均为魔射手进阶职业的职业特性:

''武器和防具擅长:''魔射手擅长全部简易武器与军用武器、轻型盔甲、中型盔甲与盾牌。

''附魔箭(Enhance Arrow,超自然能力):''1级开始,任何由魔射手搭弦并射出的非魔法箭会变成魔法箭,具有+1增强加值。和正常方法制作的魔法武器不同,魔射手不需花费经验值或金钱就可制造。不过,这种魔法箭只对他有用。1级开始,此进阶职业每升两级,附魔箭就多获得+1加值(1级+1,3级+2,5级+3,7级+4,9级+5)。

''灌法箭(Imbue Arrow,类法术能力):''2级开始,魔射手获得此能力,可在箭上灌注一个区域性法术。射出后,箭着点成为该法术影响区域中心,即便该法术本来只能以施法者为中心。此能力可让射手用弓的射程取代法术距离。施法并射箭是一个标准动作。施法与射箭必须在同一轮完成,否则法术便失效。

''追踪箭(Seeker Arrow,类法术能力):''4级开始,魔射手每日可射出一支箭追踪射程内的一个他所知的目标,该箭可以绕过弯角命中敌人。只有遇到不能绕避的障碍物或超出射程时才无法追踪。掩蔽与隐蔽调整值对此能力无效,但除此之外,其他攻击相关检定仍照常。使用此能力属于标准动作(射箭为动作的一部分)。

''相位箭(Phase Arrow,类法术能力):''6级开始,魔射手每日可对射程内已知目标射出一支相位箭,此间会贯穿途中所有非魔法障壁,直线飞抵目标。(任何法术障碍都会阻挡箭)。该能力忽视掩蔽、隐蔽调整值,同时还有任何盔甲修正。但除此之外,其他攻击相关检定仍照常。

使用此能力属于标准动作(射箭为动作的一部分)。

''箭雨(Hail of Arrows,类法术能力):''8级开始,替代一般攻击,魔射手可同时对射程内多个目标各射一箭,可射击的目标数等于魔射手等级。该能力每日可使用一次。每支箭的攻击都使用射手的主要攻击加值,同时只能向每个敌人射一箭。

''死亡箭(Arrow of Death,类法术能力):''10级开始,魔射手可以使用死亡箭,目标若中此箭,须进行强韧豁免(DC 20),未通过则立即死亡,制造死亡箭需要一整天,而且只有制造者能使用。死亡箭至多能保存一年,同时魔射手不能同时拥有一支以上的死亡箭。

!!!秘法眼(Arcane Eye)
|预言系(探知)|
|''等级:''术士/法师 4|
|''法术成分:''言语,姿势,材料|
|''施法时间:''10分钟|
|''距离:''无限制|
|''效果:''魔法感官|
|''持续时间:''1分钟/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|你创造出一个隐形的魔法感官,它可以提供给你视觉信息。你可以在任何你能看见的地点创造出一个秘法眼,但是它可以不受限制地移出你的视觉线。如果秘法眼像人一样正视前方(主要观察地板),那么它可以以每轮30英尺(每分钟300英尺)的速度移动,如果同时还检查前方的天花板和墙壁,那么移动速度为每轮10英尺(每分钟100英尺)。它所看到的如同你在现场看到的一样。|
!!! 秘法锁(Arcane Lock)

|防护系|
|''等级:''术士/法师 2	|
|		|
|	''法术成分:''言语,姿势,材料	|
|		|
|	''施法时间:''一个标准动作	|
|		|
|	''距离:''接触	|
|		|
|	''目标:''接触的门、箱子、或大门,大小至多每等级30平方英尺	|
|		|
|	''持续时间:''永久	|
|		|
|	''豁免:''无	|
|		|
|	''法术抗力:''不可	|
|		|
|	施展在门、箱子、大门上的秘法锁能以魔法锁住它。你可以自由通过你自己的秘法锁而不受影响;否则用这个法术封住的门或物品将只能被打破开,或者成功的使用[[解除魔法|Dispel Magic(解除魔法)]]或[[敲击术|Knock(敲击术)]]。被此法术影响的门或大门其击破DC增加10。(敲击术不会移除秘法锁,它只是压制该效果10分钟。)	|
!!!秘法印记(Arcane Mark)
|共通系|
|''等级:''术士/法师 0|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''0 尺|
|''效果:''一个私人符文或印记,面积最多1平方英尺|
|''持续时间:''永久|
|''豁免:''无|
|''法术抗力:''不可|
|这个法术能让你记下你个人的符文或印记,该符文或印记最多不能超过六个字母。写下的文字可以是可见的,也可以是不可见的。秘法印记法术能让你在任何材质上刻下这个符文而不会对它造成损害。如果制造一个隐形印记,[[侦测魔法|Detect Magic(侦测魔法)]]可以让它发光,从而变的可见,当然并不一定能看懂它。|
|[[识破隐形|See Invisibility(识破隐形)]],[[真知术|True Seeing(真知术)]],真知宝石(gem of seeing),百眼法袍(robe of eyes)同样也可以让使用者看到隐形的秘法印记,[[阅读魔法|Read Magic(阅读魔法)]]则能看出词语的含义(如果有含义)。印记无法被解除,但是可以被施法者自己移除,或被[[抹消术|Erase(抹消术)]]移除。|
|如果秘法印记放置在活的生物体上,那么大约在一个月左右印记就会由于正常的磨损而逐渐消失。|
|要施展瞬间召唤(instant summons)(见法术说明),首先必须在该物品上施展魔法印记。|
!!!高等秘法视力(Arcane Sight, Greater)
|预言系|
|''等级:''术士/法师 7|
|该法术类似于秘法视力,只是你自动得知你所看到的任何个体或物品上正启用的法术或魔法效果。|
|高等秘法视力不能让你鉴定魔法物品。|
|和秘法视力不同,该法术不能被[[魔法恒定术|Permanency(魔法恒定术)]]恒定。|
!!!秘法视力(Arcane Sight)
|预言系|
|''等级:''术士/法师 3|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''你自己|
|''持续时间:''1分钟/每等级(可解消)|
|这个法术让你的眼睛发出蓝光,能让你看见120英尺内的魔法灵光。该效果和[[侦测魔法|Detect Magic(侦测魔法)]]相类似,只是秘 |
|你能知道你视野中所有魔法灵光的位置和强度。灵光的强度依赖于法术能力级别或物品的施法者等级,这和侦测魔法法术说明|
|如果你以一个标准动作对120英尺内特定生物维持专注,你能发现它是否有施法能力或类法术能力,以及是奥术还是神术(类法术能力按奥术显示),以及该生物当前可使用的最强法术或类法术能力的强度。|
|秘法视力可以被[[魔法恒定术|Permanency(魔法恒定术)]]恒定。|
''生命骰:''d4。

!!!!先决条件

要具备诡术师的资格,人物必须符合以下全部条件。

''阵营:''任何非守序阵营。

''技能:''解读文书7级,解除装置7级,脱逃术7级,知识(神秘)4级。

''法术:''可施展法师之手(mage hand)和另外至少一种三级或更高级别的奥术。

''特殊:''偷袭+2d6。

!!!!本职技能
诡术师的本职技能如下(括号中为该技能的关键属性):估价(智力),平衡(敏捷),唬骗(魅力),攀爬(力量),专注(体质),手艺(智力),解读文书(智力),交涉(魅力),解除装置(智力),易容(魅力),脱逃术(敏捷),搜集信息(魅力),躲藏(敏捷),跳跃(力量),知识(所有方面,需逐个选择)(智力),聆听(感知),潜行(敏捷),开锁(敏捷),专业(感知),察言观色(感知),搜索(智力),手上功夫(敏捷),语言(智力),辨识法术(智力),侦察(感知),游泳(力量),翻滚(敏捷),和绳技(敏捷)。

''升级技能点数:''4+智力调整值。

 

''表:诡术师''

|!	等级	|!	基本攻击加值	|!	强韧检定	|!	反射豁免	|!	意志豁免	|!	特殊能力	|!	每日法术数量	|
|^	1	|^	+0	|^	+0	|^	+2	|^	+2	|^	远程手法1次/日	|^	现有职业等级+1	|
|^	2	|^	+1	|^	+0	|^	+3	|^	+3	|^	偷袭+1d6	|^	现有职业等级+1	|
|^	3	|^	+1	|^	+1	|^	+3	|^	+3	|^	强行偷袭1次/日	|^	现有职业等级+1	|
|^	4	|^	+2	|^	+1	|^	+4	|^	+4	|^	偷袭+2d6	|^	现有职业等级+1	|
|^	5	|^	+2	|^	+1	|^	+4	|^	+4	|^	远程手法2次/日	|^	现有职业等级+1	|
|^	6	|^	+3	|^	+2	|^	+5	|^	+5	|^	偷袭+3d6	|^	现有职业等级+1	|
|^	7	|^	+3	|^	+2	|^	+5	|^	+5	|^	强行偷袭2次/日	|^	现有职业等级+1	|
|^	8	|^	+4	|^	+2	|^	+6	|^	+6	|^	偷袭+4d6	|^	现有职业等级+1	|
|^	9	|^	+4	|^	+3	|^	+6	|^	+6	|^	远程手法3次/日	|^	现有职业等级+1	|
|^	10	|^	+5	|^	+3	|^	+7	|^	+7	|^	偷袭+5d6	|^	现有职业等级+1	|


 

!!!!职业特性:

下述是为诡术师进阶职业的职业特性:

''武器和防具擅长:''诡术师不获得任何武器或防具的擅长。

''每日法术数量:''当诡术师升级时,可以获得新法术,如同角色进阶前的施法者等级同时提升。角色只能提高施法能力,而不能获得先前职业的其他好处。若角色在进阶前拥有多个施法职业,则必须选择要将此升级的诡术师等级加在哪一种施法职业上,以决定新的每日法术数量。

''远程手法(Ranged Legerdemain):''诡术师可以在30尺距离内使用以下职业技能:解除装置,开锁或是手上功夫。远程工作将使技能检定DC增加5,并且在此检定中无法取10。远程手法的操作对象重量必须为5磅或更轻。

初始时诡术师可以每日1次使用远程手法,5级时每日2次,9级时每日3次。使用远程手法时,他每天只可将一种技能检定用在远程手法上,而且诡术师在该项技能上级数必须至少为1。

''偷袭(Sneak Attack):''此能力类似于游荡者的同名能力。每升两级(2,4,6,8,和10),额外伤害值都会增加1d6。如果诡术师有来自其它原因的偷袭加值,其额外伤害加值也会累加其中。

''强行偷袭(Impromptu Sneak Attack):''当诡术师达到3级时,他可以声明他的一次近战或远程攻击是偷袭(强行远程偷袭时,目标必须位于30尺以内),该能力每天可使用1次。目标的防护等级失去敏捷加值,但仅对本次攻击有效。本能力可以作用于任何目标,但不受重击的生物同时也不承受额外的偷袭伤害(但防护等级仍失去敏捷加值)。

当诡术师达到7级时,可以每日2次使用本能力。

Archmage(大法师)

''生命骰:''d4。

!!!!先决条件

要具备大法师,人物必须符合以下全部条件。

''技能:''知识(神秘)15级,辨识法术15级。

''专长:''专攻技能(辨识法术),两个学派上的专攻法术。

''法术:''可施展七级奥术,懂得至少五个不同学派上的5级或更高级别的法术。

 

!!!!本职技能
大法师的本职技能(括号中为该技能的关键属性):专注(体质),手艺(炼金术)(智力),知识(所有方面,需逐个选择)(智力),专业(感知),搜索(智力),辨识法术(智力)。

''升级技能点数:''2+智力调整值。

 

''表:大法师''

|!	等级	|!	基本攻击加值	|!	强韧检定	|!	反射豁免	|!	意志豁免	|!	特殊能力	|!	每日法术数量	|
|^	1	|^	+0	|^	+0	|^	+0	|^	+2	|^	高等奥术能力	|^	现有奥术施法职业等级+1	|
|^	2	|^	+1	|^	+0	|^	+0	|^	+3	|^	高等奥术能力	|^	现有奥术施法职业等级+1	|
|^	3	|^	+1	|^	+1	|^	+1	|^	+3	|^	高等奥术能力	|^	现有奥术施法职业等级+1	|
|^	4	|^	+2	|^	+1	|^	+1	|^	+4	|^	高等奥术能力	|^	现有奥术施法职业等级+1	|
|^	5	|^	+2	|^	+1	|^	+1	|^	+4	|^	高等奥术能力	|^	现有奥术施法职业等级+1	|

 

 

!!!!职业特性:

下述均为大法师进阶职业的职业特性:

''武器和防具擅长:''大法师不获得任何武器或防具的擅长。

''每日法术数量/可知法术:''大法师每次升级,每日法术数量(以及可知法术,如适用)都会增加,就像之前大法师能够施展7级奥术的职业获得提升一样,但不能获得之前施法职业的其它能力。

若人物在成为大法师之前拥有多个可施展7级奥术的施法职业,则必须选择要将此升级的大法师等级加在哪一种施法职业上,以决定新的每日法术数量。

''高等奥术能力(High Arcana):''大法师在升级时有选择并得到下列特殊能力的机会,代价是永久失去一个已有施法位(他无法消除高于其所能施展最高法术等级的法术位)。每一个特殊能力都有其所需施法位的最低等级限制,详见下述。

大法师也可以选择消去比要求的奥术等级高的施法位来获得高等奥术能力。

//奥火(Arcane Fire,超自然能力)://大法师可以将一个准备好的奥术的能量转换为奥火,将其制成一支原始法术能量的能量矢。奥火是一种远程接触攻击,射程为400+40英尺/每个大法师等级,造成的伤害值是每个大法师等级1d6再加上被转换奥术每个等级1d6伤害。该能力需要一个九级施法位。

//奥术之手(Arcane Reach,超自然能力)://大法师可以使用接触法术来接触30英尺内的目标。此特殊能力可以选择两次,此时范围为60英尺。该能力需要一个七级施法位。

//反制法术掌控(Mastery of Counterspelling)://当大法师反制了一个法术后,它将立刻返回到施法者身上,就象被法术反转(spell turning)完全影响了一样。如果施放的法术无法被法术反转(spell turning)转向,那么这个法术只是被反制。该能力需要一个七级施法位。

//元素掌控(Mastery of Elements)://大法师可以在施展奥术时改变它,用另外一种不同元素替换掉正常的元素。该能力只可改变具有如下描述的法术:酸、寒、火、电、音波。被转化的奥术的施法时间不受影响。施法者可以在开始施法前选择是否要转换法术能量类型,并指定这个奥术的新能量种类。该能力需要一个八级施法位。

//塑形掌控(Mastery of Shaping)://大法师可以改变使用如下形状的区域(Area)或效果(Effect)型法术的作用范围:爆发(burst),锥形(cone),柱形(cylinder),弥漫(emanation),扩散(spread)。大法师可以使用此特殊能力在法术作用空间中创建出不受此法术影响的区域。这些区域的最小体积是5英尺边长的立方体。而且,塑形掌控的能力可以将可塑形法术(Shapeable Spells)的最小作用空间从10英尺降至5英尺。该能力需要一个六级施法位。

//法术之力(Spell Power)://这个特殊能力将大法师的有效施法者等级提升了1级(仅作用于视等级决定法术效果变化的法术属性,如伤害投掷骰、射程以及施法者等级检定)。该能力需要一个五级施法位。

//类法术能力(Spell-Like Ability)://大法师可以在他的一个空着的法术位(不包括学习这个或其他高等奥术能力所失去的法术栏位)上永恒地存储某一特定法术,并将它变成类法术能力。这个类法术能力每天可使用2次。在施放这个类法术能力时,大法师不需要任何法术成分,但是依然要支付经验值成分。同时若是这个法术中包含有昂贵材料成分,每施放一次,大法师将失去10倍材料价格(GP)的经验值。该能力需要一个五级施法位。

类法术能力通常占用同级的法术位,但有时大法师也可以存储一些被超魔专长强化过的奥术,这时使用对应法术等级的法术位。

大法师也可以选择用高等级法术位存储低等级法术,从而增加类法术能力的使用次数。用高3级的法术位存储的类法术能力每天可使用4次;高6级的法术位存储的类法术能力每天可使用6次。

当多次选择这个特殊能力时,角色可以继续再次转化一个法术,可以是已经选择过的(增加每日使用数量),也可以是未选择过的奥术。

!!Archon (亚空神族)


亚空神族是天界生物,居住在守序善良位面的存在。

亚空神族都能说天界语,炼狱语和龙语。但她们可以通过自己的巧言能力不受阻碍的和任何生物交流。

!!! 战斗
亚空神族都喜欢谨慎的正面对待她们的对手,但假如在突然状态下遭遇进攻,亚空神族会极尽所能摆脱困境(她们通常会和敌人拉开距离,并且在敌人靠近之前用魔法打击她们的对手)。

''亚空神族特性:''每一个亚空神族都具有以下特性(除非生物描述中另有说明)。

*60尺黑暗视觉和昏暗视觉。
*威胁灵气(Su):当亚空神族愤怒和战斗时,一股正义的灵气将环绕着她。在亚空神族身边20尺半径的范围内,所有敌对生物都必须成功的通过一次意志鉴定来抵消它的效果(DC基于魅力调整值,具体数值根据亚空神族的种类为准)。否则他们将在攻击鉴定,防御等级,和豁免鉴定上得到-2惩罚。除非成功的对产生威胁灵气的亚空神族造成伤害,否则它的效果将维持24小时。成功抵消了威胁灵气的生物在之后24小时内都不再受到威胁灵气的影响。
*免疫电击和石化。
*对抗毒素的豁免鉴定+4。
*反邪恶法阵(Su):反邪恶法阵的效果总是环绕着亚空神族,它的效果相当于同HD的施法者所施展的同名法术(反邪恶法阵的防御优势并没有包含在资料中)。
*传送(Su):亚空神族可以随意传送到任何地方,就如同14级施法者所施展的“高等传送术”一样。但她只能传送自己外加不超过50磅的东西。
*巧言(Su):所有亚空神族都能够同不同语言能力的生物交流,其效果如同14级施法者所施展的“巧言术”。这项能力永远处于启用状态。

<<list-links "[tag[Archon (亚空神族)]]">>
''神使(Archon)亚种:''神使是天界生物的一支,或者是善良的异界生物。他们居住在守序善良阵营的外位面。

特性:神使拥有下列特性(除非生物描述中另有说明)。

*60尺黑暗视觉和低光视觉。
*威吓灵气(Aura of Menace,超自然能力):在战斗或愤怒的神使身边环绕着正义的灵气。任何20尺半径以内的敌对生物必须通过意志豁免来抵抗它的效果。豁免DC因神使类型的不同而变化,基于魅力的,并包含+2的种族调整值。豁免失败者在攻击、防御等级和豁免上将受到*2减值,此效果持续24小时或直到他们成功击中了产生此灵气的神使为止。已经成功抵抗或破除此效果的生物在24小时内不会再被同一神使的灵气影响。
*对电和石化免疫。
*对毒素的豁免上有+4种族奖励。
*[[反邪恶法阵|Magic Circle Against Evil(反邪恶法阵)]],超自然能力:反邪恶法阵始终环绕神使(施法者等级等同于神使的HD)。(法阵带来的防御上的奖励未计入神使的数据中。)
*传送(Teleport,超自然能力):神使可以任意使用[[高等传送术|Teleport, Greater(高等传送术)]],相当于同名法术(施法者等级14),但它只能传送自己和总和不超过50磅的物品。
*巧言(Tongues,超自然能力):所有神使都能够和任何有语言的生物交谈,如同[[巧言术(Tongues )|Tongues(巧言术)]](施法者等级14)。此能力始终处于启动状态。

!!Hound Archon(獒首神使)

''中型异界生物(亚空,跨位面,善良,秩序)''

|''生命骰:'' 6d8+6(33Hp)|
|''先攻权:'' +4|
|''速度:'' 40尺(8格)|
|''防御等级:'' 19(+9天然),接触10,措手不及19|
|''基本攻击/擒抱:'' +6/+8|
|''攻击:'' 咬+8近身(1d8+2)或者巨剑+8近身(2d6+3/19-20)|
|''全回合攻击:'' 咬+8近身(1d8+2)外加挥击+3近身(1d4+1)或者巨剑+8/+3近身(2d6+3/19-20)外加咬+3近身(1d8+1)|
|''占据/触及:'' 5尺/5尺|
|''特殊攻击:'' 类法术能力|
|''特性:'' 威胁灵气,变换外形,伤害减免10/邪恶,60尺黑暗视觉,免疫电击和毒素,反邪恶法阵,灵敏嗅觉,法术抗力16,传送,巧言|
|''豁免:'' 强韧+6(对抗毒素+10),反射+5,意志+6|
|''属性:'' 力量15,敏捷10,体质13,智力10,感知13,魅力12|
|''技能:'' 专注+10,交涉+3,躲藏+9*,跳跃+15,聆听+10,潜行+9,察言观色+10,侦察+10,生存+10*(如后所述+12)|
|''专长:'' 精通先攻,猛力攻击,追踪|
|''区域:'' 守序善良位面|
|''组织:'' 单独,成双,或成队(3~5个)|
|''挑战等级:'' 4|
|''财宝:'' 无钱币,无工艺品,标准物品|
|''阵营:'' 总是守序善良|
|''进化:'' 7~9HD(小型),10~18HD(大型)|
|''等级调整:'' +5|


!!Hound Archon Hero, 11Th-Level Paladin (英灵獒首神使,11级圣武士)

''中型异界生物(亚空,跨位面,善良,秩序)''

|''生命骰:'' 6d8+18外加11d10+33(143Hp)|
|''先攻权:'' +4|
|''速度:'' 30尺(穿着全身铠甲)(60格),基本速度40尺|
|''防御等级:'' 30(+9天然,+11全身铠甲)接触10,措手不及30|
|''基本攻击/擒抱:'' +17/+22|
|''攻击:'' +2寒铁巨剑+25近身(2d6+9/19-20),或者咬+22近身(1d8+5)|
|''全回合攻击:'' +2寒铁巨剑+25/+20/+15/+10近身(2d6+9/19-20)外加咬+17近身(1d8+2)或者咬+22近身(1d8+5)外加挥击+17近身(1d4+2)|
|''占据/触及:'' 5尺/5尺|
|''特殊攻击:'' 破邪斩,法术,类法术能力,超度不死生物6次/每日|
|''特性:'' 威胁灵气,变换外形,伤害减免10/邪恶,60尺黑暗视觉,免疫电击和毒素,反邪恶法阵,圣武士职业能力,灵敏嗅觉,法术抗力27,传送,巧言|
|''豁免:'' 强韧+18(对抗毒素+22),反射+11,意志+13|
|''属性:'' 力量21,敏捷10,体质16,智力8,感知14,魅力16|
|''技能:'' 专注+20,交涉+19,躲藏+2*,跳跃+0,聆听+10,骑术+14,察言观色+19,侦察+10,生存+2*|
|''专长:'' 精通先攻,领导力,乘骑战斗,快速乘骑战斗,追踪,武器专攻(巨剑)|
|''区域:'' 守序善良位面|
|''组织:'' 单独,或者同一头青少年青铜龙|
|''挑战等级:'' 16|
|''财宝:'' 标准|
|''阵营:'' 总是守序善良|
|''进化:'' 随人物等级|
|''等级调整:'' +5|


!!! 獒首神使

獒首神使看起来很像人类,只不过长了一个类似犬类的头。

!!! 战斗

尽管獒首神使偶尔使用他们的巨剑,但他们更喜欢使用他们的天然武器作为攻击手段。

獒首神使的天然武器在对抗具有伤害减免能力的生物时视为具有“善良”属性。

''类法术能力:''随意施展--援助术,不灭明焰,侦测魔法,传讯术。施法等级6。

''威胁灵气(Su):''意志鉴定DC16,通过无效。

''变换外形(Su):''獒首神使可以随意将自己的外形变成任何小型到大型的犬类生物。当他处于犬类生物的形态时,他将失去原本拥有的咬击,挥击,和巨剑攻击能力,改为相应体型的撕咬攻击。犬类形态包括所有像狼或者狗的动物。

技能:当獒首神使处于犬类形态时,带有*号的技能(躲藏和生存)上获得+4环境奖励。

!!! 英灵獒首神使

英灵獒首神使是公正的坚定追随者,致力于扫荡和毁灭一切邪恶。

!!! 战斗

比起獒首神使,英灵獒首神使更依赖他们的武器。比起牙齿和利爪,他们更加习惯于挥舞神圣的巨剑。

类法术能力:随意施展--援助术,不灭明焰,侦测魔法,传讯术。施法等级6。

''威胁灵气(Su):''进过高魅力的强化,英灵獒首神使的威胁灵气DC增加到18。

''破邪斩(Su):''每天3次,英灵獒首神使可以在打击邪恶敌人的时候在正常攻击鉴定上获得+3奖励和额外11点伤害。

''变换外形(Su):''獒首神使可以随意将自己的外形变成任何小型到大型的犬类生物。当他处于犬类生物的形态时,他将失去原本拥有的咬击,挥击,和巨剑攻击能力,改为相应体型的撕咬攻击。犬类形态包括所有像狼或者狗的动物。

''技能:''当獒首神使处于犬类形态时,带有*号的技能(躲藏和生存)上获得+4环境奖励。

''圣武士职业能力:''勇气圣光,善良灵光,侦测邪恶,神恩,神佑,圣疗(33点/每日),移除疾病2次/每周,圣武士坐骑(青少年青铜龙)。

典型圣武士准备神术(2/2,基本DC12+法术等级);1级*神恩,防护邪恶;2级*蛮力术,鹰之光彩

''个人物品:''+3全身铠甲,+2寒铁巨剑

!!! 英灵獒首神使坐骑

据说在过去的岁月中,许多英灵獒首神使帮助过青铜龙并和他们成为了朋友。于是很多青铜龙成为了英灵獒首神使的坐骑。他们之间的亲密关系甚至超越了普通的圣武士和天界坐骑之间的关系。他们自然而然的结成盟友,为了多元宇宙的公正而付出努力。青少年青铜龙坐骑获得额外2HD,额外4点力量,额外4点天然护甲,获得精通反射闪避,所有行动方式速度增加10尺。但是,龙不能如同圣武士的其他种类的坐骑那样命令和它同种的生物。

!!! 獒首神使人物

獒首神使玩家人物具有以下种族特性:


*+4力量,+2体质,+2感知,+2魅力
*中型体型
*獒首神使的基本速度为40尺
*种族生命骰:獒首亚空具有6个基础异界生物生命骰,基本攻击加值+6,基本豁免加值为强韧+5,反射+5,意志+5
*种族技能:獒首神使基于异界生命骰拥有9x(8+智力调整值)的技能点数。獒首神使的本职技能为:专注,躲藏,跳跃,聆听,潜行,察言观色,侦察和生存
*种族专长:基于异界生命骰,獒首亚空拥有额外3个专长
*+9天生护甲奖励
*天然武器:咬(1d8),挥击(1d4)
*亚空神族特性(见前面描述):黑暗视觉60尺,昏暗视觉,威胁灵气(意志DC15+魅力调整值),免疫电击和石化,对抗毒素+4种族奖励,反邪恶法阵,传送,巧言
*特殊攻击:类法术能力
*特性:变换外形,伤害减免10/邪恶,追踪,法术抗力16+职业等级
*天生语言:天界语。额外语言:通用语,龙语,炼狱语
*天赋职业:巡林客
*等级调整:+5

!!Lantern Archon(圣光神使)

''小型异界生物(亚空,跨位面,善良,秩序)''

|''生命骰:'' 1d8(4Hp)|
|''先攻权:'' +4|
|''速度:'' 飞行60尺(完美)(12格)|
|''防御等级:'' 15(+1体型,+4天然),接触11,措手不及15|
|''基本攻击/擒抱:'' +1/-8|
|''攻击:'' 强光射线+2远程接触(1d6)|
|''全回合攻击:'' 2强光射线+2远程接触(1d6)|
|''占据/触及:'' 5尺/5尺|
|''特殊攻击:'' 类法术能力|
|''特性:'' 威胁灵气,伤害减免10/邪恶和魔法,60尺黑暗视觉,免疫电击和毒素,反邪恶法阵,传送,巧言|
|''豁免:'' 强韧+2(对抗毒素+6),反射+2,意志+2|
|''属性:'' 力量1,敏捷11,体质10,智力6,感知11,魅力10|
|''技能:'' 专注+4,交涉+4,知识(位面)+2,聆听+4,察言观色+4,侦察+4|
|''专长:'' 精通先攻|
|''区域:'' 守序善良位面|
|''组织:'' 单独,成双,或成队(3~5个)|
|''挑战等级:'' 2|
|''财宝:'' 无|
|''阵营:'' 总是守序善良|
|''进化:'' 2~4HD(小型)|
|''等级调整:'' —|



圣光神使看上去就如同漂浮的光球,她们的亮度和火把相当。她们的光亮只有遭到摧毁才会熄灭,但她们可以尝试把光亮隐藏起来。

!!!战斗


圣光神使很少进入近战范围。她们通常飘到足以让敌人进入其威胁灵气的地方,然后用强光射线站发动攻击。圣光神使会把注意力集中在一名对手身上,设法尽快减少敌人的数目。

''威胁灵气(Su):''意志鉴定DC12,通过无效。

''强光射线(Ex):''圣光神使的强光射线射程30尺。并且它无视任何种类的伤害减免。

''类法术能力:''随意施展--援助术,侦测邪恶,不灭明焰。施法等级3。
!!Trumpet Archon(号手神使)

''中型异界生物(亚空,跨位面,善良,秩序)''

|''生命骰:'' 12d8+72(126Hp)|
|''先攻权:'' +7|
|''速度:'' 40尺(8格),飞行90尺(良好)|
|''防御等级:'' 27(+3敏捷,+14天然),接触13,措手不及24|
|''基本攻击/擒抱:'' +12/+17|
|''攻击:'' +4巨剑+21近身(2d6+11/19-20)|
|''全回合攻击:'' +4巨剑+21/+16/+11近身(2d6+11/19-20)|
|''占据/触及:'' 5尺/5尺|
|''特殊攻击:'' 类法术能力,法术,号角|
|''特性:'' 威胁灵气,伤害减免10/邪恶,黑暗视觉60尺,免疫电击和石化,反邪恶法阵,法术抗力29,传送,巧言|
|''豁免:'' 强韧+14(对抗毒素+18),反射+11,意志+11|
|''属性:'' 力量20,敏捷17,体质23,智力16,感知16,魅力16|
|''技能:'' 专注+21,交涉+20,脱逃+18,驯养动物+18,知识(任意1个)+18,聆听+18,潜行+18,表演(吹奏乐器)+18,骑术+20,察言观色+18,侦察+18,绳技+3(捆绑+5)|
|''专长:'' 盲斗,顺势劈,战斗反射,精通先攻,猛力攻击|
|''区域:'' 守序善良位面|
|''组织:'' 单独,成双,或者成队(3~5个)|
|''挑战等级:'' 14|
|''财宝:'' 无钱币,无工艺品,标准物品|
|''阵营:'' 总是守序善良|
|''进化:'' 13~18HD(中型),19~36HD(大型)|
|''等级调整:'' +8|


每一个号手神使都随身携带一个6尺长,闪烁微光的银号角。

!!!战斗
号手神使通常不会近身格斗,他们喜欢用法术迅速消灭对手,然后继续执行自己的使命。如果号手神使被迫陷入持久战,他们就会吹响号角,狂暴的展开攻击。

''类法术能力:''随意施展—侦测邪恶,不灭明焰,传讯术,施法等级12。

''威胁灵气(Su):''意志DC21,通过无效。

''法术:''号手神使可以如同14级牧师一样施展神术。并且他们可以从下面的领域中选择两个作为自己的牧师领域:风,破坏,善良,秩序,或者战争(加上来自其他神的领域)。其豁免鉴定DC基于感知调整值。

//典型牧师准备神术(6/7/7/6/5/4/4/3,基本DC13+法术等级)://

|0级—侦测邪恶,光亮术,净化食粮,阅读魔法,抗力术(2);|
|1级—祝福术(2),神恩(2),防护混乱*,圣域术,虔诚护盾;|
|2级—援助术*,蛮力术(2),崇敬术,次级复原术,枭之睿智(2);|
|3级—昼明术,消除隐形,反混乱法阵*,魔化防具,防护能量伤害(2);|
|4级—驱逐术,神能,圣光击*,中和毒性,法术免疫;|
|5级—反制邪恶*,群体治疗轻伤,异界传送,死者复活;|
|6级—剑刃壁障*,放逐术,医疗术,不死归亡;|
|7级—律言*,圣言,群体治疗重伤。|
|带有*号的为领域神术,所选领域为:善良,秩序。|

''号角(Su):''号手神使的号角可以发出极为清澈悦耳的优美旋律,也可以让聆听者陷入麻痹中,只要他们希望这样做的话。如果是后者,任何在号手神使周围100尺范围内的生物都必须通过强韧鉴定(DC19),否则就会麻痹1d4轮。号手神使也可以通过一个自由动作把号角变成一把+4巨剑。

如果号角失窃,它会变成一团没用的铅条,直到号手神使找回。而偷窃者一旦被抓到,下场会极其悲惨。

''生命骰数:'' d8。

!!!!本职技能

望族的本职技能如下 (括号中为该技能的关键属性): 估价 (智力), 唬骗 (魅力),交涉(魅力),易容(魅力),伪造文书 (智力), 搜集信息(魅力),驯养动物(魅力),威吓(魅力),知识(所有方面,需逐个选择)(智力), 聆听(感知),表演 (魅力),骑术 (敏捷),察言观色(感知),语言, 侦察(感知),游泳(力量),生存(感知)。 

''1级人物起始技能点:''(4 + 智力调整值) x4。

''升级技能点数:'' 4 + 智力调整值。

 

''表:  望族''

|!	NPC等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|
|^	1	|^	+0	|^	+0	|^	+0	|^	+2	|
|^	2	|^	+1	|^	+0	|^	+0	|^	+3	|
|^	3	|^	+2	|^	+1	|^	+1	|^	+3	|
|^	4	|^	+3	|^	+1	|^	+1	|^	+4	|
|^	5	|^	+3	|^	+1	|^	+1	|^	+4	|
|^	6	|^	+4	|^	+2	|^	+2	|^	+5	|
|^	7	|^	+5	|^	+2	|^	+2	|^	+5	|
|^	8	|^	+6/+1	|^	+2	|^	+2	|^	+6	|
|^	9	|^	+6/+1	|^	+3	|^	+3	|^	+6	|
|^	10	|^	+7/+2	|^	+3	|^	+3	|^	+7	|
|^	11	|^	+8/+3	|^	+3	|^	+3	|^	+7	|
|^	12	|^	+9/+4	|^	+4	|^	+4	|^	+8	|
|^	13	|^	+9/+4	|^	+4	|^	+4	|^	+8	|
|^	14	|^	+10/+5	|^	+4	|^	+4	|^	+9	|
|^	15	|^	+11/+6/+1	|^	+5	|^	+5	|^	+9	|
|^	16	|^	+12/+7/+2	|^	+5	|^	+5	|^	+10	|
|^	17	|^	+12/+7/+2	|^	+5	|^	+5	|^	+10	|
|^	18	|^	+13/+8/+3	|^	+6	|^	+6	|^	+11	|
|^	19	|^	+14/+9/+4	|^	+6	|^	+6	|^	+11	|
|^	20	|^	+15/+10/+5	|^	+6	|^	+6	|^	+12	|


!!!!职业特性

下述为望族 NPC职业的职业特性。

''擅长武器和防具:'' 望族擅长所有简单武器与军用武器,以及所有类型的盔甲与盾牌。

!!! 擅长盔甲(重型)(ARMOR PROFICIENCY (HEAVY))[一般专长]

''先决条件:''擅长盔甲(轻型)、擅长盔甲(中型)。

''效果:''见擅长盔甲(轻型)。

''正常:''见擅长盔甲(轻型)。

''特殊:''战士、圣武士与牧师不需选择即可获得本项专长。

!!! 擅长盔甲(轻型)(ARMOR PROFICIENCY (LIGHT))[一般专长]

''效果:''当你穿着擅长的盔甲类型时,防具检定减值只会作用在平衡、攀爬、脱逃术、躲藏、跳跃、潜行、手上功夫和翻滚技能检定。

''正常:''当人物穿着非擅长的盔甲类型时,攻击检定以及所有移动相关的技能检定(包括骑术)都会有防具检定减值。

''特殊:''除法师、术士与武僧外,其他职业不需选择即可获得本专长。
!!! 擅长盔甲(中型)(ARMOR PROFICIENCY (MEDIUM))[一般专长]

''先决条件:''擅长盔甲(轻型)。

''效果:''见擅长盔甲(轻型)。

''正常:''见擅长盔甲(轻型)。

''特殊:''战士、野蛮人、圣武士、牧师、德鲁伊与吟游诗人不需选择即可获得本项专长。

''吸矢:''具有这种能力的盾牌能吸引远程武器的攻击。它能使投掷和弹射武器转向,因此在抵御远距离武器的攻击时有+1偏斜加值。此外,任何瞄准盾牌使用者周围5英尺内目标的投掷和弹射武器,其攻击会自动由原目标转向盾牌使用者。(如果盾牌使用者相对于攻击者有全掩蔽,则攻击不会转向。)被盾牌吸引的远距离武器,攻击时的失手几率仍然正常作用。增强加值高于盾牌基本AC加值的投掷和弹射武器,攻击时不会转向盾牌使用者。(但盾牌在抵御这类武器的攻击时,其AC增强加值仍然有效。)使用者能以一句指令启动和关闭此特殊能力。

中等防护系灵光;CL8;制造魔法武器和防具,墒光护盾(entropic shield);价格+1加值。
''辟矢:''此盾牌的使用者如同具有拨挡飞箭专长。当他受到远程攻击时,每轮有一次机会进行DC20的反射豁免检定。如果攻击武器有增强加值,DC增加相应的数字。通过检定则盾牌使武器偏斜。使用者若没有发现此次攻击或处于迟钝状态则不能使用此能力。尝试偏斜远程武器不算一个动作。有一些例外的远程武器,如巨人投出的石块和强酸箭(acid arrows),不能被偏斜。

微弱防护系灵光;CL5;制造魔法武器和防具,护盾术(shield);价格+2加值。
!!Arrowhawk(箭鹰)



|!		|!	幼年箭鹰	|!	成年箭鹰	|!	老年箭鹰	|
|!		|!	小型异界生物(风系,跨位面)	|!	中型异界生物(风系,跨位面)	|!	大型异界生物(风系,跨位面)	|
|^	''生命骰:''	|	3d8+3(16hp)	|	7d8+7(38hp)	|	15d8+45(112hp)	|
|^	''先攻权:''	|	5	|	5	|	5	|
|^	''速度:''	|	飞行60英尺(完美)(12格)	|	飞行60英尺(完美)(12格)	|	飞行60英尺(完美)(12格)	|
|^	''防御等级:''	|	20(+1体型,+5敏捷,+4天生),接触16,措手不及15	|	21(+5敏捷,+6天生),接触15,措手不及16	|	22(-1体型,+5敏捷,+8天生),接触14,措手不及17	|
|^	''基本攻击/擒抱:''	|	+3/+0	|	+7/+9	|	+15/+25	|
|^	''攻击:''	|	电波射线+9远程接触(2d6)或啮咬+9近战(1d6+1)	|	电波射线+12远程接触(2d8)或啮咬+12近战(1d8+3)	|^	电波射线+19远程接触(2d8)或啮咬+21近战(2d6+9)	|
|^	''全回合攻击:''	|	电波射线+9远程接触(2d6)或啮咬+9近战(1d6+1)	|	电波射线+12远程接触(2d8)或啮咬+12近战(1d8+3)	|	电波射线+19远程接触(2d8)或啮咬+21近战(2d6+9)	|
|^	''面宽/触及:''	|	5尺/5尺	|	5尺/5尺	|	10尺/5尺	|
|^	''特殊攻击:''	|	电波射线	|	电波射线	|	电波射线	|
|^	''特性:''	|	黑暗视觉60英尺,免疫酸、电和毒,抗冰与抗火能力10	|	黑暗视觉60英尺,免疫酸、电和毒,抗冰与抗火能力10	|	黑暗视觉60英尺,免疫酸、电和毒,抗冰与抗火能力10	|
|^	''豁免检定:''	|	强韧+4,反射+8,意志+4	|	强韧+6,反射+10,意志+6	|	强韧+12,反射+14,意志+10	|
|^	''属性:''	|	力量12,敏捷21,体质12,智力10,感知13,魅力13	|	力量14,敏捷21,体质12,智力10,感知13,魅力13	|	力量22,敏捷21,体质16,智力10,感知13,魅力13	|
|^	''技能:''	|	交涉+3,脱逃+11,知识(位面)+6,聆听+7,潜行+11,搜索+6,察言观色+7,侦查+7,野外求生+7(+9追迹,+9风位面),绳技+5(捆绑时+7)|	交涉+3,脱逃+15,知识(位面)+10,聆听+11,潜行+15,搜索+10,察言观色+11,侦查+11,野外求生+11(+13追迹,+13风位面),绳技+5(在捆绑时+7)	|	交涉+3,脱逃+23,知识(位面)+18,聆听+21,潜行+23,搜索+18,察言观色+19,侦查+21,野外求生+19(+21追迹,+21风位面),绳技+5(涉及捆绑时+7)|
|^	''专长:''	|	闪避,武器娴熟	|	闪避,飞越攻击,武器娴熟	|	警觉,盲斗,战斗反射,闪避,飞越攻击,武器娴熟,武器专攻(啮咬)	|
|^	''环境:''	|	风元素位面	|	风元素位面	|	风元素位面	|
|^	''组织:''	|	单独或一窝(2–4)	|	单独或一窝(2–4)	|	单独或一窝(2–4)	|
|^	''挑战等级:''	|	3	|	5	|	8	|
|^	''宝物:''	|	无	|	无	|	无	|
|^	''阵营:''	|	总是绝对中立	|	总是绝对中立	|	总是绝对中立	|
|^	''进化:''	|	4–6HD(小型)	|	8–14HD(中型)	|	16–24HD(大型);25–32HD(巨型)	|
|^	''等级调整:''	|	—	|	—	|	—	|


箭鹰是来自风元素位面的掠食者与食腐动物。通过扭动身体与改变翅膀拍动的节奏,箭鹰能以最高速度朝任何方向飞行。一只幼年箭鹰(1到10岁)从喙尖到尾端大约有5尺长,其身体约占全长的三分之一。翼展约7英尺,重约20磅。成年箭鹰(11到40岁)从喙尖到尾端大约有10尺长。翼展约15英尺,重约100磅。老年箭鹰(41到75岁)从喙尖到尾端大约有20尺长,翼展约30英尺,重约800磅。

箭鹰使用风族语,但它们通常并不健谈。

!!!战斗
箭鹰的领域观念极强,并且总觉得饥饿难忍。他们会攻击遇到的几乎所有的其它生物,或是为了觅食或是将其作为敌人赶走。他们的主要攻击方式是从尾部射出的电波射线。这种生物也能进行啮咬,不过它们更倾向于与敌人保持距离。

''电波射线(Su):''箭鹰每轮可以发射一次电波射线,射程为50尺。

!!Assassin Vine(杀人藤)

''大型植物''

|''生命骰:'' 4d8+12(30Hp)|
|''先攻权:'' +0|
|''速度:'' 5尺(1格)|
|''防御等级:'' 15(-1体型,+6天然),接触9,措手不及15|
|''基本攻击/擒抱:'' +3/+12|
|''攻击:'' 挥击 +7近身(1d6+7)|
|''全回合攻击:'' 挥击 +7近身(1d6+7)|
|''占据/触及:'' 10尺/10尺(连藤20尺)|
|''特殊攻击:'' 紧勒1d6+7,纠缠,精通攫抓|
|''特性:'' 盲视30尺,伪装,对电免疫,低光视觉,植物特性,寒冷抗力10,火焰抗力10|
|''豁免:'' 强韧+7,反射+1,意志+2|
|''属性:'' 力量20,敏捷10,体质16,智力—,感知13,魅力9|
|''区域:'' 温带林地|
|''组织:'' 单独,或者成片(2~4)|
|''挑战等级:'' 3|
|''财宝:'' 1/10钱币;50%宝物;50%物品|
|''阵营:'' 总是中立|
|''进化:'' 5~16HD(超大型),17~32HD(巨型),33+ HD(超巨型)|
|''等级调整:'' —|



杀人藤是一种部分枝体可以移动的植物,它会擒抱并碾压动物,获取它那令人恐怖的肥料,并将残骸堆积在根部附近。

一株成年植株有一根主藤,长约20尺。从主藤上每6寸分叉出一根长度不超过5尺的细藤。这些细藤叶片丛生,在夏末会结出一串串看上去像野生葡萄的小果实。这果实很硬并带有强烈的苦味。杀人藤果实可以酿成一种烈酒。

杀人藤可以移动,虽然非常缓慢,它通常静止不动除非需要到新的地点去寻找猎物。

杀人藤还有一种地底版本,生长在温泉,火山口,和其它热源附近。这些植物在银,棕,白相间的叶脉上长满了细长如丝的叶柄及灰色叶片,因而看起来很像矿脉。生长在地底的杀人藤通常会产生足够的养分,供养蘑菇和其它真菌类生长,这些真菌沿着藤蔓周围扩展开来,帮助它隐蔽。

!!!战斗

杀人藤使用简单的战术:它静止不动直到猎物进入它的触及范围,然后发动攻击。它使用纠缠来抓住猎物并阻止其反抗。

''紧勒(Ex):''杀人藤一旦通过擒抱检定就可以造成1d6+7伤害。

''纠缠(Su):''杀人藤能以一个即时动作活化身边30尺范围内的植物(反射检定DC13 部分)。

此效果持续到杀人藤死亡或者决定结束为止(也是即时动作)。此豁免DC基于感知。此能力的其他方面和纠缠术相同(施法者等级4)。
''精通攫抓(Ex):''要使用此能力,掘地虫必须使用挥击攻击命中对手。然后可以以一个即时动作尝试擒抱,该动作不会引发借机攻击。如果擒抱检定成功,它可以进行定身并可以紧勒。

''盲视(Ex):''杀人藤没有视觉器官,但可以通过声音,气味和振动探知30尺范围内的所有敌人。

''伪装(Ex):''杀人藤在静止不动时看上去就像普通的植物,通过DC20的侦察检定可以在杀人藤攻击前发现它。

任何有野外求生或者知识(自然)的生物可以用其中之一代替侦察检定来辨识杀人藤。矮人可以依靠熟悉岩石的能力来辨识地底的版本。

''Assassin’s Dagger(暗杀匕首):''
刺客使用这把弯曲的+2匕首进行夺命攻击时,强韧豁免DC+1。

中等死灵系灵光;CL9;制造魔法武器和防具,杀生术(slay living);价格18302金币;制造花费9302金币+720经验值。
''生命骰:''d6。

!!!!先决条件

要具备刺客的资格,人物必须符合以下全部条件。

''阵营:''任何邪恶阵营。

''技能:''易容4级,躲藏8级,潜行8级。

''特殊:''必须能够仅仅为了成为刺客而杀人。

 

!!!!本职技能
刺客的本职技能(括号中为该技能的关键属性):平衡(敏捷),唬骗(魅力),攀爬(力量),手艺(智力),解读文书(智力),交涉(魅力),解除装置(智力),易容(魅力),脱逃术(敏捷),伪造文书(智力),搜集信息(魅力),躲藏(敏捷),威吓(魅力),跳跃(力量),聆听(感知),潜行(敏捷),开锁(敏捷),搜索(智力),察言观色(感知),手上功夫(敏捷),侦察(感知),游泳(力量),翻滚(敏捷),使用魔法装置(魅力),绳技(敏捷),

''升级技能点数:''4+智力调整值。

 

''表:刺客''

|!		|!		|!		|!		|!		|!		|!	--每日法术数量--	|<|<|<|
|!	等级	|!	基本攻击加值	|!	强韧检定	|!	反射豁免	|!	意志豁免	|!	特殊能力	|!	1级	|!	2级	|!	3级	|!	4级	|
|^	1	|^	+0	|^	+0	|^	+2	|^	+0	|^	偷袭+1d6,夺命攻击,用毒,法术	|^	0	|^	-	|^	-	|^	-	|
|^	2	|^	+1	|^	+0	|^	+3	|^	+0	|^	+1对毒素豁免加值,直觉闪避	|^	1	|^	-	|^	-	|^	-	|
|^	3	|^	+2	|^	+1	|^	+3	|^	+1	|^	偷袭+2d6	|^	2	|^	0	|^	-	|^	-	|
|^	4	|^	+3	|^	+1	|^	+4	|^	+1	|^	+2对毒素豁免加值	|^	3	|^	1	|^	-	|^	-	|
|^	5	|^	+3	|^	+1	|^	+4	|^	+1	|^	精通直觉闪避,偷袭+3d6	|^	3	|^	2	|^	0	|^	-	|
|^	6	|^	+4	|^	+2	|^	+5	|^	+2	|^	+3对毒素豁免加值	|^	3	|^	3	|^	1	|^	-	|
|^	7	|^	+5	|^	+2	|^	+5	|^	+2	|^	偷袭+4d6	|^	3	|^	3	|^	2	|^	0	|
|^	8	|^	+6	|^	+2	|^	+6	|^	+2	|^	+4对毒素豁免加值,视线躲藏	|^	3	|^	3	|^	3	|^	1	|
|^	9	|^	+6	|^	+3	|^	+6	|^	+3	|^	偷袭+5d6	|^	3	|^	3	|^	3	|^	2	|
|^	10	|^	+7	|^	+3	|^	+7	|^	+3	|^	+5对毒素豁免加值	|^	3	|^	3	|^	3	|^	3	|


!!!!职业特性:

下述均为刺客进阶职业的职业特性:

''武器和防具擅长:''刺客擅长使用弩(单手、轻型、重型),匕首(任何类型),飞镖,细剑,闷棍,短弓(一般和复合),短剑。刺客也擅长使用轻型盔甲,但不擅长盾牌。

''偷袭(Sneak Attack):''此能力类似于游荡者的同名能力。每升两级(2,4,6,8,10),额外伤害值会增加1d6。如果刺客有来自其它原因的偷袭加值,其额外伤害加值也会累加其中。

''夺命攻击(Death Attack):''若刺客观察对手3轮才以近战武器进行偷袭,而且造成伤害,则该次偷袭还有附加效果,可以麻痹或杀死对手(由刺客任选其一)。观察对手时,刺客可以进行其他行动,但注意力必须保持在对方身上,而且不被对方发现或察觉敌意。受此攻击者必须进行强韧检定(DC=10+刺客职业等级+智力调整值),若是死亡效果,检定未通过则死亡;若是麻痹效果,未通过则身心衰弱,无法动作的轮数等于1d6+刺客等级。若通过检定,则此次攻击视为一般偷袭。一旦刺客观察满3轮,必须在接下来的3轮内发动夺命攻击.

若夺命攻击尝试了但是失败了(对方通过检定),或刺客观察结束后3轮内没能发动攻击,则需重新观察3轮,才能再次进行夺命攻击。

''用毒(Poison Use):''刺客受过用毒训练,不会在为武器淬毒时意外中毒。

''法术:''1级开始,刺客可施展某些奥术。若要施法,刺客的智力值必须达10+该法术等级,智力值等于或低于10的刺客不能施法。刺客的额外法术依智力值计算。法术的豁免检定DC=10+法术等级+刺客的智力调整值(若有)。若在某等级得到的是0个法术,则只能获得额外法术,若该等级无额外法术,则无法施展该等级的法术。

刺客的法术列表参见后述。刺客施展法术的过程与吟游诗人相同。

达到6级之后的每一个偶数等级(8级和10级),刺客可以选择学习一个新的法术去代替一个他已知的法术。新法术必须与原法术同级,而且必须要低于刺客可用的最高法术等级2级或2级以上。刺客交换的法术只能是通过升级时获得的,而且必须要在获得新法术的同时选择是否交换该等级的法术。

 

''表:刺客可知法术''

|!		|!	--可知法术--	|<|<|<|<|
|!	等级	|!		|!	1级	|!	2级	|!	3级	|!	4级	|
|^	1	|^		|^	2^^1^^	|^	-	|^	-	|^	-	|
|^	2	|^		|^	3	|^	-	|^	-	|^	-	|
|^	3	|^		|^	3	|^	2^^1^^	|^	-	|^	-	|
|^	4	|^		|^	4	|^	3	|^	-	|^	-	|
|^	5	|^		|^	4	|^	3	|^	2^^1^^	|^	-	|
|^	6	|^		|^	4	|^	4	|^	3	|^	-	|
|^	7	|^		|^	4	|^	4	|^	3	|^	2^^1^^	|
|^	8	|^		|^	4	|^	4	|^	4	|^	3	|
|^	9	|^		|^	4	|^	4	|^	4	|^	3	|
|^	10	|^		|^	4	|^	4	|^	4	|^	4	|
|1在刺客有足够的智力获得该等级法术的情况下。|<|<|<|<|
 
      

 

''对毒素豁免加值(Save Bonus against Poison):''2级开始,刺客对所有毒素的豁免获得+1天生加值,此后该加值会在刺客职业每升两级时增加1。

''直觉闪避(Uncanny Dodge,特异能力):''2级起,刺客在措手不及时或被不可见的攻击者攻击时依然保留AC上的敏捷加值。不过如果他不能动,他还是会丢掉AC上的敏捷加值。

如果角色已经由其他职业上获得了直觉闪避能力,那么他自动获得精通直觉闪避(见后)。

''精通直觉闪避(Improved Uncanny Dodge,特异能力):''5级开始,刺客不会受到夹击,他可以轻易对付反方向的一名敌人,所以游荡者便无法以夹击来进行偷袭。除非游荡者的等级比遭夹击的矮人防御者高至少4级,这时才能够进行夹击(因此还可偷袭)。

如果角色已经因为其他职业获得直觉闪避能力(见前),该角色在得到直觉闪避时自动获得精通直觉闪避,并且将所有获得直觉闪避职业的等级累加起来以决定夹击此角色所需的最低游荡者等级。

''视线躲藏(Hide in Plain Sight,超自然能力):''到了8级,即使被人注视,刺客也可以使用躲藏技能。只要距离阴影10呎内,即使没有掩体遮蔽,刺客也可以隐藏自己。

当然,刺客不能躲在自己的影子中。

!!!!刺客法术列表
刺客可以选择的法术如下表所示:

1级:变颜术(disguise self),侦测毒素(detect poison),羽落术(detect poison),幻音术(ghost sound),跳跃术(jump),隐雾术(obscuring mist),睡眠术(sleep),克敌机先( true strike)。

2级:变身术(alter self),猫之轻灵(cat’s grace),黑暗术(darkness),狐之聪慧(fox’s cunning),迷幻手稿(illusory script),隐形(invisibility),行动无踪( pass without trace),蛛行术(spider climb),隐秘阵营(undetectable alignment)。

3级:深度睡眠术(deep slumber),深幽黑暗术(deeper darkness),虚假生命(false life),反善良法阵(magic circle against good),误导术(misdirection),回避侦测(nondetection)。

4级:锐耳术/鹰眼术(clairaudience/clairvoyance),任意门(dimension door),行动自如(freedom of movement),巧舌如簧(glibness),高等隐形术(greater invisibility),生物定位术(locate creature),篡改记忆(modify memory),毒击(poison)。

!!!星界投射(Astral Projection)
|死灵系|
|''等级:''牧师 9,术士/法师 9,旅行 9|
|''法术成分:''言语,姿势,材料|
|''施法时间:''30分钟|
|''距离:''接触|
|''目标:''你,每两个施法者等级额外再加一个自愿生物|
|''持续时间:''见正文|
|''豁免:''无|
|''法术抗力:''可|
|通过将你的灵魂从你肉体躯体中释放出来,这个法术能让你在另一个位面上完全投射出一个星界身体。|
|你可以产生其它自愿生物的星界形体,前提是在你施法的时候这些受术者和你连成一个环形。这些旅行同伴依靠你,而且必须在任何时候都与你在一起。如果旅行中你出了什么事导致离开了他们,你的同伴将会在那里一直徘徊。|
|你将你的星界自我投射到星界位面,你的肉体躯体留在了主物质位面,肉体处于一种假死的状态。这个法术会把你和你装备或携带的所有装备都投射到星界,创造出一个星界副本。由于星界和其它位面相连,你可以根据自己意愿来进行星界旅行到其它位面。在进入其它位面的时候,你离开了星界,并在你进入的位面重组了一个新的肉体(和装备)。|
|当你处在星界的时候,你的星界身体和你的肉体之间始终以一根银线(silvery cord)相连。如果这根银线断掉,你的星界形体和肉体都会被杀。幸运的是,极少有东西能破坏这根银线。当在其它位面组成第二个肉体时,这根虚体银线会以不可见的形式继续和这个新身体相连。如果第二个身体或星界形体被杀,这根银线仅会退缩到你留在主物质位面的身体里,之后这个身体会从假死状态中复苏。尽管星界投射体能在星界活动,他们的行动仅仅对存在于星界的生物才起作用;肉体身体必须在其它位面物质化。|
|你和你的同伴可以无限期的通过星界旅行。你们的身体会处于假死状态等在那里,直到你们决定将灵魂返回躯体为止。该法术只有在你们决定停止的时候才会结束,或者直到它被其它外界因素所终止为止,例如在肉体身体上或星界形体上施展[[解除魔法|Dispel Magic(解除魔法)]],切断银线,或者毁掉留在主物质位面的身体(这样会杀死你们)。|
|//材料成分://一颗至少价值1,000金币的红锆石,另外每影响一个受术者就要加上一根价值5金币的银棒。|
!!Athach(三臂巨怪)

''超大型异怪''

|''生命骰:'' 14d8+70(133Hp)|
|''先攻权:'' +1|
|''速度:'' 35尺.穿着革甲(7格),基本速度50尺(10格)|
|''防御等级:'' 20(-2体型,+1敏捷,+3革甲,+8天然),接触9,措手不及19|
|''基本攻击/擒抱:'' +10/+26|
|''攻击:'' 钉头锤+16近身(3d6+8);或者石头+9远程(2d6+8)|
|''全回合攻击:'' 钉头锤+12/+7近身(3d6+8),双钉头锤+12近身(3d6+4),啮咬+12近身附毒素);或者石头 +5远程(2d6+8),双石头 +5远程(2d6+4)|
|''占据/触及:'' 15尺/15尺|
|''特殊攻击:'' 毒素|
|''特性:'' 黑暗视觉60尺|
|''豁免:'' 强韧+9,反射+5,意志+10|
|''属性:'' 力量26,敏捷13,体质21,智力7,感知12,魅力6|
|''技能:'' 攀爬+9,跳跃+18,聆听+7,侦察+7|
|''专长:'' 警觉,顺势劈,多武器战斗,猛力攻击,武器专攻(啮咬)|
|''区域:'' 温带山区|
|''组织:'' 单独,成群(2~4),或者部落(7~12)|
|''挑战等级:'' 8|
|''财宝:'' 1/2钱币,双倍宝物,标准物品|
|''阵营:'' 偏向混乱邪恶|
|''进化:'' 15~28HD(超大型)|
|''等级调整:'' +5|


三臂巨怪是一种身躯笨重,形体怪异的二足生物。成年的三臂巨怪站立时约有18英尺高,4500磅重。三臂巨怪使用一种属于巨人语系的粗鄙方言。

!!!战斗

三臂巨怪会冲向对手展开近战,除非对方处于它到达不了的地方,在那种情况下它们会改丢石头。有时它们会试图闯越身着重甲的对手,攻击队伍后方没穿盔甲的目标。三臂巨怪的最初几次近战攻击不会特意选择对手。过了几回合后,它会集中攻击最常击中它的敌人,并用啮咬来攻击对它造成最多伤害的对手。

''毒素(Ex):''伤害,强韧检定DC22,初次伤害1d6力量,二次伤害2d6力量。这个豁免DC基于体质。


!!! 竞技(ATHLETIC)[一般专长]

''效果:''在攀爬和游泳检定上获得+2的加值。

!!!赎罪术(Atonement)
|防护系|
|''等级:''牧师 5,德鲁伊 5|
|''法术成分:''言语,姿势,材料,器材,法器,经验值|
|''施法时间:''1小时|
|''距离:''接触|
|''目标:''接触的活物|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''可|
|这个法术会从目标身上移除由于邪恶行为或罪行带来的重负。该寻求赎罪的生物必须真心忏悔,并渴望纠正自己的罪行。如果此生物犯罪是出于无心或被迫,那么通常你不必为施展赎罪术付出代价。但是,如果赎罪生物是故意犯罪,那么你必须为卸除受术者的重负和你的神祗进行调解(需要你消耗500点经验值)。大部分施法者在为目标施展赎罪术之前首先会给目标一个这方面的任务(见[[指使术|Geas/Quest(指使术)]])或类似的赎罪苦行,以此判断该生物是否真心忏悔。|
|赎罪术可以为不同目的施展,取决于使用何种功效。|
|反转阵营的魔法改变:如果生物的阵营被魔法改变了,赎罪术可以将其阵营恢复为原始状态,此时不需要支付经验值。|
|恢复职业:由于犯下邪恶行为导致失去职业特性的圣武士可以被该法术恢复到圣武士状态。|
|恢复牧师或德鲁伊法术力量:由于触怒自己神祗而失去施法能力的牧师或德鲁伊可以通过向该神祗的其它牧师或其它德鲁伊寻求赎罪术来恢复施法能力。如果犯罪是故意的,施法牧师将会为调解而失去500点经验值。如果犯罪是无心的,那么施法者将不会损失经验值。|
|救赎或诱惑:你可以将此法术施展在一个对立阵营的生物上,以此让它有机会将它的阵营改变为你的。该受术者必须在整个施法过程中都在场。在这个法术完成时,受术者可以自由决定是保留原有阵营还是接受你的邀请并将阵营转变为你的阵营。如果受术者不愿意放弃旧阵营,那么任何强迫或魔法影响都不能迫使受术者做出有利于邀请的决定。法术的这种用法对异界生物或其它无法自然改变阵营的生物无效。|
|尽管法术说明中使用的词是邪恶的行为,赎罪术同样可以用在任何做出有违自己阵营行为的生物上,不管这些行为是邪恶、善良、混乱,或是守序。|
|注意:通常来说,改变阵营只是对玩家而言。赎罪术的这种用法仅仅是提供了一种可靠的方式,来彻底而迅速完全地改变人物的阵营。|
|//材料成分://点燃的薰香。|
|//器材://除了你的圣徽或正常法器外,你还需要一套祈祷珠(或其它祈祷物品,例如祈祷转轮或祈祷书),祈祷用品需要至少价值500金币。|
|//消耗经验值://当为那些有意犯下罪行的生物施展该法术时,每施展一次要消耗你500点经验值(见前文)。|
!!! 强效召唤(AUGMENT SUMMONING)[一般专长]

''先决条件:''法术专攻(咒法系)。

''效果:''你使用任何召唤(summon)法术召唤来的每个生物在该法术持续时间内其力量和体质具有+4的增强加值。
''增强(Augmented)亚种:''生物的原始种类发生某种变化时它将获得此亚种。一些生物(那些具有继承模板的生物)天生属于此亚种;而其它则是在它们获得某一模板的时候成为此亚种。增强亚种总是和生物的原始种类成对出现。具有增强亚种的生物往往拥有当前种类的特性,却保留原始种类的特征。

!!!占卜术(Augury)
|预言系|
|''等级:''牧师 2|
|''法术成分:''言语,姿势,材料,器材|
|''施法时间:''1分钟|
|''距离:''个人|
|''目标:''你自己|
|''持续时间:''立即|
|占卜术能告诉你紧接下来的某个特定行为带来的结果对你来说是好是坏。|
|要得到有意义的答复其基础概率是70%+1%/每施法者等级,最多90%;该判定是秘密进行的。非常清晰的问题有可能自动得到成|
|? 吉(Weal)(如果该行为会带来好的结果)。|
|? 凶(Woe)(如果会带来坏的结果)。|
|? 吉且凶(Weal and woe)(如果既会带来好的结果又会带来坏的结果)。|
|? 平(Nothing)(如果行为不会有特别好或特别坏的结果)。|
|如果法术失败,你将得到“平”的结果。得到“平”的牧师无法得知究竟这是法术失败的结果还是一次成功的占卜。|
|占卜术仅能判断半个小时以内的未来,因此这段时间以后的所有事情都无法影响到结果。因此,该结果不能用来判断一个预期行为的长期结果。同一个人为同一个主题施展的占卜术全部使用第一次施法的投骰结果。|
|//材料成分://至少价值25金币的熏香。|
|//器材://一套标记的小棒,骨头,或者类似的象征物,至少价值25金币。|
!!Avoral(鹏羽天使)

''中型异界生物(外位面,善良)''

|''生命骰:'' 7d8+35(66Hp)|
|''先攻权:'' +6|
|''速度:'' 40尺(8格),飞行90尺(良好机动性)|
|''防御等级:'' 24(+6敏捷,+8天然),接触16,措手不及18|
|''基本攻击/擒抱:'' +7/+9|
|''攻击:'' 爪+13近身(2d6+2),翼击+13近身(2d8+2)|
|''全回合攻击:'' 2爪+13近身(2d6+2)或者2翼击+13近身(2d8+2)|
|''占据/触及:'' 5尺/5尺|
|''特殊攻击:'' 类法术能力,恐惧气氛|
|''特性:'' 伤害减免10/邪恶或者银,黑暗视觉60尺,免疫电击和石化,圣疗,昏暗视觉,冻寒/音波抗力10,动物交谈,法术抗力25,真实视域|
|''豁免:'' 强韧+10(对抗毒素+14),反射+11,意志+8|
|''属性:'' 力量15,敏捷23,体质20,智力15,感知16,魅力16|
|''技能:'' 哄骗+13,专注+15,交涉+7,易容+3(表演+5),驯养动物+13,躲藏+16,威吓+5,知识(任意)+12,聆听+13,潜行+16,乘骑+8,察言观色+13,法术辨识+12,侦察+21|
|''专长:'' 强效类法术能力(魔法飞弹),飞越攻击,武器娴熟|
|''区域:'' 任意善良位面|
|''组织:'' 单独,成双,或者成队(3~5个)|
|''挑战等级:'' 9|
|''宝物:'' 无钱币,无工艺品,标准物品|
|''阵营:'' 总是中立善良|
|''进化:'' 8~14HD(中型),15~21HD(大型)|
|''等级调整:'' --|

鹏羽天使身材高大,通常身高7尺。他的骨骼强韧而轻盈,体重却不到120磅。鹏羽天使的双手长在他们的翅膀中间的关节处,当没有用来飞行的时候,它们就如同人类的手臂一样灵巧,几乎没有差别。

鹏羽天使具有无比敏锐的视觉:他们能够在10码开外把一个小物体上的纹路看得清清楚楚,还能在200步开外看清楚一个生物眼睛的颜色。

鹏羽天使能说天界语,炼狱语和龙语。但他能够通过他的“巧言”能力和几乎所有生物交谈而不受阻碍。

!!!战斗

在地面上,鹏羽天使可以用他的双翼向他的敌人发动猛烈的殴击。但无论如何,鹏羽天使都更乐于和他的对手在空中碰面。那样,他可以利用他在空中的灵活性和高速度所带来的优势用他的双爪狠狠的打击敌人。但在飞行时,他无法用他的双翼进行攻击。

鹏羽天使的天然武器(无论使用哪一个)在面对具有伤害减免能力的生物时都被视为善良武器。

''类法术能力:''施法等级8,DC以魅力调整值作为基础。

|//随意施展//--援助术,朦胧术(只对自己),命令术(DC14),侦测魔法,任意门,解除魔法,造风术(DC15),人类定身术(DC16),光亮术,反邪恶法阵(只对自己),魔法飞弹,识破隐形。|
|//每天3次-//-闪电束(DC16)。|

''恐惧气氛(Fear Aura)(Su):''每天1次,鹏羽天使能够创造一个半径20尺范围的恐惧区域。它的效果就如同8级施法者所施展的“恐惧术”(DC17,基于魅力调整值)。

''圣疗(Lay on Hands)(Su):''类似于圣武士的职业能力。但鹏羽天使每天能治疗的总量相当于他自己的最大生命值。

''动物交谈(Speak with Animals)(Su):''如同8级施法者施展的“动物交谈”。所不同的是,它只需要1个自由动作,并且不需要声音。

''真实视域(True Seeing)(Su):''如同14级施法者施展的“真知术”。但它只能作用于鹏羽天使自己,并且需要凝神专注1整轮才能生效。其后,鹏羽天使仍然需要用专注来维持它的效果。

''技能:''鹏羽天使犀利的视力使得他在侦察鉴定上具有+8种族奖励。

!!!启蒙术(Awaken)
|变化系|
|''等级:''德鲁伊 5|
|''法术成分:''言语,姿势,法器,经验值|
|''施法时间:''24小时|
|''距离:''接触|
|''目标:''接触的动物或树|
|''持续时间:''立即|
|''豁免:''意志,通过则无效|
|''法术抗力:''可|
|你给一棵树或一只动物以类似人类的知觉。要成功施法,你必须做一次意志豁免(DC 10+动物当前HD,或树一旦被启蒙后将要获得的HD数)。|
|被启蒙的动物或树会对你表示友善。你和被你启蒙的生物之间没有特殊的感应或连接,但是如果你对它表达了你的愿望,它会为你做一些特定的任务,或为此努力。|
|被启蒙的树有着活化物品的特性,只是它获得了植物生物种类,而且它的智力、感知、魅力值每一项都是3d6。被启蒙的植物能移动它的枝干、根、藤蔓等,而且它有人一样的感受|
|被启蒙的动物获得3d6的智力,魅力增加1d3,增加2HD。它的种类变为魔法兽(增强动物)。被启蒙的动物不能当作动物伙伴、魔宠、特殊坐骑。|
|被启蒙的树或动物能说一种你知道的语言,每一点智力加值(如果有)可以额外获得一种你所知道的语言。|
''Axiomatic(秩序):''秩序武器属于守序阵营,灌注有守序的力量,并因此获得相应的伤害减免。攻击混乱阵营的生物时,武器能造成2d6点额外伤害。任何企图使用此武器的混乱阵营生物会遭受一个负向等级。只要武器在手中负向等级就一直存在,除非把武器扔掉。这个负向等级并没有造成真正的等级降低,但是只要武器在手中,负向等级便不能以任何方式移除(包括复原术(restoration))。弓、弩和投石索会自动给予其发射的弹药这种守序的力量。

中等塑能系灵光[守序阵营];CL7;制造魔法武器和防具,秩序之怒(order’s wrath),制造者必须是守序阵营;价格+2加值。

!!Azer(火矮人)

''中型异界生物 (跨位面,火系)''

|''生命骰:'' 2d8+2 (11hp)|
|''先攻权:'' +1|
|''速度:'' 穿鳞甲20尺 (4格);基本速度30尺|
|''防御等级:'' 23 (+1敏捷,+6天生,+4鳞甲,+2重型盾牌),接触11,措手不及22|
|''基本攻击/ 擒抱:'' +2/+3|
|''攻击:'' 战锤+3近战 (1d8+1/*3外加1火焰),或短矛+3远程 (1d6+1外加1火焰)|
|''全回合攻击:'' 战锤+3近战 (1d8+1/*3外加1火焰),或短矛+3远程 (1d6+1外加1火焰)|
|''占据/ 触及:'' 5尺/5尺|
|''特殊攻击:'' 高温|
|''特性:'' 黑暗视觉60尺,对火焰免疫,法术抗力13,易受寒冷伤害|
|''豁免:'' 强韧+4,反射+4,意志+4|
|''属性:'' 力量13,敏捷13,体质13,智力12,感知12,魅力9|
|''技能:'' 估价+6,攀爬+0,手艺(任意两种)+6,躲藏+0,跳跃-6,聆听+6,搜索+6,侦察+6|
|''专长:'' 猛力攻击|
|''区域:'' 火元素位面|
|''组织:'' 单独,成双,小队 (3-4名),中队 (11-20名外加2名等级3的士官以及1名等级3-6的指挥官),|
|''挑战等级:'' 2|
|''宝物:'' 标准钱币;双倍工艺品 (仅限不可燃的);标准物品 (仅限不可燃的)|
|''阵营:'' 总是守序中立|
|''进化:'' 视人物等级而定|
|''等级调整:'' +4|


火矮人是出生于火元素位面的类矮人生物。他们穿着由黄铜、青铜或赤铜打造成的短裙,并且说火族语和通用语。

!!!战斗

火矮人在战斗中使用平头矛或者制作精良的战锤。在空手时,他们会试图擒抱对手。

尽管不太友善而且沉默寡言,但是火矮人很少挑起争斗,除非对方带着他们所喜爱得宝石。如果受到了威胁,那么火矮人会奋战到底,但是他们了解俘虏敌人所带来的价值。

''高温 (Ex):''火矮人的身体非常炽热,因此他们的徒手攻击会造成额外的火焰伤害。他们的金属武器也会传导这种高温。


''扮演火矮人人物''
火矮人人物角色获得以下种族特性:


*力量+2,敏捷+2,体质+2,智力+2,感知+2,魅力-2。
*中等体型。
*火矮人的基本陆地速度是30英尺。
*黑暗视觉:火矮人在黑暗中的视力范围是60英尺。
*种族生命骰:火矮人在初始拥有2个异界生物等级,这他拥有2d6生命骰,+2的基本攻击加值,以及强韧+3、反射+3和意志+3的基本豁免加值。
*种族技能:火矮人的异界生物等级为他带来等于5*(8+智力调整值)的技能点数。他的本职技能为估价,攀爬,手艺,躲藏,跳跃,聆听,搜索以及侦察。
*种族专长:火矮人的异界生物等级为他带来1个专长。
*+6天生防御加值。
*特殊攻击 (见上文):灼热。
*特性 (见上文):对火焰免疫,法术抗力等于13+职业等级,易受寒冷伤害。
*天生使用语言:通用语,火族语。额外语言:深渊语,水族语,风族语,天界语,炼狱语,土族语。
*天赋职业:战士。
*等级调整+4。

!!Baboon(狒狒)

''中型动物''

|''生命骰:'' 1d8+1(5hp)|
|''先攻权:'' +2|
|''速度:'' 40尺(8格),攀爬30尺|
|''防御等级:'' 13(+2敏捷,+1天生),接触12,措手不及11|
|''基本攻击/擒抱:'' +0/+2|
|''攻击:'' 啮咬+2近战(1d6+3)|
|''全回合攻击:'' 啮咬+2近战(1d6+3)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+3,反射+4,意志+1|
|''属性:'' 力量15,敏捷14,体质12,智力2,感知12,魅力4|
|''技能:'' 攀爬+10,聆听+5,侦察+5|
|''专长:'' 警觉|
|''环境:'' 温暖的平原|
|''组织:'' 单独或成群(10-40)|
|''挑战等级:'' 1/2|
|''进化:'' 2-3HD(中型)|
|''等级调整:'' -|


这些强力的杂食动物看起来像猩猩,但攻击性要强得多;它们会杀死并吃掉任何它们可以抓到的东西。成年雄猿有5尺半到6尺高,重300到400磅。

!!!战斗

''技能:''在进行攀爬检定时猿可获得+8的种族加值,且可以在攀爬检定中总是取10,即使在很匆忙或受到威胁时也一样。
!!Badger(獾)

''小型动物''

|''生命骰:''  1d8+2 (6 hp)|
|''先攻权:''  +3|
|''速度:''  30尺 (6格),掘穴10尺|
|''防御等级:''  15 (+1体型,+3敏捷,+1天生),接触14,措手不及12|
|''基本攻击/擒抱:'' +0/ -5|
|''攻击:''  爪抓 +4 近战 (1d2-1)|
|''全回合攻击:''  2 爪抓 +4 近战 (1d2-1)及啮咬 -1 近战 (1d3-1)|
|''面宽/触及:''  5尺/ 5尺|
|''特殊攻击:''  凶暴|
|''特性:''  昏暗视觉,灵敏嗅觉|
|''豁免:''  强韧+4,反射+5,意志+1|
|''属性:''  力量8,敏捷17,体质15,智力2,感知12,魅力6|
|''技能:''  逃脱术+9,聆听+3,侦察+3|
|''专长:''  灵活,追踪,武器娴熟|
|''环境:''  温带森林|
|''组织:''  单独,成对,或成队 (3-5)|
|''挑战等级:''  1/ 2|
|''进化:''  2HD (小型)|
|''等级调整:''  -|

獾是有着蹲伏着且有力的身体的毛茸茸的的动物。它强壮的前肢长有用来挖掘的长爪。

成年獾有2到3尺长,25到35磅重。

!!!战斗
獾使用其利爪和牙齿进行攻击。

''凶暴 (Ex):''獾如果在战斗中受伤,那么下一轮它就会进入凶暴状态,疯狂地用爪抓和啮咬攻击,直到对手或自己死亡为止。凶暴状态中的獾力量+4,体质+4,防御等级-2。獾无法自行终止它的凶暴状态。

''技能:''在进行逃脱术检定时獾可获得+4的种族加值。
''Bag of Holding(次元袋):'' 看上去和普通麻布袋很像,大小为4英尺乘2英尺。其实此物品可通往无次元空间,其内部空间远比外面看起来大很多。不管放入多少东西,其总重量都是固定的。“次元袋”总重量、内容物的体积限制和重量限制,视下表类型而定:

|!	类型	 |!	总重量	 |!	内容物重量限制	 |!	内容物体积限制	 |!	价格	 |
|^	次元袋I	 |^	15磅	 |^	250磅	 |^	30立方英尺	 |^	2,500 gp	 |
|^	次元袋II	 |^	25磅	 |^	500磅	 |^	70立方英尺	 |^	5,000 gp	 |
|^	次元袋III	 |^	35磅	 |^	1,000磅	 |^	150立方英尺	 |^	7,400 gp	 |
|^	次元袋IV	 |^	60磅	 |^	1,500磅	 |^	250立方英尺	 |^	10,000 gp	 |


“次元袋”如果超重或遭尖锐物划破(不管从里面或外面),就会破裂损坏,永久失去所有内容物。如果从内面翻出,所有内容物会倒出来,但物品不会损坏,再次使用前必须把袋子内面翻回。如果有活物被放入袋子里,可以在里面存活十分钟,超过就会窒息而死。基本上,从袋中取物属于移动等效动作,如果内容物超过一个正常背包所能装入的份量,则属于整轮动作。

如果将“次元袋”放入“携带式次元洞”,会撕开星界裂隙。此时“次元袋”和“携带式次元洞”会被吸入虚空而永久消失。如果将“携带式次元洞”放入“次元袋”,会打开星界之门。此时“次元袋”、“携带式次元洞”和半径10英尺内所有生物会被拉入星界,而且“次元袋”和“携带式次元洞”会一起摧毁。

施法者等级:9。先决条件:“制造奇物”,“李欧蒙秘藏箱”。
''Bag of Tricks(魔术袋):'' 一只空袋子,伸手进去会摸到一个绒毛球。使用者如果把球拿出,丢到20英尺外,该球就会变成一只动物。此动物将为使用者服务十分钟,然后消失不见(如果动物在时限之前死亡,或被使用者召回袋内,便消失不见)。袋子有三种不同颜色,其动物组合不同,请参见下表。

动物为随机产生,同一时间只存在一只。每周最多可变出十只动物。

施法者等级:3(灰色),5(铁锈色),9(褐色)。先决条件:“制造奇物”,“二级召唤盟友术”(灰色),“三级召唤盟友术”(铁锈色),“五级召唤盟友术”(褐色)。交易价格:900金币(灰色),3000金币(铁锈色),6300金币(褐色)。


|!灰色 |<|!铁锈色 |<|!褐色 |<|
|^	d%	 |^	动物	 |^	d%	 |^	动物	 |^	d%	 |^	动物	 |
|^	01–30	 |^	蝙蝠	 |^	01–30	 |^	狼獾	 |^	01–30	 |^	棕熊	 |
|^	31–60	 |^	鼠	 |^	31–60	 |^	狼	 |^	31–60	 |^	狮	 |
|^	61–75	 |^	猫	 |^	61–85	 |^	野猪	 |^	61–80	 |^	战马	 |
|^	76–90	 |^	鼬	 |^	86–100	 |^	黑熊	 |^	81–90	 |^	虎	 |
|^	91–100	 |^	獾	 |^	91–100	 |^	犀牛	 |^		 |^		 |
!! Balance(平衡)(敏捷;防具检定减值)

''检定:''你可以在不稳定的表面行走。一次成功的检定可以使你以半速在这种表面上行走一轮。检定结果低于DC 4或更少意味着你在一轮内无法移动。检定结果低于DC 5或更多意味着你摔倒了。不同表面的难度值见后:

 
|!	狭窄表面 	|!	平衡DC^^1^^ 	|!	困难表面	|!	平衡DC^^1^^	|
|^	7-12英寸宽	|^	10 	|^	不平衡的石板地 	|^	10^^2^^	|
|^	2-6英寸宽	|^	15 	|^	毛石地板	|^	10^^2^^	|
|^	窄于2英寸	|^	20 	|^	斜的或者有角度的地板 	|^	10^^2^^	|
|^	1 要加上合适的狭窄表面修正,见后。	|<|<|<|
|^	2 只在奔跑或冲锋时起作用。失败4或者更少意味着人物不能奔跑或冲锋,但可以正常作其他动作。	|<|<|<|

''狭窄表面修正''

|!	表面	|!	DC修正^^1^^	|
|^	轻度阻塞	|^	+2	|
|^	重度阻塞	|^	+5	|
|^	轻度滑溜	|^	+2	|
|^	重度滑溜 	|^	+5	|
|^	倾斜或有斜角	|^	+2	|
|^	1 将此修正加在狭窄表面的平衡DC上。	|<|
|^	这些修正可以累加。	|<|


//在保持平衡时遭受攻击://在保持平衡时视你处在措手不及状态,因为你不能通过移动来躲避攻击,并且因此你失去了AC上的敏捷加值(如果有)。如果在平衡上级数达到5或更高,那么在平衡时不再视为措手不及。如果在平衡时受到伤害,你必须再做一次DC相同的平衡检定来保持站立。

//快速移动://你可以尝试以比正常快的速度在不稳定的表面上行走。如果你承受-5减值,你可以以移动动作用完整的速度移动。(一轮内移动两倍速度距离需要两次平衡检定,每次对应每个移动。)你也可以在受到同样减值的情况下在这种表面冲锋;在你冲锋时每经过一倍你的速度(或一部分)就需要一次平衡检定。

''动作:''无需动作。一次平衡检定不需要一个动作;它是作为其他动作的一部分或者作为对某种情况的反应。

''特别:''如果你有轻灵(Agile)专长,在平衡检定上可以获得+2加值。

''共效:''如果在翻滚上级数达到5或者更高,在平衡检定上可以获得+2加值。

!!!恶意变形术(Baleful Polymorph)
|变化系|
|''等级:''德鲁伊 5,术士/法师 5|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个生物|
|''持续时间:''永久|
|''豁免:''强韧通过则无效,意志通过则部分生效;见正文|
|''法术抗力:''可|
|和[[变形术|Polymorph(变形术)]]相同,只是你可以将目标变成不超过1HD的小型或更小型动物。如果新形体对该生物有致命的缺陷,那么目标在豁免上获得+4加值。|
|如果法术成功,该目标必须再做一次意志豁免。如果第二次豁免失败,该生物将会失去它的特异能力,超自然能力,类法术能力,同时也失去施法能力(如果有这种能力),并且用新形体的阵营、特殊能力、智力值、感知值、魅力值取代自己原有的属性。它依然保留它的职业和等级(或HD),同样也保留所有因此带来的好处(例如记名攻击加值,基本豁免加值,生命值)。它保留所有的职业特性(除了施法能力),只要这些特性不属于特异能力、超自然能力、类法术能力。|
|虚体生物和气化形体生物免疫变形,属于变形生物亚种(shapechanger)的生物可以以一个标准动作恢复原形。|
''机运混织甲:''这件+3混织铁甲上装饰了10颗价值100金币的宝石。穿戴者在遭到攻击,可以要求攻击者重新作攻击检定,每周一次。无论第二次掷骰的结果如何,他都必须接受。穿戴者必须在攻击者掷伤害检定前决定是否要求攻击检定重掷。

强烈附魔系灵光;CL12;制造魔法武器和防具,祝福术(Bless);价格18900金币;制造花费10150金币+700经验值。
!!!绝望术(Bane)
|惑控系(胁迫)[恐惧,影响心灵]|
|''等级:''牧师 1|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''50英尺|
|''区域:''50英尺内所有敌人|
|''持续时间:''1分钟/每等级|
|''豁免:''意志,通过则无效|
|''法术抗力:''可|
|绝望术让你的敌人充满恐惧和疑惑。每个被影响的生物在攻击投骰和对抗恐惧的豁免上都受到-1减值。|
|绝望术对抗和反制[[祝福术|Bless(祝福术)]]。|
''Bane(破敌):''破敌武器在攻击某一特定种类的生物时特别有效。在对抗此类生物时,它的增强加值比正常时多+2,并能造成2d6点额外伤害。弓、弩和投石索自动给予其发射的弹药这种能力。随机产生武器指定敌人的种类,请参见下表。

|!	d%	|!指定敌人种类 |
|	01–05	|	异怪	|
|	06–09	|	动物	|
|	10–16	|	构装生物	|
|	17–22	|	龙	|
|	23–27	|	元素生物	|
|	28–32	|	精类生物	|
|	33–39	|	巨人	|
|	40	|	水栖类人生物	|
|	41–42	|	矮人	|
|	43–44	|	精灵	|
|	45	|	豺狼人	|
|	46	|	侏儒	|
|	47–49	|	地精亚种	|
|	50	|	半身人	|
|	51–54	|	人类	|
|	55–57	|	爬虫亚种	|
|	58–60	|	兽人	|
|	61–65	|	魔法兽	|
|	66–70	|	人性怪物	|
|	71–72	|	泥形怪物	|
|	73	|	异界生物,气系亚种	|
|	74–76	|	异界生物,混乱亚种	|
|	77	|	异界生物,土系亚种	|
|	78–80	|	异界生物,邪恶亚种	|
|	81	|	异界生物,火系亚种	|
|	82–84	|	异界生物,善良亚种	|
|	85–87	|	异界生物,守序亚种	|
|	88	|	异界生物,水系亚种	|
|	89–90	|	植物	|
|	91–98	|	不死生物	|
|	99–100	|	虫类生物	|

中等防护系灵光;CL8;制造魔法武器和防具,一级召唤怪物术(summon monster I);价格+1加值。
!!!放逐术(Banishment)
|防护系|
|''等级:''牧师 6,术士/法师 7|
|''法术成分:''言语,姿势,器材|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个或多个跨位面生物,任意两者之间不得超过30英尺|
|''持续时间:''立即|
|''豁免:''意志,通过则无效|
|''法术抗力:''可|
|放逐术是[[驱逐术|Dismissal(驱逐术)]]的强力版本。它可以强迫跨位面生物离开你的原属位面。最多可以有HD两倍于你施法者等级的生物被放逐。|
|如果在施法的时候有目标仇恨、恐惧或其它对立的物品或物质存在,你可以增大法术成功的机会。每一件这类物品或物质会让你在超越目标法术抗力(如果有)时的施法者等级检定上获得+1加值,而法术豁免DC增加2。|
|某些稀有的物品在这些加值上会比普通物品强一倍(即每件物品对抗法术抗力的施法者等级检定提供+2加值,豁免DC增加4)。|
|//奥术器材://任何令目标不适的物品(可选的,见上文)。|
''阵营:''任意非守序

''生命骰:''d12

 

!!!! 本职技能
野蛮人的本职技能(和各技能的关键属性)是:攀爬(力量),手艺(智力),驯养动物(魅力),威吓(魅力),跳跃(力量),聆听(感知),骑术(敏捷),生存(感知),游泳(力量)。

''1级人物起始技能点:''(4+智力修正)x4。

''升级技能点数:''4+智力修正。

 

''表:野蛮人''

|!等级	|!基本攻击加值	|!强韧豁免	|!反射豁免	|!意志豁免	|!特殊	|
|	1 	|	+1 	|	+2 	|	+0 	|	+0 	|	快速移动,文盲,狂暴 1次/天	|
|	2	|	+2	|	+3	|	+0	|	+0	|	直觉闪避	|
|	3	|	+3	|	+3	|	+1	|	+1	|	陷阱感知+1	|
|	4	|	+4	|	+4	|	+1	|	+1	|	狂暴 2次/天	|
|	5	|	+5	|	+4	|	+1	|	+1	|	精通直觉闪避	|
|	6	|	+6/+1	|	+5	|	+2	|	+2	|	陷阱感知 +2	|
|	7	|	+7/+2	|	+5	|	+2	|	+2	|	伤害减免 1/-	|
|	8	|	+8/+3	|	+6	|	+2	|	+2	|	狂暴 3次/天	|
|	9	|	+9/+4	|	+6	|	+3	|	+3	|	陷阱感知 +3	|
|	10	|	+10/+5	|	+7	|	+3	|	+3	|	伤害减免 2/-	|
|	11	|	+11/+6/+1	|	+7	|	+3	|	+3	|	大狂暴	|
|	12	|	+12/+7/+2	|	+8	|	+4	|	+4	|	狂暴 4次/天,陷阱感知 +4	|
|	13	|	+13/+8/+3	|	+8	|	+4	|	+4	|	伤害减免 3/-	|
|	14	|	+14/+9/+4	|	+9	|	+4	|	+4	|	不屈意志 	|
|	15	|	+15/+10/+5	|	+9	|	+5	|	+5	|	陷阱感知 +5	|
|	16	|	+16/+11/+6/+1	|	+10	|	+5	|	+5	|	伤害减免 4/-,狂暴 5次/天	|
|	17	|	+17/+12/+7/+2	|	+10	|	+5	|	+5	|	不倦狂暴	|
|	18	|	+18/+13/+8/+3	|	+11	|	+6	|	+6	|	陷阱感知 +6	|
|	19	|	+19/+14/+9/+4	|	+11	|	+6	|	+6	|	伤害减免 5/-	|
|	20	|	+20/+15/+10/+5	|	+12	|	+6	|	+6	|	强力狂暴,狂暴 6次/天	|





 

!!!! 职业特性

下面是野蛮人的职业特性。

''武器和防具擅长:''野蛮人擅长使用所有的简单武器,军用武器,轻甲,中甲,以及盾牌(不包括塔盾)。

''快速移动(Fast Movement,特异能力):''野蛮人的陆上速度比他的同种族正常速度快10尺。只有在野蛮人未穿甲或者穿轻或中甲,并且没有重载时他才能获得该加值。在计算因负载或穿甲产生的速度修正时要先应用此加值。

''文盲(Illiteracy):''野蛮人是唯一的一个不能自动获得读写能力的职业。野蛮人可以花费两点技能点来获得他会说的语言的读写能力。

''狂暴(Rage,特异能力):''野蛮人可以每天若干次进入狂暴状态。在狂暴中,野蛮人暂时获得+4力量加值,+4体质加值,意志豁免上获得+2士气加值,但是在防御等级上受到-2减值。体质的增加让野蛮人的生命值获得了每级两点的增加,但是这些生命值会因狂暴结束时体质恢复原值而一起失去。(这些额外生命值不会像暂时生命值那样先失去。)在狂暴期间,野蛮人不能使用任何基于魅力、敏捷,或者智力的技能(除了平衡、脱逃术、威吓,以及骑术),也不能使用专注技能,也不能使用任何需要耐心或需要集中精神的能力。他还不能施法或者启用那些需要用指令启用的魔法物品,法术触发型物品(例如魔杖(wand)),或者储法型物品(例如卷轴)。除了寓守于攻,制造物品类以及超魔专长外,他可以使用任何专长。狂暴的持续时间最多为3+体质(增加后的)修正。野蛮人可以提前终止狂暴。在狂暴结束后,野蛮人将失去狂暴时的修正和限制,同时进入疲乏状态 ,(力量和敏捷上各-2减值,无法冲锋或奔跑),直到本次遭遇结束(除非他的野蛮人等级达到17级,此时这些限定条件不再有效;见之后说明)。

野蛮人每次战斗遭遇中只能进入一次狂暴。一级时他每天只能使用一次狂暴。4级及之后每4级,每天狂暴次数都会加一(20级时达到最多6次)。进入狂暴不需要时间,但是野蛮人只有在他的行动中才可以进入狂暴,而不能在回应其他人动作时这么做。

''直觉闪避(Uncanny Dodge,特异能力):''2级起,野蛮人在措手不及时或被不可见的攻击者攻击时依然保留AC上的敏捷加值。不过如果他不能动,他还是会丢掉AC上的敏捷加值。如果野蛮人已经由其他职业上获得了直觉闪避能力,那么他自动获得精通直觉闪避(见后)。

''陷阱感知(Trap Sense,特异能力):''3级起,在躲避陷阱的反射豁免上有+1加值,对抗陷阱的攻击时AC有+1加值。该加值在之后每三级野蛮人等级时都会提升1(6,9,12,15,18级)。从不同职业上获得的陷阱感知加值可以累加。

''精通直觉闪避(Improved Uncanny Dodge,特异能力):''5级起,野蛮人不再受到夹击。因此游荡者无法以夹击方式偷袭野蛮人,除非攻击者的游荡者等级比目标的野蛮人等级高至少4级。如果角色已经因为其他职业获得直觉闪避能力(见前),该角色在得到直觉闪避时自动获得精通直觉闪避,并且将所有获得直觉闪避职业的等级累加起来以决定夹击此角色所需的最低游荡者等级。

''伤害减免(Damage Reduction,特异能力):''7级起,野蛮人获得伤害减免。在受到武器或天生武器攻击时,野蛮人受到的伤害要减少1点,10级起每三级(13,16,19级)该伤害减免都会增加一点。伤害减免可以让伤害降低到0,但是不能低于0。

''大狂暴(Greater Rage,特异能力):''11级起,野蛮人在狂暴时力量和体质都会得到+6加值,意志豁免上的士气加值增加到+3,AC减值依然为-2。

''不屈意志(Indomitable Will,特异能力):''14级或之后的野蛮人在狂暴中对抗惑控系法术时的意志豁免上有+4加值。该加值可以和其他所有修正累加,包括在狂暴期间已经获得的意志豁免士气加值。

''不倦狂暴(Tireless Rage,特异能力):''17级起,野蛮人在狂暴结束后不再疲乏。

''强力狂暴(Mighty Rage,特异能力):''20级时,野蛮人在狂暴时力量和体质加值增加到+8,意志豁免上的士气加值增加到+4,AC减值依然为-2。

 

 

!!!! 前野蛮人(Ex-Barbarians)
变得守序的野蛮人将失去狂暴能力,也不能再提升他的野蛮人等级。他保留其他的职业奖励(伤害减免,快速移动,陷阱感知,以及直觉闪避)。
''阵营:''任意非守序

''生命骰:''d6

 
!!!!本职技能
吟游诗人的本职技能(和各技能的关键属性)为:估价(智力),平衡(敏捷),唬骗(魅力),攀爬(力量),专注(体质),手艺(智力),文书解读(智力),交涉(魅力),易容(魅力),脱逃术(敏捷),收集信息(魅力),躲藏(敏捷),跳跃(力量),知识(所有方面,需逐个选择)(智力),聆听(感知),潜行(敏捷),表演(魅力),专业(感知),察言观色(感知),手上功夫(敏捷),语言(没有关键属性),辨识法术(智力),游泳(力量),翻滚(敏捷),使用魔法装置(魅力)。

''1级人物起始技能点:''(6+智力修正)x4

''升级技能点数:''6+智力修正。

''表:吟游诗人''

|!		|!		|!		|!		|!		|!		|!	---- 每日法术 ----	|<|<|<|<|<|<|
|!	等级 	|!	基本攻击加值 	|!	强韧豁免 	|!	反射豁免 	|!	意志豁免 	|!	特殊	|!	0级	|!	1级	|!	2级	|!	3级	|!	4级	|!	5级	|!	6级	|
|^	1 	|^	+0	|^	+0	|^	+2	|^	2	|^	吟唱,逸闻知识,破咒曲,迷魂,激发勇气+1	|^	2	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	2	|^	+1	|^	+0	|^	+3	|^	3	|^		|^	3	|^	0	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	3	|^	+2	|^	+1	|^	+3	|^	3	|^	提振技能	|^	3	|^	1	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	4	|^	+3	|^	+1	|^	+4	|^	4	|^		|^	3	|^	2	|^	0	|^	-	|^	-	|^	-	|^	-	|
|^	5	|^	+3	|^	+1	|^	+4	|^	4	|^		|^	3	|^	3	|^	1	|^	-	|^	-	|^	-	|^	-	|
|^	6	|^	+4	|^	+2	|^	+5	|^	5	|^	暗示	|^	3	|^	3	|^	2	|^	-	|^	-	|^	-	|^	-	|
|^	7	|^	+5	|^	+2	|^	+5	|^	5	|^		|^	3	|^	3	|^	2	|^	0	|^	-	|^	-	|^	-	|
|^	8	|^	+6/+1	|^	+2	|^	+6	|^	6	|^	激发勇气+2	|^	3	|^	3	|^	3	|^	1	|^	-	|^	-	|^	-	|
|^	9	|^	+6/+1	|^	+3	|^	+6	|^	6	|^	提振战力	|^	3	|^	3	|^	3	|^	2	|^	-	|^	-	|^	-	|
|^	10	|^	+7/+2	|^	+3	|^	+7	|^	7	|^		|^	3	|^	3	|^	3	|^	2	|^	0	|^	-	|^	-	|
|^	11	|^	+8/+3	|^	+3	|^	+7	|^	7	|^		|^	3	|^	3	|^	3	|^	3	|^	1	|^	-	|^	-	|
|^	12	|^	+9/+4	|^	+4	|^	+8	|^	8	|^	自由歌	|^	3	|^	3	|^	3	|^	3	|^	2	|^	-	|^	-	|
|^	13	|^	+9/+4	|^	+4	|^	+8	|^	8	|^		|^	3	|^	3	|^	3	|^	3	|^	2	|^	0	|^	-	|
|^	14	|^	+10/+5	|^	+4	|^	+9	|^	9	|^	激发勇气+3	|^	4	|^	3	|^	3	|^	3	|^	3	|^	1	|^	-	|
|^	15	|^	+11/+6/+1	|^	+5	|^	+9	|^	9	|^	激发豪情	|^	4	|^	4	|^	3	|^	3	|^	3	|^	2	|^	-	|
|^	16	|^	+12/+7/+2	|^	+5	|^	+10	|^	10	|^		|^	4	|^	4	|^	4	|^	3	|^	3	|^	2	|^	0	|
|^	17	|^	+12/+7/+2	|^	+5	|^	+10	|^	10	|^		|^	4	|^	4	|^	4	|^	4	|^	3	|^	3	|^	1	|
|^	18	|^	+13/+8/+3	|^	+6	|^	+11	|^	11	|^	群体暗示	|^	4	|^	4	|^	4	|^	4	|^	4	|^	3	|^	2	|
|^	19	|^	+14/+9/+4	|^	+6	|^	+11	|^	11	|^		|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	3	|
|^	20	|^	+15/+10/+5	|^	+6	|^	+12	|^	12	|^	激发勇气+4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|



''表:吟游诗人所知法术''
 

|!		|!	----- 所知法术-----	|<|<|<|<|<|<|
|!	等级	|!	0级	|!	1级	|!	2级	|!	3级	|!	4级	|!	5级	|!	6级	|
|^	1 	|^	4	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	2	|^	5	|^	2^^1^^	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	3	|^	6	|^	3	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	4	|^	6	|^	3	|^	2^^1^^	|^	-	|^	-	|^	-	|^	-	|
|^	5	|^	6	|^	4	|^	3	|^	-	|^	-	|^	-	|^	-	|
|^	6	|^	6	|^	4	|^	3	|^	-	|^	-	|^	-	|^	-	|
|^	7	|^	6	|^	4	|^	4	|^	2^^1^^	|^	-	|^	-	|^	-	|
|^	8	|^	6	|^	4	|^	4	|^	3	|^	-	|^	-	|^	-	|
|^	9	|^	6	|^	4	|^	4	|^	3	|^	-	|^	-	|^	-	|
|^	10	|^	6	|^	4	|^	4	|^	4	|^	2^^1^^	|^	-	|^	-	|
|^	11	|^	6	|^	4	|^	4	|^	4	|^	3	|^	-	|^	-	|
|^	12	|^	6	|^	4	|^	4	|^	4	|^	3	|^	-	|^	-	|
|^	13	|^	6	|^	4	|^	4	|^	4	|^	4	|^	2^^1^^	|^	-	|
|^	14	|^	6	|^	4	|^	4	|^	4	|^	4	|^	3	|^	-	|
|^	15	|^	6	|^	4	|^	4	|^	4	|^	4	|^	3	|^	-	|
|^	16	|^	6	|^	5	|^	4	|^	4	|^	4	|^	4	|^	2^^1^^	|
|^	17	|^	6	|^	5	|^	5	|^	4	|^	4	|^	4	|^	3	|
|^	18	|^	6	|^	5	|^	5	|^	5	|^	4	|^	4	|^	3	|
|^	19	|^	6	|^	5	|^	5	|^	5	|^	5	|^	4	|^	4	|
|^	20	|^	6	|^	5	|^	5	|^	5	|^	5	|^	5	|^	4	|
 
1要求吟游诗人有足够高的魅力值以在此法术等级上有奖励法术。
 


 
!!!! 职业特性
以下是吟游诗人的职业特性。

''武器和防具擅长:''吟游诗人擅长使用所有简单武器,再加上长剑,细剑,闷棍,短剑,短弓,长鞭。吟游诗人擅长穿戴轻甲和盾牌(除了塔盾)。吟游诗人穿着轻甲施展诗人法术时不会受通常奥术失败概率的影响。当然,就像其他奥术施法者一样,在穿着中甲重甲或者拿盾时施展具有姿态成分的法术(大部分法术都有)还是会受到奥术失败概率的影响,兼职的吟游诗人在施展从其他职业获得的奥术时依然会受到奥术失败概率的影响。

''法术:''吟游诗人施展吟游诗人奥术列表中的奥术。他无需准备即可施展任何他已知的法术。所有的吟游诗人法术都具有言语成分(唱歌,背诵,或者音乐)。要学习或者施展法术,吟游诗人的魅力必须达到10+法术等级。抵抗吟游诗人法术的豁免难度等级为10+法术等级+吟游诗人魅力修正。

和其他施法者一样,吟游诗人每天在每个法术等级上只能施展有限数量的法术。他的基本每日法术分配方案列在表:吟游诗人内。另外,如果他有较高的魅力值,他还可以获得每日奖励法术。如果表:吟游诗人指出吟游诗人在某法术等级上获得0个法术,那么他只能得到该法术等级上因魅力获得的奖励法术数。

吟游诗人可选择的法术是非常有限的。在起始时吟游诗人可以根据你的选择获知4个0级法术,在获得新的吟游诗人等级时,他会按照表:吟游诗人所知法术获得一个或几个新的法术。(和每日法术不同,吟游诗人所知法术和魅力值无关,表:吟游诗人所知法术中的数字是固定的)

5级起之后每三个吟游诗人等级(8,11,等等),吟游诗人可以学习一个新法术来替代之前已知的法术。实际上是吟游诗人“丢弃”一条已知法术来交换一条新法术。新法术必须和他交换的法术等级相同,而且必须比吟游诗人所能施展最高等级法术低至少两个等级。吟游诗人在每个法术等级上只能交换一个法术,而且必须在该等级获得新法术的同时决定是否交换法术。

如前所述,吟游诗人不需要事先准备法术。只要他还没有用完该等级上他的每日法术数,他就可以在任何时候施展任何已知法术。

''逸闻知识(Bardic Knowledge):''吟游诗人在判断他是否知道一些关于本地知名人士,传说中的物品,值得注意的地点等方面的消息时,可以做一次特殊的逸闻知识检定,该检定加值为他的吟游诗人等级+他的智力修正。(如果该吟游诗人的知识(历史)级数达到5级或更高,那么他在此检定上获得+2加值。)

成功的逸闻知识检定无法揭示魔法物品的力量,但是也许可以获得关于物品作用的一些提示。吟游诗人不能取10或取20来做此检定,知识的结果是随机的。

 

|!DC|!知识类型 |
|10 |一般,至少被一部分人所知,本地流传的一般性传说。 |
|20 |不寻常,但是依然可以获得,少数人知道。 |
|25 |隐讳的,只有很少数人知道,很难获得。 |
|30 |非常隐讳,绝少有人知道,大部分知道的人也有可能遗忘了,或者一知半解。 |
 
''吟唱(Bardic Music):''每天每吟游诗人等级一次,吟游诗人可以用他的歌声或者诗词来在身边的人身上(通常包括自己,如果愿意)制造各种魔法效果。这些能力都属于吟唱,要通过唱歌或用乐器演奏产生。可以通过诗歌,咏唱,唱歌,哼曲,吹口哨,弹奏乐器,或者边弹边唱来使用这些能力。每项能力都有各自的最低吟游诗人等级和最低表演技能级数限制,如果吟游诗人的表演技能级数没有达到要求,那么他将无法获得该项音乐能力,直到他达到要求为止。

启动吟唱能力是一个标准动作。有些吟唱需要专注,即每轮吟游诗人都必须花费一个标准动作来维持此能力。即使使用那些无需专注的音乐能力时,吟游诗人也不能施法,启用储发型魔法物品(例如卷轴),或者启用指令型魔法物品(例如法杖wand)。正如施展具有言语成分的法术一样,聋了的吟游诗人在尝试使用音乐能力时有20%的失败机会。如果他失败了,此次尝试还是计入每日音乐次数。

//破咒曲(Countersong,超自然能力)://某项表演技能级数达到3级或以上的吟游诗人可以用他的音乐和诗歌来反制依赖于声音的法术(并非简单的指那些有言语成分的法术)。在表演破咒曲的每轮内,他都必须做一次表演检定。任何在吟游诗人30尺之内的生物(包括吟游诗人自己)在受到音波或者基于语言的魔法攻击时都可以用吟游诗人的表演检定来代替自身的豁免检定(如果吟游诗人的表演检定结果好于自身的豁免检定结果)。如果在破咒曲范围内的生物已经受到持续性音波魔法或者基于语言的魔法攻击,在听到破咒曲的每个回合内,他都有进行第二次豁免检定对抗魔法影响的机会,但是必须使用吟游诗人的表演检定结果值来进行此对抗。对于无法进行豁免检定的魔法效果,破咒曲无效。吟游诗人最多可以连续表演10轮破咒曲。

//迷魂(Fascinate,类法术能力)://某项表演技能级数达到3级或以上的吟游诗人可以用他的音乐和诗歌来让一个或多个生物对他着迷。每个要迷住的生物都要在吟游诗人周围90尺距离内,并且能够看见和听见吟游诗人,还必须注意到吟游诗人。吟游诗人同样必须能够看到这些生物。附近的战斗或者其他能导致分心的危险都会打断这项能力的使用。每超过1级三个吟游诗人等级,他都可以在一次使用此能力时增加一个目标。

要使用此能力,吟游诗人必须做一次表演检定。他的检定结果即为受影响生物的意志豁免检定DC。如果生物的豁免检定成功,则此吟游诗人在24小时内无法再对之迷魂。如果豁免检定失败,该生物会安静的坐下来听歌曲,不会做其他动作,只要吟游诗人继续专心表演(最多持续时间为每吟游诗人等级一轮)就可以这样一直持续下去。在迷魂期间,目标生物在对周围反应方面的技能检定上都有-4减值,例如聆听和侦察。任何潜在威胁都要求吟游诗人再做一次表演检定,目标生物可以再做一次豁免检定,DC为新的表演检定结果。

任何现实威胁,例如有人拔武器,施法,或者用远程武器瞄准目标时都会自动打破此能力。迷魂是一项惑控系(胁迫)影响心灵的能力。

//激发勇气(Inspire Courage,超自然能力)://某项表演技能级数达到3级或以上的吟游诗人可以用唱歌或者诗歌来激发盟友(包括自己)的勇气,鼓舞他们对抗恐惧和提高战斗能力。为了能受到此效果,盟友必须能听到吟游诗人的歌唱。该效果在听到歌声的期间内一直有效,在之后的5个回合内仍然持续。受影响的盟友在对抗魅惑和恐惧时豁免检定有+1士气加值,在攻击和武器伤害检定上也有+1士气加值。8级及之后每6个吟游诗人等级,该加值会增加1(8级+2,14级+3,20级+4)。激发勇气是影响心灵的能力。

//提振技能(Inspire Competence,超自然能力)://吟游诗人等级达到3级或更高,并且某项表演技能级数达到6级及以上的吟游诗人可以用唱歌或者诗歌来帮助盟友成功完成工作。该盟友必须距离吟游诗人30尺内,并且能看和听见吟游诗人。吟游诗人也必须能看见此盟友。

只要此盟友能听见吟游诗人的音乐,他就可以在特定技能检定上获得+2表现加值。某些技能不能应用此加值。只要吟游诗人专心表演即可持续该效果。吟游诗人不能用此能力对自己起作用。提振技能是影响心灵的能力。

//暗示(Suggestion,类法术能力)://吟游诗人等级达到6级或更高,并且某项表演技能级数达到9级及以上的吟游诗人可以对一个已经被迷魂(见前)的生物使用暗示(如同暗示术)。使用此能力不会打断吟游诗人在迷魂上的专注,也不会因此导致次对迷魂的豁免检定对抗。

使用暗示不会计入吟游诗人的每日吟唱次数。一次成功的意志检定(DC=10+1/2吟游诗人等级+魅力修正)可以不受此影响。该能力只能影响一个生物(但参见下面的群体暗示)。暗示属于惑控系(胁迫),影响心灵且依赖于语言的能力。

//提振战力(Inspire Greatness,超自然能力)://吟游诗人等级达到9级或更高,并且某项表演技能级数达到12级及以上的吟游诗人可以用音乐和诗歌来激发自己或者30尺内单独一个同伴,让他获得额外的战斗力。9级后每三级,可以在每次使用此能力时额外多影响1个同伴(12级2个,15级3个,19级4个)。要使用提振战力,吟游诗人必须唱歌,而同伴则必须能听到他的歌唱。该效果在听到歌声的期间内一直有效,在之后的5个回合内仍然持续。受影响的生物获得两个额外生命骰(d10),对应的暂时生命值(每个奖励生命骰都要加上体质修正),攻击检定上的+2表现加值,强韧检定上的+1表现加值。在决定依赖于生命骰的法术效果时,这些奖励生命骰视为正常生命骰。提振战力是影响心灵的能力。

//自由歌(Song of Freedom,类法术能力)://吟游诗人等级达到12级或更高,并且某项表演技能级数达到15级及以上的吟游诗人可以用音乐或者诗歌来创造一种效果,该效果等同于破除结界(break enchantment)法术(施法者等级为角色的吟游诗人等级)。使用该能力需要一分钟持续不断的集中精神和奏乐,并且只对30尺范围内的单一目标起作用。吟游诗人不能对自己使用自由歌。

//激发豪情(Inspire Heroics,超自然能力)://吟游诗人等级达到15级或更高,并且某项表演技能级数达到18级及以上的吟游诗人可以用音乐或诗歌来激发他自己或30尺距离内愿意的接收效果的一个单一盟友。15级后每三个吟游诗人等级,可以在每次使用此能力时额外多影响1个同伴。要能够激发豪情,吟游诗人必须唱歌,而同伴则必须能听到他的歌唱整整一轮。被激发豪情的生物在豁免上有+4士气加值,在防御等级上有+4闪避加值。该效果在听到歌声的期间内一直有效,在之后的5个回合内仍然持续。激发豪情是影响心灵的能力。

//群体暗示(Mass Suggestion,类法术能力)://这项能力和之前提到的暗示能力类似,只是吟游诗人等级达到18级或更高,并且某项表演技能级数达到21级及以上的吟游诗人可以暗示任意数量已经被其迷魂(见前)的生物。群体暗示属于惑控系(胁迫),影响心灵且依赖于语言的能力。

 

!!!!前吟游诗人(Ex-Bards)

变为守序的吟游诗人将无法继续提升吟游诗人等级,但是他将保留所有吟游诗人能力。
!!Barghest(犬魔)

|!		|!	犬魔	|!	大型犬魔	|
|!		|!	中型异界生物(邪恶,跨位面,守序,变形生物)	|!	大型异界生物 (邪恶,跨位面,守序,变形生物)	|
|^	''生命骰:''	|^	6d8+6(33hp)	|^	9d8+27(67hp)	|
|^	''先攻权:''	|^	+6	|^	+6	|
|^	''速度:''	|^	30尺(4格)	|^	40尺(8格)	|
|^	''防御等级:''	|^	18(+2敏捷,+6天生),接触12,措手不及16	|^	20(-1体型,+2敏捷,+9天生),接触11,措手不及18	|
|^	''基本攻击/擒抱:''	|^	+6/+9	|^	+9/+18	|
|^	''攻击:''	|^	啮咬+9近战(1d6+3)	|^	啮咬+13近战(1d8+5)	|
|^	''全回合攻击:''	|^	啮咬+9近战(1d6+3)和2爪抓+4近战(1d4+1)	|^	啮咬+13近战(1d8+5)和2爪抓+8近身(1d6+2)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	10尺/5尺	|
|^	''特殊攻击:''	|^	类法术能力,啃食	|^	类法术能力,啃食	|
|^	''特性:''	|^	改变外形,伤害减免5/魔法,黑暗视觉60尺,灵敏嗅觉	|^	改变外形,伤害减免10/魔法,黑暗视觉60尺,灵敏嗅觉	|
|^	''豁免检定:''	|^	强韧+6,反射+6,意志+7	|^	强韧+9,反射+8,意志+10	|
|^	''属性:''	|^	力量17,敏捷15,体质13,智力14,感知14,魅力14	|^	力量20,敏捷15,体质16,智力18,感知18,魅力18	|
|^	''技能:''	|^	唬骗+11,交涉+6,易容+2(+4演技),躲藏+11*,威吓+3,跳跃+12,聆听+11,潜行+10,搜索+11,察言观色+11,侦察+11,生存+11 (追随踪迹+13)	|^	唬骗+16,攀爬+17,专注+15,交涉+8,易容+4(+6演技),躲藏+10*,威吓+18,跳跃+21,聆听+16,潜行+14,察言观色+16,侦察+16,生存+16 (追随踪迹+18),翻滚+16	|
|^	''专长:''	|^	战斗反射,精通先攻,追踪	|^	战斗施法,战斗反射,精通先攻,追踪	|
|^	''环境:''	|^	邪恶位面	|^	邪恶位面	|
|^	''组织:''	|^	单独或成群(3-6)	|^	单独或成群(3-6)	|
|^	''挑战等级:''	|^	4	|^	5	|
|^	''宝物:''	|^	双倍标准	|^	双倍标准	|
|^	''阵营:''	|^	总是守序邪恶	|^	总是守序邪恶	|
|^	''进化:''	|^	特殊(见下文)	|^	特殊(见下文)	|
|^	''等级调整:''	|^	-	|^	-	|



犬魔是能变成狼或者地精外形的狼形恶魔。它的真面目象是头拥有骇人双颚和锋利爪子的地精与狼的混合生物。在它还是幼兽的时候,犬魔除了体型和爪之外与狼完全相似。当犬魔长得更大更强壮之后,它的皮肤变暗变成蓝红色并且最终会变成完全的蓝色。

成年犬魔有6尺长180磅重。犬魔在兴奋时双眼会变成橘黄色。

犬魔说地精语,座狼语以及炼狱语。

!!!战斗
犬魔无论处于哪种形体下都能使用爪抓和啮咬来进行攻击,而且通常对使用武器不屑一顾。尽管犬魔酷爱杀戮,但它们喜欢采取埋伏突袭远胜于直接展开攻击。犬魔会使用极度绝望和魅惑怪物开始战斗使得对手失去平衡。它会试图避开敌人的主力。

在对抗伤害减免时,犬魔的天生武器以及它所持有的任何武器,都被视为具有邪恶阵营和守序阵营。在对抗伤害减免时,它的天生武器被视为魔法武器。

''类法术能力:''随意施展 - 闪现术,浮空术,误导术 (DC14),狂暴术 (DC15);每天1次 - 魅惑怪物 (DC16),极度绝望 (DC16),任意门。施法等级等于犬魔的HD。豁免DC基于魅力调整值。

''啃食 (Su):''当犬魔杀死一名类人生物时,它可以通过一个整轮动作啃食对方的尸体,吞噬其肉体和生命力。这项能力可以将受害者的尸体摧毁并防止任何需要部分尸体的复活或者复生方法产生作用。祈愿术、神迹术或者完全复生术有50%的机会可以使被吞噬的受害者恢复生命。每个被摧毁的生物有一次检定机会。如果检定失败,那么这个生物将不会被凡人魔法恢复生命。

犬魔通过吃掉尸体来获取生命骰上的进化以这种形式表现。当犬魔每吞噬掉三具适当的尸体,它就会获得一个生命骰,它的力量、体质以及天然护甲都会+1。它的攻击加值和豁免的提高仍然遵循异界生物基于生命骰的特性,并且正常的获得技能点数、专长以及属性值。

犬魔只有在吃掉生命骰或等级等于或大于犬魔本身的生物的尸体后才会进化。一个通过啃食达到9个生命骰的犬魔会在该动作结束后立刻成为大型犬魔。

''改变外形 (Su):''犬魔可以通过一个标准动作转换成地精或者狼的外形。在地精形态时,犬魔无法使用它的天生武器但是可以持有武器以及穿戴盔甲。在狼形态时,犬魔失去爪抓攻击的能力但是保留它啮咬攻击的能力。

''行踪无迹 (Ex):''狼形态下的犬魔可以通过一个即时动作施展行踪无迹(效果如同名法术)。

''技能:''*狼形态下的犬魔在进行躲藏检定时获得+4的环境加值。


!!! 大型犬魔

一头通过啃食达到9个生命骰的犬魔会成为大型犬魔。大型犬魔可以变换形体成为大体型类地精生物 (约8尺高400磅重)或者凶暴狼。在地精形态下,大型犬魔无法使用它的天生武器但是可以持有武器和穿戴盔甲。在凶暴狼形态下,大型犬魔失去爪抓攻击的能力但是保留它啮咬攻击的能力。

大型犬魔可以通过啃食达到最多18个生命骰。

''类法术能力:''在拥有所有犬魔的类法术能力同时,大型犬魔还获得了以下能力。随意施展-隐形法球;每日1次 - 群体牛之力量,群体变巨术。施法等级等于大型犬魔的HD。

!!!战斗
偶尔的,大型犬魔会在战斗中使用魔法双手武器取代它的爪子来进行多次攻击 (攻击加值+13/+8)。同时它也可以在每轮进行一次啮咬攻击 (攻击加值+8)。对抗大型犬魔类法术能力的豁免检定DC是14+法术等级。


!!!树肤术(Barkskin)
|变化系|
|''等级:''德鲁伊 2,巡林客 2,植物 2|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的活物|
|''持续时间:''10分钟/每等级|
|''豁免:''无|
|''法术抗力:''可(无害)|
|树肤术让生物的皮肤变得坚韧。生物已有的天生防御加值获得+2增强加值。从3级以后,每三个施法者等级会让该增强加值增加1,施法者等级12级时达到最大+5。|
|由树肤术提供的增强加值和生物本身的天生防御加值相叠加,但是和天生防御上的其它增强加值不叠加。没有天生防御的生物有实效天生防御加值+0。|
''猛击:''具有此特殊能力的盾牌擅长进行盾牌猛击的。计算一面猛击盾牌造成的伤害时,按中型轻盾牌造成1d6伤害,中型重盾牌造成1d8伤害算。猛击时盾牌使为+1武器。(只有轻型和重型盾牌能具有此能力)。

中等变化系灵光;CL7;制造魔法武器和防具,公牛之力(bull’s strength);价格+1加值。
!!Basilisk(石化蜥蜴)

''中型魔法兽''

|''生命骰:'' 6d10+12 (45hp)|
|''先攻权:'' -1|
|''速度:'' 20尺 (4格)|
|''防御等级:'' 16 (-1敏捷,+7天生),接触9,措手不及16|
|''基本攻击 / 擒抱:'' +6/+8|
|''攻击:'' 啮咬+8近战 (1d8+3)|
|''全回合攻击:'' 啮咬+8近战 (1d8+3)|
|''占据 / 触及:'' 5尺/5尺|
|''特殊攻击:'' 石化凝视|
|''特性:'' 黑暗视觉60尺,昏暗视觉|
|''豁免:'' 强韧+9,反射+4,意志+3|
|''属性:'' 力量15,敏捷8,体质15,智力2,感知12,魅力11|
|''技能:'' 躲藏+0*,聆听+7,侦察+7|
|''专长:'' 警觉,盲斗,强韧加强|
|''区域:'' 温带沙漠|
|''组织:'' 单独或群居 (3-6)|
|''挑战等级:'' 5|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 7-10HD (中型);11-18HD (大型)|
|''等级调整:'' -|


石化蜥蜴是一种爬行类怪物,活着的生物只要被它凝视一眼就会变成石头。石化蜥蜴通常有着暗棕色的身体和黄色的下腹部。某些品种的鼻子上还会长出一根短而弯的角。成年石化蜥蜴可以长到6英尺长,如果算上尾巴的话还可以再加上5到7尺的长度。这种生物重约300磅。

!!!战斗
石化蜥蜴依赖于它的凝视攻击,只有当对手足够近的时候才会用啮咬攻击。尽管它有八条腿,但是由于新陈代谢缓慢,所以它们不会把力气花在不必要的地方。入侵者撞见石化蜥蜴时,若选择逃跑而非战斗,会发现对方在追击时有点漫不经心。石化蜥蜴大部分时间都是在躺着等待猎物,包括小型哺乳动物,鸟类,爬虫类以及类似的生物。

''石化凝视 (Su):''永久变成石头,距离30尺;对手通过DC为13的强韧检定则无效。该豁免检定DC基于魅力调整值。

''技能:''*石化蜥蜴由于肤色不鲜明,而且可以长时间保持不动,因此在自然环境中进行躲藏检定时可以获得+4的种族加值。

!!Bat(蝙蝠)

''微型动物''

|''生命骰:'' 1/4d8(1hp)|
|''先攻权:'' +2|
|''速度:'' 5尺(1格),飞行40尺(良好)|
|''防御等级:'' 16(+4体型,+2敏捷),接触16,措手不及14|
|''基本攻击/擒抱:'' +0/-17|
|''攻击:'' -|
|''全回合攻击:'' -|
|''面宽/触及:'' 1尺/0尺|
|''特殊攻击:'' -|
|''特性:'' 盲感20尺,昏暗视觉|
|''豁免:'' 强韧+2,反射+4,意志+2|
|''属性:'' 力量1,敏捷15,体质10,智力2,感知14,魅力4|
|''技能:'' 躲藏+14,聆听+8*,潜行+6,侦察+8*|
|''专长:'' 警觉|
|''环境:'' 温带沙漠|
|''组织:'' 部落(10-40),或一大群(10-50)|
|''挑战等级:'' 1/10|
|''进化:'' -|
|''等级调整:'' -|

蝙蝠是会飞得夜行哺乳动物。这里列出的数据以小型食虫蝙蝠为准。

!!!战斗

''盲感 (Ex):''蝙蝠能察觉并定位20尺范围内的生物。但对手面对具有盲感的生物时仍然处于100%的隐蔽状态。

''技能:''*在进行侦察和聆听检定时蝙蝠可获得+4的种族加值。如果盲感失效的话,蝙蝠也将失去这些加值。

''Bead of Force(力场珠):'' 此黑球看起来像没有光泽的珍珠。你能够将他扔出60英尺(不受减值),一旦承受尖锐外力就会爆开,对半径10英尺内所有生物造成5d6点伤害。所有受害者都可进行反射检定(DC=16),未通过则会被压缩到力场球内,球体会自动适应里面生物大小。遭囚禁者除非使用可通过或破坏“力墙术”的方法,否则无法脱困。力场球持续10分钟,然后消失不见。爆炸过的“力场珠”无法再次使用,所以它是消耗品。

施法者等级:10。先决条件:“制造奇物”,“力墙术”。交易价格:3000金币。
!!Bear, Black(黑熊 )

''中型动物''

|''生命骰:'' 3d8+6 (19 hp)|
|''先攻权:'' +1|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 13 (+1敏捷,+2天生),接触11,措手不及12|
|''基本攻击/擒抱:'' +2/ +6|
|''攻击:'' 爪抓 +6 近战 (1d4+4)|
|''全回合攻击:'' 2 爪抓 +6 近战 (1d4+4)及啮咬 +1 近战 (1d6+2)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+5,反射+4,意志+2|
|''属性:'' 力量19,敏捷13,体质15,智力2,感知12,魅力6|
|''技能:'' 攀爬+4,聆听+4,侦察+4,游泳+8|
|''专长:'' 坚忍,飞跑|
|''环境:'' 温带森林|
|''组织:'' 单独或成对|
|''挑战等级:'' 2|
|''进化:'' 4-5HD (中型)|
|''等级调整:'' -|

黑熊是居住在森林中的杂食动物,它们通常不具危险性,除非有入侵者威胁到其幼兽或食物来源。

黑熊的颜色可能是纯黑色、亚麻色或黄褐色,且绝少超过5尺长。

!!!战斗
黑熊利用其爪牙撕裂猎物。

''技能:''在进行游泳检定时黑熊可获得+4的种族加值。
!!Bear, Brown(棕熊)

''中型动物''

|''生命骰:'' 3d8+6(19hp)|
|''先攻权:'' +1|
|''速度:'' 40尺(8格)|
|''防御等级:'' 13(+1敏捷,+2天生),接触11,措手不及12|
|''基本攻击/擒抱:'' +2/+6|
|''攻击:'' 爪抓+6近战(1d4+4)|
|''全回合攻击:'' 2爪抓+6近战(1d4+4)及啮咬+1近战(1d6+2)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+5,反射+4,意志+2|
|''属性:'' 力量19,敏捷13,体质15,智力2,感知12,魅力6|
|''技能:'' 攀爬+4,聆听+4,侦察+4,游泳+8|
|''专长:'' 坚忍,飞跑|
|''环境:'' 温带森林|
|''组织:'' 单独或成对|
|''挑战等级:'' 2|
|''宝物:'' 4-5HD(中型)|
|''阵营:'' -|
|''进化:'' 7-12HD(中型)|
|''等级调整:'' +7|

黑熊是居住在森林中的杂食动物,它们通常不具危险性,除非有入侵者威胁到其幼兽或食物来源。

黑熊的颜色可能是纯黑色、亚麻色或黄褐色,且绝少超过5尺长。

!!!战斗
黑熊利用其爪牙撕裂猎物。

''技能:''在进行游泳检定时黑熊可获得+4的种族加值。

!!Bear, Polar(北极熊 )

''大型动物''

|''生命骰:'' 8d8+32 (68 hp)|
|''先攻权:'' +1|
|''速度:'' 40尺 (8格),游泳30尺|
|''防御等级:'' 15 (-1体型,+1敏捷,+5天生),接触10,措手不及14|
|''基本攻击/擒抱:'' +6/ +18|
|''攻击:'' 爪抓 +13 近战 (1d8+8)|
|''全回合攻击:'' 2 爪抓 +13 近战 (1d8+8)及啮咬 +8 近战 (2d6+4)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' 精通攫抓|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+10,反射+7,意志+3|
|''属性:'' 力量27,敏捷13,体质19,智力2,感知12,魅力6|
|''技能:'' 躲藏-2*,聆听+5,侦察+7,游泳+16|
|''专长:'' 坚忍,飞跑,追踪|
|''环境:'' 寒冷的平原|
|''组织:'' 单独或成对|
|''挑战等级:'' 4|
|''进化:'' 9-12HD (大型)|
|''等级调整:'' -|


这种身体瘦长的食肉动物要比棕熊略高一些。

!!!战斗
北极熊如棕熊一样战斗。

''精通攫抓 (Ex):''使用此能力之前,北极熊必须通过其爪抓攻击击中对手。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。

''技能:''在进行游泳检定做出特殊动作或躲避危险时,北极熊可获得+8的种族加值。它可以在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。 *北极熊的白色皮毛使它在雪地中进行躲藏检定时可获得+12的种族加值。
!!!群体熊之坚韧(Bear’s Endurance, Mass)
|变化系|
|''等级:''牧师 6,德鲁伊 6,术士/法师 6|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''每等级一个生物,任意两者之间不得超过30英尺|
|群体熊之坚韧和熊之坚韧相类似,只是可以影响多个生物。|
!!!熊之坚韧(Bear’s Endurance)
|变化系|
|''等级:''牧师 2,德鲁伊 2,巡林客 2,术士/法师 2|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的生物|
|''持续时间:''1分钟/每等级|
|''豁免:''意志,通过则无效(无害) |
|''法术抗力:''可|
|被影响的生物获得更强的生命力和耐力。该法术给受术者体质提供+4增强加值,因此会给生命值、强韧豁免、体质检定等带来通常的好处。|
|暂时增加体质值带来的生命值不是暂时生命值。当体质值恢复到原始值的时候它们会一起失去。它们不会像暂时生命值那样首先失去。|
!!Behir(青足龙蛇)

''超大型魔法兽''

|''生命骰:'' 9d10+45 (94hp)|
|''先攻权:'' +1|
|''速度:'' 40尺 (8格),攀爬15尺|
|''防御等级:'' 20 (-2体型,+1敏捷,+11天生),接触9,措手不及19|
|''基本攻击/ 擒抱:'' +9/+25|
|''攻击:'' 啮咬+15近战 (2d4+12)|
|''全回合攻击:'' 啮咬+15近战 (2d4+12)|
|''占据/ 触及:'' 15尺/10尺|
|''特殊攻击:'' 喷吐武器,紧勒2d8+8,精通攫抓,耙抓1d4+4,活吞|
|''特性:'' 不能被拌摔,黑暗视觉60尺,对电免疫,昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+11,反射+7,意志+5|
|''属性:'' 力量26,敏捷13,体质21,智力7,感知14,魅力12|
|''技能:'' 攀爬+16,躲藏+5,聆听+4,侦察+4,生存+2|
|''专长:'' 警觉,顺势斩,猛力攻击,追踪|
|''区域:'' 温暖的山区|
|''组织:'' 单独或成双|
|''挑战等级:'' 8|
|''宝物:'' 标准|
|''阵营:'' 偏向中立|
|''进化:'' 10-13HD (超大型);14-27HD (巨型)|
|''等级调整:'' -|



青足龙蛇是一种和蛇很像的动物,它可以象蛇一样滑行也可以用它的十二条腿来进行相当快速的移动。青足龙蛇一般有40尺长,重量约4000磅。它可以把它的下肢收拢,让它们紧靠着细长的身躯,像蛇一样在地面滑行。青足龙蛇的颜色介于群青色到深蓝色之间并且带有灰棕色的条纹。腹部则是淡蓝色。头部两只向后弯曲的大角看起来很可怕,但事实上它们只是鳞片的装饰品,不是用来战斗的。

青足龙蛇说通用语。

!!!战斗
青足龙蛇通常会先啮咬并擒抱它的猎物,然后再将对方吞下或者紧勒。它只有在缠绕住对手时才能使用爪抓攻击。如果被一大群敌人包围,那么它将使用它的喷吐武器。

''喷吐武器 (Su):''20尺线形,每10轮1次,7d6电伤害,对手通过DC19的反射检定则伤害减半。该豁免检定DC基于体质调整值。

''紧勒 (Ex):''青足龙蛇一旦通过擒抱检定便可造成2d8+8的伤害。它可以对被擒抱住的对手做出6次耙抓攻击。

''精通攫抓 (Ex):''使用这项能力之前,青足龙蛇必须先用它的啮咬攻击命中一个任意体型的生物。然后可以用一个即时动作尝试擒抱对手,该动作不会引发借机攻击。

如果青足龙蛇在擒抱检定中成功将对手定身,那么它可以在接下来的一轮里尝试紧勒或者活吞对手。

''耙抓 (Ex):''6次爪抓,攻击加值+15近身,伤害1d4+4。

''活吞 (Ex):''青足龙蛇一旦通过擒抱检定抓住中型或者更小的对手,就可将对手活吞下去。吞下一名对手的青足龙蛇可用它的顺势斩专长啮咬和擒抱另一名对手。

被活吞的生物每轮将受到青足龙蛇胃部所造成的2d8+8点钝击伤害及8点强酸伤害。遭遇活吞的生物可用轻型挥砍或刺击武器对其胃部 (AC15)造成25点伤害借此杀出一条血路冲到外面。当这个生物逃脱之后,青足龙蛇的肌肉动作会将伤口合起来,其他被活吞的生物必须再用上述的方法杀出来。

青足龙蛇的胃部可以容纳2个中型,8个小型,32个超小型或者128个微型或更小的生物。

''技能:''青足龙蛇在做攀爬检定时有+8的种族加值,并且可以在做攀爬检定时总是取10,哪怕是在很匆忙或者受到威胁时。

!!Belker(贝克风精)

''大型元素生物 (风,跨位面)''

|''生命骰:'' 7d8+7 (38 hp)|
|''先攻权:'' +5|
|''速度:'' 30 英尺 (6格), 飞行50 英尺 (灵活)|
|''防御等级(AC):'' 22 (–1 体型, +5 敏捷, +8天生), 接触 14, 措手不及 17|
|''基本攻击/擒抱:'' +5/+11|
|''攻击:'' 翅膀 +9 近战 (1d6+2)|
|''全回合攻击:'' 2 翅膀 +9 近战 (1d6+2)及啮咬 +4 近战 (1d4+1) 及2抓抓 +4 近战 (1d3+1)|
|''面宽/触及:'' 10 英尺/10 英尺|
|''特殊攻击:'' 烟爪|
|''特性:'' 60英尺黑暗视觉,元素生物特性,烟雾形态|
|''豁免检定:'' 强韧 +3, 反射 +10, 意志 +2|
|''属性:'' 力量14, 敏捷 21, 体质 13, 智力 6, 感知 11, 魅力 11|
|''技能:'' 聆听 +7, 潜行 +9, 侦察 +7|
|''专长:'' 警觉, 多重攻击, 武器娴熟|
|''环境:'' 风元素位面|
|''组织:'' 单独, 成双或成群 (3–4)|
|''挑战等级:'' 6|
|''宝物:'' 无|
|''阵营:'' 通常中立邪恶|
|''进化:'' 8–10 HD (大型); 11–21 HD (超大型)|
|''等级调整:'' —|


贝克风精来自风元素位面,主要由烟雾组成。虽然它们毫无疑问是邪恶的但其行事风格相当低调,对其他人的事情也毫无兴趣。贝克风精长着7英尺长大约8磅重的翅膀,这使它看起来俨然一副恶魔的样貌。
贝克风精使用风族语。

!!!战斗
大多数情况下,贝克风精使用它们肮脏的爪子和使人疼痛的啮咬进行攻击。

''烟爪 (Ex):''烟雾形态(见下)的贝克风精可以移动到敌人的上方将对手吞噬,并可在中型或更小体型的对手周围灌注气体且不引发借机攻击。目标需通过DC14的强韧检定以避免吸入这些属于贝克风精一部分的气体。该豁免检定的DC依体质决定。如未通过检定,受害者吸入的气体将在其体内凝化为利爪并开始撕裂其周遭器官,造成每轮3d4点伤害。受害者其后每轮都可尝试进行一次强韧的豁免检定以咳出这些致命的半气化物。

''烟雾形态(Su):''贝克风精通常或多或少都有一部分为固体形态。但如果它想的话,它可以呈现完全的烟雾形态。它每轮可以以一个即时动作来转化形态。它的烟雾形态可以每天维持20轮。烟雾形态的贝克风精可以以50英尺的速度飞行(灵活)。除此之外,这项能力与气化形体的法术类似(7级施法者)。

''技能:''贝克风精在潜行技能上拥有+4的种族调整值。

''Belt of Dwarvenkind(矮人腰带): ''当穿戴者面对矮人时,所有魅力检定(包括对NPC态度的魅力检定),以及所有以魅力为关键属性的技能检定(例如“唬弄”、“交涉”、“易容”、“搜集资讯”、“威吓”、“表演”)有+4能力加值。面对地侏及半身人时,有+2能力加值,面对其他种族时,受-2表现减值。穿戴者可以读说并瞭解矮人语。如果穿戴者不是矮人,还可获得黑暗视觉(范围60英尺)、熟悉岩石、体质值有+2增强加值,以及对毒素、法术及类法术能力有+2抗力加值。

施法者等级:12。先决条件:“制造奇物”,“巧言术”、“变形自己”或制造者是矮人。交易价格:14900金币。重量:1磅。
''Belt of Giant Strength(巨力腰带): ''这是一条宽腰带,以厚重皮革制成,并镶嵌铁饰。穿戴者的力量值有+4或+6增强加值。

施法者等级:10。先决条件:“制造奇物”,“蛮力术”。交易价格:16000金币(+4)或36000金币(+6)。重量:1磅。
''Belt, Monk’s(武僧腰带): ''这是粗陋的腰绳,绑在腰上会加强穿戴者徒手战斗能力。穿戴者如果拥有武僧等级,那么将获得比现在高5等级武僧应该获得的AC奖励和徒手伤害;如果穿戴者没有武僧等级,那么将被看作5级武僧一样获得5级武僧应获得的AC奖励和徒手伤害。如果会施展“震慑破”的人穿戴此物,每天可以多使出一次“震慑破”。

CL 10th; 制造奇物“正气如虹”或“谭森变形术”价格13,000 gp; Weight 1 lb.
!!!降咒(Bestow Curse)
|死灵系|
|''等级:''牧师 3,术士/法师 4|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的生物|
|''持续时间:''永久|
|''豁免:''意志,通过则无效|
|''法术抗力:''可|
|你对目标下了诅咒。在以下三种效果中选择一种。|
|? 一项属性值-6(最低1)。|
|? 攻击投骰、豁免、属性检定、技能检定上受到-4惩罚。|
|? 每一轮里目标只有50%机会正常行动;另外50%机会它无法进行动作。|
|你也可以创造出你自己的诅咒,但是不能比上面这些更强。|
|由此法术产生的诅咒不能被解除,但是可以被[[破除结界|Break Enchantment(破除结界)]]、[[有限祈愿术|Limited Wish(有限祈愿术)]]、[[神迹术|Miracle(神迹术)]]、[[移除诅咒|Remove Curse(移除诅咒)]]、或[[祈愿术|Wish(祈愿术)]]所移除。|
|降咒反制[[移除诅咒|Remove Curse(移除诅咒)]]。|
!!!束缚大法(Binding)
|惑控系(胁迫)[影响心灵]|
|''等级:''术士/法师 8|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一分钟|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个活物|
|''持续时间:''见正文(可解消)|
|''豁免:''意志,通过则无效;见正文|
|''法术抗力:''可|
|束缚大法创造出一种魔法束缚来困住一个生物。只有当目标的生命骰至少等于你施法者等级一半的时候,它才能获得一次初始的豁免。|
|你可以有最多六名助手帮助你完成这个法术。每一个能施展[[暗示术|Suggestion(暗示术)]]的助手能让你施展束缚大法时的施法者等级增加1。每一个能施展[[支配动物|Dominate Animal(支配动物)]]、[[支配人类|Dominate Person(支配人类)]],或是[[支配怪物|Dominate Monster(支配怪物)]]的助手能让你你施展束缚大法时的施法者等级增加该助手等级的三分之一,前提是该助手的法术和束缚大法的目标相对应。助手的法术仅仅是增加你施展束缚大法时的施法者等级,因此对抗助手法术的豁免和法术抗力并没有意义。你的施法者等级决定了该目标是否能获得一次初始的意志豁免,以及束缚大法持续多长时间。所有束缚大法都是可解消的。|
|不管你施展的是束缚大法的何种功效,你都可以指定中止法术的触发条件,当这些条件达到时,生物会被释放出来。根据你的希望,这些触发条件可以很简单,也可以很详细,但是这些条件必须是合理的,而且有完成的可能性。这些条件可以是基于生物的名字,身份,或者阵营,但是这些必须是基于可见的行为或属性。无形的属性,例如等级、职业、生命骰、生命值等不能作为条件。一旦法术施展后,触发条件就不能更改。设定一个释放条件会使豁免DC(假如允许豁免)增加2。|
|如果你施展了束缚大法的前三种功效(这些的持续时间有限制),你可以再施放一个附加的束缚大法来延长效果时间,因为它们的持续时间是互相累加的。如果你这么做,目标在第一个法术持续时间结束的时候可以进行一次豁免,即便你的施法者等级足够高到让它不能进行初始豁免也是如此。如果该生物在这次豁免中成功了,它所受到的所有束缚大法都将被打破。|
|束缚大法有六种功效。在你施法的时候从以下功效中选择一种。|
|//链(Chaining)://目标会被限制在束缚中,该束缚会对所有靠近目标的生物(除了你)产生一种嫌恶术(antipathy)效果。持续时间为每施法者等级一年。这种形式束缚大法的受术者会被困在受术时的地方。|
|//眠(Slumber)://这种功效会让受术者昏睡达每施法者等级一年。在睡眠期间,受术者不需要吃喝,也不会衰老。施展这种形式的束缚大法比链更困难,因此也较容易抵抗。法术的豁免DC减1。|
|//滞(Bound Slumber)://这是链和眠的组合,持续时间为每施法者等级一个月。豁免DC减2。|
|//绝(Hedged Prison)://目标被从一个无论如何都不会迷路的地方传送到或带到一个受限制的区域。该效果是永久的。豁免DC减3。|
|//化(Metamorphosis)://受术者除了头脸外都变成气化形体。它被困在壶里或其它容器里(如果你需要,容器可以是透明的),但并不会受到伤害。该生物了解自己的状况,而且可以说话,但是它不能离开容器、攻击、或使用任何力量或能力。这种束缚大法是永久的。在这期间受术者不需要呼吸、饮食,也不会衰老。豁免DC减4。|
|//缩(Minimus Containment)://受术者被缩小成1英寸高(或更小),之后被困在宝石、壶,或其他类似物品里。在这期间受术者不需要呼吸、饮食,也不会衰老。豁免DC减4。|
|你不能用[[解除魔法|Dispel Magic(解除魔法)]]或类似效果解除束缚大法,但是[[反魔场|Antimagic Field(反魔场)]]或[[法师裂解术|Mage’s Disjunction(法师裂解术)]]可以对它产生正常作用。被束缚的跨位面生物不会被[[驱逐术|Dismissal(驱逐术)]]、[[放逐术|Banishment(放逐术)]],或其他类似效果送回它的原属位面。|
|//法术成分://依照该法术的不同功效,束缚大法的法术成分是可变的,但是它们总是包含持续不断的吟读包含该法属的卷轴或法术书页,肢体手势,以及和不同形式束缚大法对应的材料。这些成分可以包含一些其它东西,例如细小的特殊金属链,最珍贵的催眠草药(用于眠束缚),精致的水晶壶等。|
|除了为特殊类型的束缚大法准备的特制道具(价值500金币)外,法术还需要猫眼石,价值至少为目标每个HD 500金币,以及有目标描述的纸卷或目标的小雕像。|
!!Bison(野牛 )

''大型动物''

|''生命骰:'' 5d8+15 (37 hp)|
|''先攻权:'' +0|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 13 (-1体型,+4天生),接触9,措手不及13|
|''基本攻击/擒抱:'' +3/ +13|
|''攻击:'' 抵撞 +8 近战 (1d8+9)|
|''全回合攻击:'' 抵撞 +8 近战 (1d8+9)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' 奔窜|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+7,反射+4,意志+1|
|''属性:'' 力量22,敏捷10,体质16,智力2,感知11,魅力4|
|''技能:'' 聆听+7,侦察+5|
|''专长:'' 警觉,坚忍|
|''环境:'' 温带平原|
|''组织:'' 单独或成群 (6-30)|
|''挑战等级:'' 2|
|''进化:'' 6-7HD (大型)|
|''等级调整:'' -|

这些群居动物在保护幼兽及交配期期间会变得极具攻击性,但它们在平时则倾向于逃跑而非战斗。

野牛站立时肩高超过6尺,体长有9到12尺。它有1800到2400磅重。野牛的数据可以用在几乎所有大型群居动物上。

!!!战斗

''奔窜 (Ex):''一群受到惊吓的野牛会一起向一个随机的方向逃窜 (但总是会远离危险的来源)。它们会冲撞任何处于它们行进路线上的体型为大型或更小的生物,群体中每5只野牛可造成1d12点伤害 (通过DC 18的反射豁免检定则伤害减半)。该豁免检定DC基于力量调整值。
!!!黑触手(Black Tentacles)
|咒法系(创造)|
|''等级:''术士/法师 4|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每施法者等级)|
|''区域:''20英尺半径扩散|
|''持续时间:''1轮/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|这个法术产生一片强韧的黑触手,每条长10英尺。这些涌动的触手看上去是从任何脚下的表面冒出,从泥土中,地板上,以及水面。它们紧紧抓住并缠住进入这片区域的生物,以强大的力量困住它们,之后碾碎它们。|
|进入法术区域内的所有生物都必须进行一个擒抱检定,和触手的擒抱检定对抗。这些触手视作大型生物的一部分,基本攻击加值等于你的施法者等级,力量值为19。因此,它的擒抱检定调整值等于你的施法者等级+8。这些触手免疫所有类型伤害。一旦触手擒抱住一个敌手,它们会在你的回合中每轮做一次擒抱检定来产生1d6+4点钝击伤害。触手会一致挤压敌手,直到法术结束或敌手脱逃。|
|任何进入法术区域的生物会立刻被触手攻击。尽管没有被触手擒抱住的生物可以移出这个区域,但是只能以正常速度的一半移动。|
|//材料成分://一片巨章鱼或巨乌贼的触手。|
Blackguard(暗黑卫士)

''生命骰:''d10。

!!!!先决条件

要具备暗黑卫士的资格,人物必须符合以下全部条件。

''阵营:''任何邪恶阵营。

''基本攻击加值:''+6。

''技能:''躲藏5级,知识(宗教)2级。

''专长:''顺势斩,精通击破武器,猛力攻击。

''特殊:''暗黑卫士必须曾与被他或其他人召唤的邪恶异界生物和平的联系过。

!!!!本职技能
暗黑卫士的本职技能(括号中为该技能的关键属性):专注(体质),手艺(智力),交涉(魅力),驯养动物(魅力),医疗(感知),躲藏(敏捷),威吓(魅力),知识(宗教)(智力),专业(感知),骑术(敏捷),

''升级技能点数:''2+智力调整值。

 

''表:暗黑卫士''

|!		|!		|!		|!		|!		|!		|!	-每日法术数量-	|<|<|<|
|!	等级	|!	基本攻击加值	|!	强韧检定	|!	反射豁免	|!	意志豁免	|!	特殊能力	|!	1级	|!	2级	|!	3级	|!	4级	|
|^	1	|^	+1	|^	+2	|^	0	|^	0	|^	邪恶灵光,侦测善良,用毒	|^	0	|^	-	|^	-	|^	-	|
|^	2	|^	+2	|^	+3	|^	0	|^	0	|^	暗黑祝福,破善斩1次/日	|^	1	|^	-	|^	-	|^	-	|
|^	3	|^	+3	|^	+3	|^	+1	|^	+1	|^	命令不死生物,绝望暗气	|^	1	|^	0	|^	-	|^	-	|
|^	4	|^	+4	|^	+4	|^	+1	|^	+1	|^	偷袭+1d6	|^	1	|^	1	|^	-	|^	-	|
|^	5	|^	+5	|^	+4	|^	+1	|^	+1	|^	炼狱仆役,破善斩2次/日	|^	1	|^	1	|^	0	|^	-	|
|^	6	|^	+6	|^	+5	|^	+2	|^	+2	|^		|^	1	|^	1	|^	1	|^	-	|
|^	7	|^	+7	|^	+5	|^	+2	|^	+2	|^	偷袭+2d6	|^	2	|^	1	|^	1	|^	0	|
|^	8	|^	+8	|^	+6	|^	+2	|^	+2	|^		|^	2	|^	1	|^	1	|^	1	|
|^	9	|^	+9	|^	+6	|^	+3	|^	+3	|^		|^	2	|^	2	|^	1	|^	1	|
|^	10	|^	+10	|^	+7	|^	+3	|^	+3	|^	偷袭+3d6,破善斩3次/日	|^	2	|^	2	|^	2	|^	1	|


!!!!职业特性:

下述均为暗黑卫士进阶职业的职业特性:

''武器和防具擅长:''暗黑卫士擅长各类简单武器与军用武器、盔甲与盾牌。

''邪恶灵光(Aura of Evil,特异能力):''暗黑卫士邪恶灵光的强度(见侦测邪恶(detect evil)的法术说明)等于暗黑卫士的等级与其牧师等级(如果有)之和。

''侦测善良(Detect Good,类法术能力):''暗黑卫士可随时使用侦测善良(detect good),这是一种类法术能力,效果如同侦测善良(detect good)法术。

''用毒(Poison Use):''暗黑卫士受过用毒训练,不会在为武器淬毒时意外中毒。

''暗黑祝福(Dark Blessing,超自然能力):''暗黑卫士的魅力调整值若为正值,则加值可用于所有豁免检定上。

''法术:''暗黑卫士可施展某些神术。若要施法,暗黑卫士的感知值须达10+该法术等级,因此感知值等于或低于10的暗黑卫士不能施法。

暗黑卫士的额外法术以感知为基础,而法术的豁免检定DC=10+法术等级+暗黑卫士的感知调整值。若在某等级得到的是0个法术(例如在1级时得0个一级法术),则只能获得额外法术,若该等级无额外法术,则无法施展该等级的法术。暗黑卫士的法术列表于后述。和牧师一样,只要等级允许,暗黑卫士可以准备并施展任何列表上的法术。暗黑卫士准备与施展法术的过程也与牧师相同(但无法使用自发施法)。

''破善斩(Smite Good,超自然能力):''2级开始,暗黑卫士可用普通近战攻击使出破善斩,每日一次。此时,攻击检定可加上魅力调整值(若为正值),且造成等于暗黑卫士等级的额外伤害值。如果暗黑卫士对非善良生物使用破善斩,则没有特殊效用,而且仍计入当日使用次数。

到了5级和10级,暗黑卫士每日使用破善斩的次数会各增加一次。

''绝望暗气(Aura of Despair,超自然能力):''3级开始,暗黑卫士会散发邪恶的气息,使得身旁10呎内敌人的所有豁免检定均受-2士气减值。

''命令不死生物(Command Undead,超自然能力):''3级开始,暗黑卫士可命令与斥喝不死生物,其效果如同等级低2级的牧师一样。

''偷袭(Sneak Attack):''暗黑卫士在4级时获得此类似于游荡者的同名能力。每升三级(7级,10级),额外伤害值会增加1d6。如果暗黑卫士有来自其它原因的偷袭加值,其额外伤害加值也会累加其中。

!!!!暗黑卫士法术列表
暗黑卫士可以选择的法术如下表所示:

一级:惊恐术(cause fear),腐化武器(Corrupt Weapon),治疗轻伤(cure light wounds),丧志术(doom),造成轻伤(inflict light wounds),魔化武器(magic weapon),一级召唤怪物术(summon monster I)*。

二级:牛之力量(bull’s strength),治疗中度伤(cure moderate wounds),黑暗术(darkness),死亡丧钟(death knell),鹰之威仪(eagle’s splendor),造成中度伤(inflict moderate wounds),粉碎音波(shatter),二级召唤怪物术(summon monster II)*。

三级:疫病术(contagion),治疗重伤(cure serious wounds),深幽黑暗术(deeper darkness),造成重伤(inflict serious wounds),防护元素伤害(protection from elements),三级召唤怪物术(summon monster III)*。

四级:治疗致命伤(cure critical wounds),行动自如(freedom of movement),造成致命伤(inflict critical wounds),毒击(poison),四级召唤怪物术(summon monster IV)*。

*仅限邪恶生物。

!!!!腐化武器(Corrupt Weapon)
暗黑卫士可以使用一种特殊法术:腐化武器,此为圣武士法术祝福武器(bless weapon)的对立法术。同祝福武器提升武器对抗邪恶敌人的效力相反,不洁武器将提升武器对抗善良敌人的效力。

 

!!!!堕落圣武士(Fallen Paladins)
拥有圣武士等级的暗黑卫士(意即该人物现在是前圣武士),其圣武士等级愈高,可获得愈多额外能力。

根据人物的圣武士职业等级,成为暗黑卫士的堕落圣武士将获得以下能力:

1-2:破善斩1次/日。每日一次(该能力叠加在2级暗黑卫士获得的此能力上)。

3-4:圣疗。每日一次,暗黑卫士可用此类法术能力治疗自己或自己的炼狱仆役所受到的伤害,可治疗的生命值等于魅力加值乘以职业等级。

5-6:偷袭伤害值增加+1d6。破善斩2次/日。

7-8:召唤炼狱生物,每日一次。暗黑卫士可施展一级召唤怪物术召来一个邪恶生物。对于此法术来说,其施法者等级等于暗黑卫士职业等级的两倍。

9-10:不死生物伙伴。除了炼狱仆役之外,暗黑卫士在5级时另有一个中体型骷髅或僵尸为伴。此同伴不会被他人驱散或斥喝,并且在暗黑卫士升级时可以获得和炼狱仆役一样的所有特殊能力。破善斩3次/日。

11+:如此高等级堕落的圣武士可立即将其圣武士等级替换成暗黑卫士等级,每一级圣武士等级都可以换来一级暗黑卫士等级。

其人物等级不会改变。但由于失去了圣武士级别,人物在成为堕落圣武士的时候将无法获得如此多的额外能力。

 

!!!!炼狱仆役(Fiendish Servant)
5级开始,暗黑卫士可召唤一只炼狱蝙蝠、炼狱猫、炼狱凶暴鼠、炼狱马、炼狱矮种马、炼狱渡鸦或炼狱蟾蜍,作为其仆役。暗黑卫士的仆役更可根据暗黑卫士的职业等级获得相应的HD与特殊能力(见下表)。

暗黑卫士一次只能拥有一个炼狱仆役。

一旦仆役死亡,他必须隔一年又一天之后才可再召唤一个。新的炼狱仆役的能力与暗黑卫士召唤它时的等级相对应。

|!	人物等级	|!	额外生命骰	|!	天生防御调整	|!	力量调整	|!	智力值	|!特殊能力 |
|^	12或更低	|^	+2	|^	+1	|^	+1	|^	6	|^	情感连接,精通反射闪避,豁免检定共享,法术共享	|
|^	13-15	|^	+4	|^	+3	|^	+2	|^	7	|^	与暗黑卫士交谈	|
|^	16-18	|^	+6	|^	+5	|^	+3	|^	8	|^	血系	|
|^	19-20	|^	+8	|^	+7	|^	+4	|^	9	|^	法术抗力	|

 

//人物等级://该暗黑卫士的人物等级(暗黑卫士职业等级加上其它职业等级)。

//额外生命骰://额外的生命骰为d8,体质调整值照算。额外生命骰也会提升仆役的基本攻击加值与基本豁免加值。

//天生防御调整://这项调整增加了仆役的天生防御加值。

//力量调整://将此数字加到仆役的力量值上。

//智力值://仆役的智力值(炼狱仆役比同类的一般生物更聪明)。

 

以下为有关上表中提到的“特殊能力”的说明描述:

''情感连接(Empathic Link,超自然能力):''暗黑卫士与仆役相距1英里内时,彼此有情感连结。暗黑卫士无法透过仆役的眼睛看东西,但双方可以心灵沟通。然而即使是再聪明的仆役,看待世界的方式也与人类不同,所以仍可能产生误解。

因为彼此有情感连结,暗黑卫士对仆役经验过的事物或地点也会建立相同的关联。

''精通反射闪避(Improved Evasion,特异能力):''有些攻击效果若通过反射豁免仍会造成一半伤害,此时仆役若通过反射豁免,则完全不会受伤,若未通过反射豁免,也只会受到一半伤害。精通反射闪避是特异能力。

''豁免检定共享(Share Saving Throws):''仆役可用自己或暗黑卫士的基本豁免加值中数值较高者作为自己的豁免加值。仆役可以将自身的属性调整值加入豁免检定,但不能共享暗黑卫士所拥有的其它豁免检定加值。

''法术共享(Share Spells):''根据暗黑卫士的选择,他可以让他施放给自己的法术(不包括类法术能力)同样影响自己的仆役。该仆役必须在施法时处在暗黑卫士周围5英尺范围内才能获得好处。如果该法术或者法术效果不是瞬间的而是有持续时间,那么在炼狱仆役离开5尺范围后该法术将无法影响此炼狱仆役,并且也不会再次影响它,就算它在法术持续时间到期前回到暗黑卫士身边也是如此。

另外,暗黑卫士可以对炼狱仆役施展那些法术目标为“自己”(“You”)的法术(如同远程接触法术)而不是对自己施展。即使某些法术通常不会影响炼狱仆役同类生物(魔法兽),暗黑卫士也可以用这种方式和炼狱仆役共享该法术。

''与暗黑卫士交谈(Speak with Blackguard,特异能力):''若暗黑卫士的人物等级达到了13级,仆役与暗黑卫士便能够以言语交谈,如同使用通用语一样。但除非利用魔法,其它生物无法了解其谈话内容。

''血系(Blood Bond,特异能力):''若暗黑卫士的人物等级达到了16级,当仆役目睹暗黑卫士遭受威胁或受伤,则其所有攻击、检定和豁免获得+2加值。

只要威胁一直存在,此加值便会持续下去。

''法术抗力(Spell Resistance,特异能力):''若暗黑卫士的人物等级达到了19级,仆役获得法术抗力,数值等于暗黑卫士等级加5。外人要对仆役施法,必须进行施法者等级检定(1d20+施法者等级),结果必须达到或超过仆役的法术抗力,法术才会成功。

 
!!!剑刃护壁(Blade Barrier)
|塑能系[力场]|
|''等级:''牧师 6,善良 6,战争6|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每施法者等级)|
|''效果:''旋转刀刃的墙壁,至多长20英尺/每施法者等级,或者环形的旋转刀墙,半径至多为每两个施法者等级5英尺;两种|
|''持续时间:''1分钟/每等级(可解消) |
|''豁免:''反射减半或反射通过则无效;见正文|
|''法术抗力:''可|
|这个法术造出纯力场的旋转刀刃,构成一道垂直固定帐幕。任何穿越这道墙的生物都会受到每施法者等级1d6的伤害(最多15d6),成功的反射豁免可以减半伤害。|
|如果你在已经有生物的地方唤出这道屏障,任何这些生物都会受到伤害,如同穿越这道墙一样。每一个这类生物可以通过一个成功的反射豁免躲开刀墙(停在由它选择的一边),从而不受伤害。|
|对抗穿过剑刃护壁的攻击时,它会提供掩蔽(AC+4加值,反射豁免+2加值)。|
!!!渎神之语(Blasphemy)
|塑能系[邪恶,音波]|
|''等级:''牧师 7,邪恶 7|
|''法术成分:''言语|
|''施法时间:''一个标准动作|
|''距离:''40英尺|
|''区域:''在以你为中心40英尺半径扩散范围内的非邪恶生物|
|''持续时间:''立即|
|''豁免:''无,或意志通过则无效;见正文|
|''法术抗力:''可|
|任何在渎神之语区域内的非邪恶生物都会受到如下疾病效果。|

|!HD|!效果|
|等于施法者等级 |晕眩 |
|至多施法者等级-1|虚弱,晕眩|
|至多施法者等级-5|麻痹,虚弱,晕眩|
|至多施法者等级-10|被杀,麻痹,虚弱,晕眩|
|这些效果是可累加的,并且同时发生。|<|
|这些效果不能进行豁免。|<|

|//晕眩(Dazed)://该生物1轮内无法进行动作,但是它依然可以正常防卫自己。|
|//虚弱(Weakened)://生物的力量减少2d6点,持续2d4轮。|
|//麻痹(Paralyzed)://生物麻痹并无助,持续1d10分钟。|
|//被杀(Killed)://活物死掉。不死生物被摧毁。|
|另外,如果你在你的所属位面施展此法术,区域内的所有非邪恶跨位面生物都会被立刻驱逐回它们的所属位面。被这样驱逐的生物24小时内无法返回。不管该生物是否听见渎神之语,这种效果都会发生。允许进行一个意志豁免(有-4减值)来避免被驱逐,通过则不会被驱逐。|
|生命骰超过你施法者等级的生物不受渎神之语影响。|
!!!祝福圣水(Bless Water)
|变化系[善良]|
|''等级:''牧师 1,圣武士 1|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1分钟|
|''距离:''接触|
|''目标:''接触的一扁瓶水|
|''持续时间:''立即|
|''豁免:''意志,通过则无效(物品)|
|''法术抗力:''可(物品)|
|这种转变会让一扁瓶(1品脱)水充满正能量,将其转化为圣水。|
|材料成分:5磅银粉(价值25金币)。|
!!!祝福武器(Bless Weapon)
|变化系|
|''等级:''圣武士 1|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的武器|
|''持续时间:''1分钟/每等级|
|''豁免:''无|
|''法术抗力:''不可|
|这种变化能让武器准确地打击邪恶的敌人。这件武器在克服邪恶生物的伤害减免和攻击邪恶虚体生物时视作具有+1增强加值(但是该法术并不会真的产生增强加值)。该武器同时变成善良武器,这意味着它可以克服某些生物的伤害减免。(这种效果覆盖并压制该武器上可能有的任何其他阵营。)可以转变单独的箭矢,但是从被影响的弹射武器(例如弓)射出的弹射物并不会获得这些好处。|
|另外,所有对邪恶敌人的重击都会自动成功,因此所有重击威胁都是重击。这一项效果对任何已经有重击相关魔法属性的武器无效,例如锐锋(keen)武器或斩首(vorpal)剑。|
!!!祝福术(Bless)
|惑控系(胁迫)[影响心灵]|
|''等级:''牧师 1,圣武士 1|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''50英尺|
|''区域:''施法者和所有以施法者为中心50英尺半径爆发范围内的所有盟友|
|''持续时间:''1分钟/每等级|
|''豁免:''无|
|''法术抗力:''可(无害)|
|祝福术让你的盟友充满了勇气。每个盟友在攻击投骰和对抗恐惧的豁免上都得到+1士气加值。|
|祝福术反制和解除[[绝望术|Bane(绝望术)]]。|
''Blessed Book(博卡布祝福书): ''此精装书通常体积不大,不超过十二英寸高、八英寸宽、一英寸厚。不但耐用且防水,外表为铁制封皮镶银边,附锁。

“博卡布祝福书”共有1000页,每页预先支付抄写法术材料费100GP。很多法师把它当作法术书,并愿意以高价购买。若为随机创造,则书页空白,未记入法术。

CL:7。先决条件:“制造奇物”,“秘密文页”。交易价格:12500金币。重量:1磅。
!!!枯萎术(Blight)
|死灵系|
|''等级:''德鲁伊 4,术士/法师 5|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''持续时''间:立即|
|''豁免:''强韧减半;见正文|
|''法术抗力:''可|
|这个法术会使任何大小的一株植物枯萎凋谢。任何受影响的植物生物会受到每等级1d6点伤害(最多15d6),可以进行一次强韧豁免,通过则减半伤害。并非生物的植物不能进行豁免,会立刻凋谢而死。|
|这个法术对土壤或周围的植物生命无效。|
!!! 盲斗(BLIND-FIGHT)[一般专长]

''效果:''在近战时,若你因为对方隐蔽而失手,可以重掷一次失手几率,看是否真的没打中。

隐形者与你近战时不能获得优势。即你不会丧失AC的敏捷加值,对方也不能由于隐形获得通常所具有的+2加值。但隐形者在远程攻击时,仍需计算加值。

在无法看见时你的速度上的减值比通常减值降低一半。黑暗与视线不佳只会使你的速度减慢到3/4,而非1/2。

''正常:''隐形者攻击你时,会有攻击检定调整值,且你的AC失去敏捷加值。黑暗与视线不佳也会造成速度减低。

''特殊:''对付闪现术(blink)的受术者时,盲斗无作用。

战士可以选择本专长作为其战士奖励专长。

''目盲(Blinded):''人物无法看东西。他在防御等级上有-2减值,在AC上失去敏捷加值,只能以一半速度移动,在搜索技能检定和大多数基于力量和敏捷的技能检定上有-4减值。所有依靠视力的检定和活动(例如阅读和侦察检定)自动失败。所有目盲者的敌手对其视作全隐蔽(目盲者有50%失手率)。一些长时间目盲的人物会习惯于此并克服某些缺点。

 
''目盲:''具有此能力的盾牌被使用者启动后,每天能发出两次耀眼的光芒。20英尺内除了使用者外的所有生物必须作DC14的反射检定,失败则目盲1d4轮。

中等塑能系灵光;CL7;制造魔法武器和防具,灼热光辉(Searing Light);价格+1加值。
!!!目盲/耳聋术(Blindness/Deafness)
|死灵系|
|''等级:''吟游诗人 2,牧师 3,术士/法师 2|
|''法术成分:''言语|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每施法者等级)|
|''目标:''一个活物|
|''持续时间:''永久(可解消)|
|''豁免:''强韧,通过则无效|
|''法术抗力:''可|
|你召唤反生命的能量,根据你的选择,让受术者目盲或耳聋。|
''盲感(Blindsense,特异能力):''某些生物能够通过视觉以外的感官,比如敏锐的嗅觉或听觉来觉察到它看不见的东西。它通常不需要作侦查或聆听检定来发现在它盲感范围内的生物的位置,前提是它和目标生物之间存在效果线。对具有盲感的生物来说,它看不见的生物依然具有全隐蔽(50%失手率),同时在攻击隐蔽的对手时,它仍有正常的失手几率。可见度仍然影响着一个具有盲感的生物的移动。在被看不见的生物攻击时,具有盲感的生物其防护等级上仍旧会失去它的敏捷加值。
''盲视(Blindsight,特异能力):''此能力类似于盲感,但远比它精确。通过视觉以外的感官,比如对震动的感觉、敏锐的嗅觉、灵敏的听觉或回声等,一个盲视生物可以和有视觉的生物一样进行机动和战斗。隐形、黑暗以及大多数此类的隐蔽对它无效,但是盲视生物必须有效果线才能发现生物或物体。此能力的有效范围见该生物的说明。盲视生物通常不需要作侦查或聆听检定来发现在它盲视范围内的生物的位置。除非另有说明,盲视是持续的,盲视生物不需要做什么来启动它。而某些形式的盲视必须用一个即时动作触发。如果这样,会在生物的描述中特别说明。如果某生物必须触发自身的盲视能力,则该生物只在它自己的轮次当中获得盲视的好处。


*生物无法运用盲视辨别颜色和视差,也无法使用盲视阅读。
*盲视不会使生物遭受凝视攻击(黑暗视觉不是如此)
*使其失明的攻击不会对运用盲视的生物造成惩罚。
*如果盲视是基于听觉的话,那么使其失聪的攻击会阻碍盲视能力。
*在水下可运用盲视,在真空则不行。
*盲视忽视移位(displacement)或朦胧(blur)效果。


!!Blink Dog (闪现犬)

''中型魔法兽''

|''生命骰:'' 4d10 (22 hp)|
|''先攻权:'' +3|
|''速度:'' 40 英尺 (8格)|
|''防御等级(AC):'' 16 (+3 敏捷, +3 天生), 接触 13, 措手不及 13|
|''基本攻击/擒抱:'' +4/+4|
|''攻击:'' 啮咬+4 近战 (1d6)|
|''全回合攻击:'' 啮咬+4 近战 (1d6)|
|''面宽/触及:'' 5 英尺/5 英尺|
|''特殊攻击:'' —|
|''特性:'' 闪现术, 60英尺黑暗视觉, 任意门, 昏暗视觉,嗅觉灵敏|
|''豁免检定:'' 强韧 +4, 反射 +7, 意志 +4|
|''属性:'' 力量 10, 敏捷 17, 体质 10, 智力 10, 感知 13, 魅力 11|
|''技能:'' 躲藏 +3, 聆听 +5,察言观色 +3, 侦察 +5, 野外求生 +4|
|''专长:'' 钢铁意志, 飞跑, 追踪B|
|''环境:'' 温带平原|
|''组织:'' 单独, 成双或成群 (7–16)|
|''挑战等级:'' 2|
|''宝物:'' 无|
|''阵营:'' 通常守序善良|
|''进化:'' 5–7 HD (中型); 8–12 HD (大型)|
|''等级调整:'' +2 (伙伴)|

闪现犬是一种有智慧的具有有限心灵传送能力的犬类生物。
闪现犬拥有自己的语言,这种混合了吠叫、低鸣、嗥吼的复杂组合可传达相当丰富的信息。

!!!战斗
闪现犬总是成群的狩猎,它们会以一种貌似随机的方式传来传去直到把它们的猎物团团包围住,让其中数名成员发动夹击为止。

''闪现术 (Su):''闪现犬可以如同使用闪现术(8级施法者)般忽隐忽现,并能以一个即时动作抑制或唤起这种效果。

''任意门(Su):''闪现犬可以以一个即时动作进行传送,其效果如同使用任意门(8级施法者),每轮一次。这项能力只对闪现犬有效,而且它们无论如何也不会传送到任何实心物体里面。传送后闪现犬可以立即行动。

!!!闪现术(Blink)
|变化系|
|''等级:''吟游诗人 3,术士/法师 3|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''你自己|
|''持续时间:''1轮/每等级(可解消)|
|你在主物质位面和以太位面之间来回“闪烁”。看起来你就像在非常快而乱的闪入闪出真实世界。|
|闪现术带来以下几种效果。|
|对你的物理攻击有50%失手几率,盲斗专长对此无效,因为你是灵化状态,而不仅仅是隐形。如果该攻击能攻击到灵体生物,那么该失手几率会降到20%(隐蔽)。如果攻击者能看到隐形生物,那么该失手几率也会仅有20%。(又能看到又能攻击到灵体生物的攻击者没有失手几率。)同样的,你自己的攻击也有20%失手几率,这是由于有时正在攻击的时候你正好处在灵化状态。|
|当你处在闪现术下时,任何针对你的单独目标型法术都有50%机会失败,除非你的攻击者可以瞄准隐形灵体生物。由于启动法术的时候你有可能处在灵界,而在灵界时法术通常不会影响主物质界,因此你自己的法术也有20%的机会失败。|
|当处在闪现术下时,区域攻击仅会对你造成一半伤害(但是对那些延伸到灵界的法术来说,伤害是全部的)。你攻击时是作为隐形生物(攻击投骰上有+2加值),同时忽视目标的所有AC上的敏捷加值。|
|在跌落时,你只会受到一半伤害,因为你只是在物化的时候才算跌落。|
|当处在闪现术下时,你可以穿过(但无法看透)固体物体。每穿过5英尺固体物质你就有50%机会物质化。如果这种情况发生了,你将会被弹出到最近的开放空间,每这样穿过5英尺距离,你就会受到1d6点伤害。你只能以四分之三的速度移动(因为在灵界的移动是半速,而你有一半时间在那里,另一半时间是物质化的)。|
|因为你有一半时间在灵界,因此你能看到甚至攻击到灵体生物。你和灵体生物之间的交互和你与物质生物交互的方式类似。|
|灵体生物是不可见的虚体,而且能向任意方向移动,甚至向上和向下。作为虚体生物,你可以穿过固体物品,甚至活的生物。|
|灵体生物能看到和听到主物质界,但是所有事情看上都是灰蒙蒙的,虚无缥缈的。对主物质界的视觉和听觉范围只有60英尺。|
|力场效果和防护系效果可以正常影响你。这些效果从主物质界延伸到灵界,但是反过来不可。灵体生物不能攻击物质化生物,在灵化时你施展的法术只能影响到其它灵化事物。特定的物质化生物或物品有能对灵界攻击或影响的能力。此时视其它灵化生物或物品为物质化的。|
''Blinking(闪现): ''启动后,此戒指佩带者进入闪现状态,效果如同“闪现术”。

CL:7。先决条件:锻造戒指,“闪现术” 价格 27,000 gp。
''被吹动(Blown Away):''由于体型关系,一个生物可以被一阵强风吹动。在地面上处于被吹动状态的生物会被吹倒并翻滚1d4 x 10尺,每10尺受到1d4点非致命伤害。飞行中处于被吹动状态的生物会被吹后2d6 x 10尺并受到2d6点非致命伤害。

 
!! Bluff(唬骗)(魅力)

''检定:''唬骗检定和目标的察言观色检定是相对抗的。见附表查看不同种类唬骗的示例和对应情况下目标察言观色检定的修正。

有利和不利情况对唬骗结果中占很大分量。两种环境对你不利:唬骗本身很难被相信,或者目标被请求要做的行动违反了他的自身利益、天性、个性、命令,或者类似事情。如果有必要,你可以区分究竟是因为目标不相信还是因为请求的太多了而导致的失败。举例来说,如果目标因为唬骗的内容会带来危险而在察言观色上获得+10加值,但察言观色检定只超过了10或更少,那么目标只是因为太难处理而不会赞同,但不会看穿。如果目标在察言观色检定上超出11或更多,那么他能看穿这次唬骗。

一次成功的唬骗检定可以让目标按你所希望的方向起反应,至少在短暂的时间内(通常为1轮或者更少)如此,或者目标会相信你希望他相信的一些事情。但是,唬骗不是暗示术。

唬骗需要你和目标之间有交流。没注意到你的生物无法被唬骗。

//战斗中的虚招(Feinting in Combat)://在近战中你也可以用唬骗来误导对手(这样他就无法有效的躲开你的下一次攻击)。要采用虚招,做一次唬骗检定和目标的察言观色检定进行对抗,但是在这种情况中,目标可以将其基础命中奖励和其他任何可以使用的修正一起加在检定中。

如果你的唬骗检定结果超过了这次特别的察言观色检定结果,你的目标在你对他的下次近战攻击中将失去AC上敏捷加值(如果有)。这次攻击必须在你下轮中或下轮之前做出。

通过这种方式对非类人生物进行唬骗会比较困难,因为对方很难理解陌生生物的肢体语言;在你的唬骗检定中要受到-4减值。在对付只有动物智力(1或2)的生物时会更难;你要受到-8减值。在对抗没有智力的生物时,虚招是不可能的。

战斗中的虚招不会导致借机攻击。

//转移注意力以躲藏://你可以使用唬骗技能帮助你躲藏。在人们注意你时,一次成功的唬骗检定可以让你转移他人注意力一瞬间,让你可以尝试进行躲藏检定。这种使用方法不会遭受借机攻击。

//传递密讯://你可以用唬骗来向其他人物传递他人不会理解的讯息。传递简单讯息的DC是15,复杂讯息的DC是20,特别是那些依赖于正在传递的讯息来获得新消息的情况。检定失败4或更少意味着无法传递该信息。失败5或者更多则意味着推断或推测出了一些错误的信息。听到这传递的可以做一次察言观色检定对抗你传递时的唬骗检定,以便截获此讯息(见察言观色说明)。

''动作:''可变。作为一般交流一部分的唬骗检定至少需要一轮时间(至少是一个整轮动作),但是如果你打算详细说明某些事情,所需时间将会长很多。为了使出战斗中虚招或转移注意力以躲藏所进行的唬骗检定是一个标准动作。传递密讯所需的唬骗检定不是一个单独动作,它是正常交流中的一部分。

''重试:''可变。一般来说,在社交活动中失败的唬骗检定会让目标对你在同样情况下的重试非常怀疑,但是你可以自由重复尝试唬骗检定来进行战斗虚招。在传递密讯时也是可以重试的,但是每轮只能重试一次。每次重试都有相同错误传达机会。

''特别:''巡林客在使用唬骗技能对付宿敌时在检定上有加值。

蛇魔宠的主人在唬骗检定时有+3加值。

如果你有说服者(Persuasive)专长,你在唬骗检定上有+2加值。

''共效:''如果你在唬骗上级数达到5或更高,你在交涉(Diplomacy)、威吓(Intimidate)、手上功夫(Sleight of Hand)检定上都获得+2加值,同时在当你试着装扮成其他人并且知道自己正在被观察时,你在易容检定上也有+2加值。

 
''
唬骗示例''

|!	示例情况	|!	察言观色修正	|
|^	对方希望相信你。	|^	-5	|
|^	唬骗内容是可信的,并且对对方影响不大。 	|^	+0	|
|^	唬骗内容有些难以相信,或者会使对方处于危险中。	|^	+5	|
|^	唬骗内容很难相信,或者会使对方处于相当大的危险中。	|^	+10	|
|^	唬骗内容非常荒谬,太难以置信了。	|^	+20	|


 

!!!朦胧术(Blur)
|幻术系(五官幻觉)|
|''等级:''吟游诗人 2,术士/法师 2|
|''法术成分:''言语|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的生物|
|''持续时间:''1分钟/每等级(可解消)|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可(无害)|
|受术者的轮廓变得模糊不清,不断的变化和波动。这种失真会让受术者获得隐蔽(20%失手几率)。|
|[[识破隐形|See Invisibility(识破隐形)]]不会抵消朦胧术效果,但是[[真知术|True Seeing(真知术)]]可以。|
|不能看到目标的敌人不会忽略法术的效果(但是和看不见的对手作战本身会有惩罚)。|
!!Boar(野猪 )

''中型动物''

|''生命骰:'' 3d8+12 (25 hp)|
|''先攻权:'' +0|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 16 (+6天生),接触10,措手不及16|
|''基本攻击/擒抱:'' +2/ +4|
|''攻击:'' 抵撞 +4 近战 (1d8+3)|
|''全回合攻击:'' 抵撞 +4 近战 (1d8+3)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 凶猛|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+6,反射+3,意志+2|
|''属性:'' 力量15,敏捷10,体质17,智力2,感知13,魅力4|
|''技能:'' 聆听+7,侦察+5|
|''专长:'' 警觉,健壮|
|''环境:'' 温带森林|
|''组织:'' 单独或成群 (5-8)|
|''挑战等级:'' 2|
|''进化:'' 4-5HD (中型)|
|''等级调整:'' -|

尽管不是食肉动物,但野猪的脾气非常坏而且通常会想任何干扰到它的人发起冲锋。

野猪全身覆盖了一层灰黑色的毛。成年雄性约4尺长,肩高约3尺。

!!!战斗

''凶猛 (Ex):''野猪是一种极为顽强的斗士,它们甚至可以在瘫痪或濒死的状态下不受罚值的持续战斗。
''Boat, Folding(折叠船): ''这看起来像是一个小木盒,约十二英寸长、六英寸宽、六英寸高,可以像一般盒子一样储放物品。如果说出指令,盒子会伸展成为一艘十英尺长、四英尺宽、两英尺深的船。如果说出另一个指令,可以伸展成为一艘二十四英尺长、八英尺宽、六英尺深的船。所有原本装在盒子里的物品都躺在船底。

伸展成小船时,它有两支桨、一支锚、一根船桅和一张三角帆。伸展成大船时,有一块甲板、一排划桨座、五组划桨、一支操舵桨、一支锚、一个甲板舱、一根船桅和一张四角帆。小船可乘载三到四人,大船可乘载十五人。

说出第三个指令,可以把船折叠回小木盒。指令可能写在盒子上(无论是否可见),或写在他处(如盒内物品)。

CL 6th; Craft Wondrous Item, 鬼斧神工,手艺:造船2 SKILL ,价格7,200 gp;Weight 4 lb.
!!Bodak (波达尸)

''中型不死生物 (跨位面)''

|''生命骰:'' 9d12 (58 hp)|
|''先攻权:'' +6|
|''速度:'' 20 英尺 (4 格)|
|''防御等级(AC):'' 20 (+2 敏捷, +8 天生), 接触 12, 措手不及 18|
|''基本攻击/擒抱:'' +4/+5|
|''攻击:'' 挥击 +6 近战 (1d8+1)|
|''全回合攻击:'' 挥击 +6 近战 (1d8+1)|
|''面宽/触及:'' 5 英尺/5 英尺|
|''特殊攻击:'' 死亡凝视|
|''特性:'' 伤害减免 10/寒铁, 60英尺黑暗视觉,对电系免疫,抗酸及抗火能力10 ,不死生物特性,畏惧阳光|
|''豁免检定:'' 强韧 +3, 反射 +5, 意志 +7|
|''属性:'' 力量 13, 敏捷 15, 体质 —, 智力 6, 感知 12, 魅力 12|
|''技能:'' 聆听 +11, 潜行 +10, 侦察 +11|
|''专长:'' 警觉, 闪避, 精通先攻, 专攻武器 (挥击)|
|''环境:'' 混乱邪恶位面|
|''组织:'' 单独或成群(2–4)|
|''挑战等级:'' 8|
|''宝物:'' 无|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 10–13 HD (中型); 14–27 HD (大型)|
|''等级调整:'' —|


波达尸是那些在与邪恶力量接触过程中遭到摧毁的人形生物的不死残骸。
波达尸保留着一些有关他过去生活的记忆残片。它们使用通用语(或其他人形生物使用的语言)。

!!!战斗

''死亡凝视 (Su):''死亡, 30英尺范围, 强韧豁免检定DC 15。 受此攻击死亡的人形生物将在24小时后转变为波达尸。该豁免检定的DC依其魅力决定。

''畏惧阳光 (Ex):''波达尸憎恶阳光,它们不洁净的身体哪怕仅仅接触到阳光也会被灼伤。波达尸如果暴露在阳光的直射下每轮将受到1点伤害。

''Boots of Elvenkind(精灵靴):'' 穿上这双软靴后,几乎能在任何环境下安静移动。穿戴者“潜行”检定有+5环境加值。

CL:5。先决条件:“制造奇物”,制造者必须为精灵。交易价格:2500金币。重量:1磅。
''Boots of Levitation(浮空靴): ''穿戴者可以通过指令启动,腾空移动,如同对自己施展“浮空术”。

CL:3。先决条件:“制造奇物”,“浮空术”。交易价格:7500金币。重量:1磅。
''Boots of Speed(速度靴):'' 自由动作启动,启动后使用者带有如同“加速”效果,每天最多十轮,此十轮不须连续。

施法者等级:10。先决条件:“制造奇物”,“加速”。交易价格:12000金币。重量:1磅。
''Boots of Striding and Springing(跑跳靴):'' 穿戴者的基本移动速度+10英尺,“跳跃”检定有+5能力加值,且跳跃距离不受身高限制。

施法者等级:3。先决条件:“制造奇物”,“脚底抹油”、“跳跃术”。交易价格:5500金币。重量:1磅。
''Boots of Teleportation(传送靴):''任何穿戴该靴子的人都可以使用传送术,每天三次。就好象施展法术同名法术一样。

CL 9th; Craft Wondrous Item, teleport; Price 49,000 gp;Weight 3 lb.
''Boots of the Winterlands(北地靴): ''这双靴子有多重功能。首先,穿戴者可用正常速度在雪地上行走,不会留下足迹。其次,可以用半速在最滑溜的冰面上行走,不会滑倒或跌倒(仅限平面,垂直或非常倾斜的冰面不行)。最后还可保暖,如同“忍受元素伤害:寒冷”法术作用。

CL:5。先决条件:“制造奇物”,“忍受元素伤害”、“行动无踪”、“轻灵术”。交易价格:2500金币。重量:1磅。
''Boots, Winged(飞翼靴):'' 看似普通的靴子,但启动后会从脚跟伸出双翼,穿戴者可以飞行,效果如同“飞行术”,但不须保持专注。每天可飞行三次,每次飞行5分钟。

施法者等级:9。先决条件:“制造奇物”,“飞行术”。交易价格:16000金币。重量:1磅。
''Bottle of Air(换气瓶): ''这是带瓶塞的玻璃瓶。在任何没有空气的环境中(如水下或真空状态),它仍能保有空气,并随时充气。人物可以从里面吸取空气以保持呼吸,甚至可供多名人物共用,轮流吸气。从瓶中吸气属于标准动作,吸气后只要能憋住呼吸,人物就可继续行动。

施法者等级:7。先决条件:“制造奇物”,“水下呼吸”。交易价格:7250金币。重量:2磅。
''Bowl of Commanding Water Elementals(水元素之杯): ''由蓝色或绿色宝石(孔雀石、璧琉璃、石青、绿松石、橄榄石或玉石)制成的大杯。直径一英尺、深半英尺,易碎。装满水后说出指令,就可以召唤出大型水元素。说出指令进行召唤属于整轮动作,效果如同“六级召唤怪物术”。一次只能召唤一个水元素,等第一个水元素消失(被解除魔法、遣散或杀害),须换水将杯装满,才能召唤第二个。

如果使用盐水,便可召唤出超大型水元素(效果如同“七级召唤怪物术”)。关于水元素的详细说明请参考《怪物图鉴》。

施法者等级:13。先决条件:“制造奇物”,“六级召唤怪物术”、“七级召唤怪物术”。交易价格:100000金币。重量:3磅。
''Bracelet of Friends(友伴手镯): ''此手镯有四道银饰,穿戴者可指定一位认识的对象和任一道银饰加以连结(指定行为属于标准动作,在改变前会一直维持连结)。如果抓住银饰,并说出对应人物的名字,该人物会连同装备一起被召唤过来(标准动作)。友伴手镯只能对自愿被召唤的人使用。使用之后,银饰即永久消失。因此若于冒险途中得到此物,上面的银饰可能少于四道。

施法者等级:15。先决条件:“制造奇物”,“脱身大法”。交易价格:19000金币。重量:无。
''Bracers of Archery, Greater(高等神射护腕): ''看似普通的保护装备,但穿戴者可擅长所有弓(十字弓除外)。如果穿戴者原本就擅长某种弓,则使用该种弓攻击时有+2能力加值,伤害值有+1能力加值。使用时必须双手都穿戴此护腕。

施法者等级:8。先决条件:“制造奇物”,“制造魔法武器及防具”。交易价格:25000金币。重量:1磅。
''Bracers of Archery, Lesser(次级神射护腕): ''和高等神射护腕类似,除了它只在攻击检定上+1能力加值而且不获得伤害加值。使用时必须双手都穿戴此护腕

CL 4th; Craft Wondrous Item, Craft Magic Arms and Armor,价格5,000 gp;Weight 1 lb.
''Bracers of Armor(防御护腕):'' 外观与一般护腕相同,但具有不可见的力场,穿戴者有+1到+8盔甲加值。使用时必须双手都穿戴此护腕。
施法者等级:7。先决条件:“制造奇物”,“法师护甲”,制造者的职业等级至少须达加值的两倍。交易价格:1000金币(+1),4000金币(+2),9000金币(+3),16000金币(+4),25000金币(+5),36000金币(+6),49000金币(+7),64000金币(+8)。重量:1磅。
!!Bralani(勃拉尼天使)

''中型异界生物 (混乱,跨位面,善良)''

|''生命骰:'' 6d8+18 (45hp)|
|''先攻权:'' +8|
|''速度:'' 40尺 (8格) ,飞行100尺 (完美)|
|''防御等级:'' 20 (+4敏捷,+6天生) ,接触14,措手不及16|
|''基本攻击/ 擒抱:'' +6/ +10|
|''攻击:'' +1神圣弯刀+11近战 (1d6+4/ 18-20) ,或+1神圣复合长弓 (+4力量加值)+11远程 (1d8+5/ *3)|
|''全回合攻击:'' +1神圣弯刀+11/ +6近战 (1d6+4/18-20) ,或+1神圣复合长弓 (+4力量加值)+11/ +6远程|
|''占据/ 触及:'' 5尺/ 5尺|
|''特殊攻击:'' 类法术能力,旋风打击|
|''特性:'' 变化形态,伤害减免10/ 寒铁或邪恶,黑暗视觉60尺,对电及石化免疫,对寒冷及火焰抗力|
|''豁免:'' 强韧+8,反射+9,意志+7|
|''属性:'' 力量18,敏捷18,体质17,智力13,感知14,魅力14|
|''技能:'' 专注+12,交涉+4,逃脱+13,驯养动物+11,躲藏+13,跳跃+10,聆听+13,潜行+13,|
|''专长:'' 警觉,盲斗,精通先攻|
|''区域:'' 混乱善良位面|
|''组织:'' 单独,成双,或成队 (3-5)|
|''挑战等级:'' 6|
|''宝物:'' 无钱币,双倍工艺品,标准物品|
|''阵营:'' 总是混乱中立|
|''进化:'' 7-12HD (中型) ;13-18HD (大型)|
|''等级调整:'' +5|


除了天生形态外,勃拉尼天使还可以变化形态为旋风或者飘着灰尘、雪或沙的微风。

勃拉尼天使会说天界语,炼狱语和龙语,而且她的巧言能力使她可以与绝大多数的生物交流。

!!!战斗
勃拉尼天使喜爱使用弯刀和弓这些类似沙漠游牧民所使用的武器。

在对抗伤害减免时,勃拉尼天使的天生武器以及它所持有的任何武器,都被视为混乱阵营和善良阵营。

''类法术能力:''施法等级6。其豁免DC基于魅力调整值。
随意施展--朦胧术,魅惑人类 (DC13) ,造风术 (DC14) ,镜影术,风墙术;每日2次--闪电束 (DC15) ,治疗重伤 (DC15) 。

''旋风打击 (Su) :''在旋风形态下,勃拉尼天使可以使用一股流动的风来进行攻击,可以在20尺的线形范围内造成3d6的伤害 (对手通过DC16的反射豁免检定则伤害减半) 。其豁免DC基于体质调整值。

''变化形态 (Su) :''勃拉尼天使可以通过一个标准动作在她的类人形态和旋风形态中变化。在类人形态下,她不能飞行也不能使用旋风打击,但是她可以使用她的类法术能力和武器。在旋风形态下,她可以飞行,进行挥击攻击和旋风打击,也可以使用类法术能力。

勃拉尼天使可以保持在一个形态下直到她选择变化成一个新形态。形态的改变不能被解除,即使勃拉尼天使被杀死也不会回复成任何其他形态。但是,真知术可以同时看到这两种形态。

''巧言 (Su) :''勃拉尼天使能和所有有语言的生物交谈,就如同使用巧言术一样 (施法等级14) 。这项能力一直都处于启用状态。
''Brazier of Commanding Fire Elementals(火元素火盆): ''看起来像烧煤炭的火盆。把火点燃并说出指令,便可召唤出大型火元素。说出指令进行召唤属于整轮动作,效果如同“六级召唤怪物术”。一次只能召唤一个火元素,等第一个火元素消失(被解除魔法、遣散或杀害),须重新点火,才能召唤第二个。

如果加入硫磺,召唤出来的就是超大型火元素(效果如同“七级召唤怪物术”)。

施法者等级:13。先决条件:“制造奇物”,“六级召唤怪物术”、“七级召唤怪物术”。交易价格:100000金币。重量:5磅。
!!!破除结界(Break Enchantment)
|防护系|
|''等级:''吟游诗人 4,牧师 5,机运 5,圣武士 4,术士/法师 5|
|''法术成分:''言语,姿势|
|''施法时间:''1分钟|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''至多每等级一个生物,全部必须彼此在30英尺范围内。|
|''持续时间:''立即|
|''豁免:''见正文|
|''法术抗力:''不可|
|这个法术能将受害者从惑控效果、变形、诅咒中解放出来。破除结界甚至可以反转持续时间为立即的效果。对于每项这类效果,你都要做一次施法者等级检定(1d20+施法者等级,最多+15)来对抗DC为11+效果的施法者等级。成功意味着该生物从那法术、诅咒、或效果中解放出来。对于诅咒魔法物品,DC为25。|
|如果法术无法被[[解除魔法|Dispel Magic(解除魔法)]]解除,那么破除结界只能对5级或更低等级的这类法术起作用。|
|如果该效果是由某些永久性魔法物品造成的,那么破除结界并不会移除物品上的诅咒,只是可以将受害者从物品效果中解放出来。|
''号令胸甲:''这件精良的+2胸甲放射出强烈的魔法灵光。一旦被穿上,穿戴者周围产生一股令人感到威严和崇敬的灵光。穿戴者在进行魅力检定,包括驱散和关键属性为魅力的技能检定时获得+2能力价值。穿戴者在领导力上也会获得+2能力加值。使用者周围360英尺内的友军会变得更加勇敢。这套盔甲的效果大部分由其外观,所以当穿戴者躲藏或隐蔽起来时,盔甲不产生效果。

强烈附魔系灵光;CL15;制造魔法武器和防具,群体魅惑怪物(mass charm monster);价格25400金币;制造花费10975金币+850经验值。
''喷吐武器(Breath Weapon,超自然能力):''喷吐武器通常会造成伤害,且通常是基于某种能量的伤害。

这类喷吐武器允许反射豁免,通过则减半(DC等于10+1/2喷吐生物的种族HD+它的体质调整值;具体DC将在该生物说明中给出)。除非另有说明,生物对自身的喷吐武器免疫。某些喷吐武器用强韧或意志豁免来取代反射豁免。

利用喷吐武器的生物实际上是把某些东西从嘴中喷出(而不是用法术或其它魔法效果创造出来)。喷吐武器每天的使用次数是有限的,或者是在两次使用喷吐武器之间有个最小时间间隔。这类生物通常都足够聪明到知道把喷吐武器留到真正需要使用的时候。

*使用喷吐武器通常是标准动作。

*不需要做攻击判定。气息会填满对应的区域。

*在喷吐区域内的生物必须做相应的豁免检定,否则就要承受喷吐造成的全部伤害。在大部分情况下,成功通过豁免检定的人物仍须承受一半伤害或其它减弱了的伤害。

*除非特别指明,喷吐武器属于超自然能力。

*生物免疫它们自己的喷吐武器。

*无法呼吸的生物依然能够使用喷吐武器。
!!! 调制药水(BREW POTION)[制造物品专长]

''先决条件:''施法者等级达3级。

''效果:''你可以制造包含你所知晓法术的药水,法术等级不能超过3级,且必须以一个或多个生物为目标。调制一瓶药水需要一天的时间。调制药水时需要设定施法者等级,此施法者等级必须足以施展该法术,而且不可高于你本身的等级。药水的基本价格 = 所含法术等级 x 施法者 x 50金币。你必须花费相当于药水基本价格1/25的经验值,以及相当于该价格一半的原材料费用,才能制出药水。

制造药水时的选择都如同一般施法一样。喝下药水的生物即为受术者。

除了上述基本价格支出之外,如果药水中的法术带有昂贵的材料成分,或需要消耗经验值,则制造时仍需额外支付这些花费。

''Brilliant Energy(光能):''光能武器的攻击部位是由光构成的,不过这不会改变武器的重量。它发出亮度和火把一样的光(半径20英尺)。光能武器能穿过无生命的物质。盔甲和盾牌加值(包括那件防具的增强价值)在对抗光能武器时无效,因为武器能穿过防具。(敏捷、偏斜、闪避、天生防御加值和其他的加值仍然有效。)光能武器无法伤害不死生物、构装生物和普通物体。只有近战武器、投掷武器和弹药能具有此能力。

强烈变化系灵光;CL16;制造魔法武器和防具,气化形体(gaseous form),不灭明焰(continual flame);价格+4加值。

''Bronze Griffon青铜狮鹫'': 活化后就如同正常狮鹫,听从使用者指挥。每周可使用两次,每次最多6小时,时限到或说出指令就会变回塑像。

施法者等级:11。先决条件:“制造奇物”,“活化物体”。交易价格:10000金币。
''Brooch of Shielding(护盾别针): ''这是银制或金制别针,可用来固定斗篷或披风。此别针能够吸收法术或类法术能力发出的魔法飞弹,一只别针可以吸收101点“魔法飞弹”造成的伤害,超过后别针即熔毁。

施法者等级:1。先决条件:“制造奇物”,“护盾术”。交易价格:1500金币。重量:无。
''Broom of Flying(飞天扫帚):'' 使用者可以翱翔天际,效果如同“飞行术”(良好飞行),每天可以飞行9小时(累计9小时,可以不连续飞行),若以40英的速度飞行可以携带200磅的物品,若以30英尺的速度飞行可以携带400磅的物品。若使用者十分熟悉目的地,此扫帚可以独自飞往。300码之内,只要说出指令便可召回。该扫帚的基本速度是40英尺。

施法者等级:9。先决条件:“制造奇物”,“飞行术”、“魔法恒定术”。交易价格:17000金币。重量:3磅。
!!Bugbear(熊地精)

''中型类人生物(地精)''

|''生命骰:'' 3d8+3(16hp)|
|''先攻:'' +1|
|''速度:'' 30尺(6格)|
|''防御等级:'' 17 (+1 敏捷, +3 天生, +2 皮甲, +1 轻木盾), 接触 11, 搓手不及16|
|''基本攻击/擒抱:'' +2/+4|
|''攻击:'' 钉头锤+5近战(1d8+2)或标枪+3远程(1d6+2)|
|''全力攻击:'' 钉头锤+5近战(1d8+2)或标枪+3远程(1d6+2)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' —|
|''特殊能力:'' 黑暗视觉60尺,嗅觉灵敏|
|''豁免:'' 强韧+2,反射+4,意志+1|
|''属性:'' 力量15,敏捷12,体质13,智力10,感知10,魅力9|
|''技能:'' 攀爬+3,躲藏+4,聆听+4,潜行+6,侦查+4|
|''专长:'' 警觉,专攻武器(钉头锤)|
|''地域:'' 温带山脉|
|''组织:'' 单独,成群(2-4),或一大群(11-20加150非战斗人员,外加2名等级2的士官及1名等级2-5的指挥官)|
|''挑战等级:'' 2|
|''宝物:'' 标准|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 视人物等级而定|
|''等级调整:'' +1|



熊地精能说地精语和通用语

!!!战斗

熊地精会利用任何机会伏击对手。展开狩猎时,他们通常会派遣数名斥侯在主力前展开搜索,一旦发现猎物他们会立即回来报告并指引增援前往攻击。

熊地精攻击时会协同作战,他们的战术虽然不怎高明但很实用。

''技能:''熊地精在进行潜行检定时获得+4种族加值。

!!! 熊地精作为人物
熊地精人物拥有以下种族特征:

*+4力量,+2敏捷,+2体质,-2魅力
*中型体型
*熊地精基本速度为30尺
*黑暗视觉距离60尺
*种族生命骰:熊地精拥有3个级类人生物等级,这使它拥有3d8生命骰,+2基本攻击加值,以及强韧+1,反射+3和意志+1的基本豁免加值。
*种族技能:熊地精的类人生物等级将使它拥有6x(2+智力调整值)的技能点数。它的本职技能为攀爬,躲藏,聆听,潜行,搜索和侦查。
*种族专长:熊地精的类人生物等级将给与它2个专长
*+3天生防御等级
*在潜行技能检定时获得+4 种族加值.
*天生使用语言:通用语,地精语。额外语言:龙语,精灵语,巨人语,豺狼人语,兽人语。
*天赋职业:游荡者。
*等级调整+1 

!!Bulette(鲨蜥兽)

''超大型魔法兽''

|''生命骰:'' 9d10+45(94hp)|
|''先攻:'' +2|
|''速度:'' 40尺(8格),掘穴10尺|
|''防御等级:'' 22(-2体型,+2敏捷,+12天生),接触10,措手不及20|
|''基本攻击/擒抱:'' +9/+25|
|''攻击:'' 撕咬+16近战(2d8+8)|
|''全力攻击:'' 撕咬+16近战(2d8+8)和2爪抓+10近战(2d6+4)|
|''面宽/触及:'' 15尺/10尺|
|''特殊攻击:'' 扑击|
|''特殊能力:'' 黑暗视觉60尺,低光视觉,嗅觉灵敏,颤动感知60尺|
|''豁免:'' 强韧+11,反射+8,意志+6|
|''属性:'' 力量27,敏捷15,体质20,智力2,感知13,魅力6|
|''技能:'' 跳跃+18,聆听+9,侦察+3|
|''技能:'' 警觉,钢铁意志,追踪,专攻武器(撕咬)|
|''地域:'' 任意丘陵|
|''组织:'' 单独或成双|
|''挑战等级:'' 7|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 10–16 HD (超大型),17–27 HD (巨型)|
|''等级调整:'' —|


|正像它的别名陆鲨一样,鲨蜥兽是那种只知道吃的恐怖掠食者。|
!!!战斗
|鲨蜥兽会攻击任何看起来可以吃的东西,它通常会选择最容易到手或离的最近的猎物下手。它唯一不吃的生物是精灵,另外它还讨厌矮人的味道。在地底挖掘时,鲨蜥兽会依靠颤动感知来搜寻猎物。|
|当感觉到可以吃的东西时(比如,对方的移动),它会立即冲出来抢占制高点展开攻击。|
|''扑击(特异):''鲨蜥兽能在战斗中跃到空中。这样一来它就能用对四个爪子攻击而不是两个,此时的攻击加值为+15,但这时不能使用撕咬攻击。|
!!! 冲撞(BULL RUSH)

你可以用一个标准动作来进行冲撞(视为一次攻击动作),或是作为冲锋动作的一部分(参阅下文的“冲锋”)。当你进行冲撞时,你可以尝试将目标向正后方沿直线撞退,而不是对他造成伤害。你只能对体型大你一级、体型和你相同、或是体型比你更小的目标进行冲撞。 

''开始冲撞:''首先,你必须移进防御者所在的位置。这样移动会使任何一个对你形成威胁的敌人得到一次借机攻击的机会,包括防御者本身(如果你有“精通冲撞”专长,就不会引发来自防御者的借机攻击)。在你进行冲撞期间,除防御者以外的任何人对你作出的借机攻击都有25%的几率误中防御者,同样地,除你以外的任何人对防御者作出的借机攻击也有25%的几率打在你身上。(当有人进行这种借机攻击的时候,要先进行攻击检定,然后再投骰决定这次攻击是否打错了目标。)

第二步,你要和防御者进行力量对抗检定。对抗者的体型每比中型大1级,就可以在检定中得到+4的加值,而每比中型小1级,就会在检定中受到-4的减值。冲撞者如果是处于冲锋状态,则可以在力量检定上得到+2的加值。防御者的腿如果超过2只,或是有其它可以稳住身形的依靠,则可以得到+4的加值。

''冲撞结果:''如果你在力量对抗检定中胜过防御者,那么你就可以将他撞退5英尺。如果你要继续撞着他一起移动,那么你的力量检定结果每比防御者大过5点,就可以再多将他撞退5英尺。不过,这种冲撞移动还是无法超过你正常的每轮移动距离。(注意:当防御者被迫移动的时候,会引发借机攻击。如果你随他一起移动的话,你也会引发借机攻击。不过这种情况下你们并不会引发彼此的借机攻击。)

如果你在力量对抗检定中失败了,你就必须沿着刚才你移进防御者所在位置的冲撞路线直线后退5英尺。如果后退时位置已被他人占据,那么你就会倒在那个位置上。
!!!群体牛之力量(Bull’s Strength, Mass)
|变化系|
|''等级:''牧师 6,德鲁伊 6,术士/法师 6|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''每等级一个生物,任意两者之间不得超过30英尺|
|该法术和[[牛之力量|Bull’s Strength(牛之力量)]]相类似,只是可以影响多个生物。|
!!!牛之力量(Bull’s Strength)
|变化系|
|''等级:''牧师 2,德鲁伊 2,圣武士 2,术士/法师 2,力量 2|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的生物|
|''持续时间:''1分钟/每等级|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可(无害)|
|受术者变得更加强壮。法术给受术者力量提供+4增强加值,因此会给近战攻击投骰、近战伤害投骰,以及其它使用到力量修正值的地方带来通常的好处。|
|//奥术材料成分://几根公牛毛发,或一点公牛粪便。|
!!!燃烧之手(Burning Hands)
|塑能系[火]|
|''等级:''火 1, 术士/法师 1|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''15英尺|
|''区域:''锥形爆发|
|''持续时间:''立即|
|''豁免:''反射减半|
|''法术抗力:''可|
|锥形灼热火焰从你的指尖喷出。所有在火焰区域内的生物都要受到每等级1d4的火伤害(最多5d4)。如果火焰接触到可燃材料,它们会烧起来。人物可以以一个整轮动作扑灭燃烧的物品。|
!!!召唤雷暴(Call Lightning Storm)
|塑能系[电]|
|''等级:''德鲁伊5|
|''距离:''远距(400英尺+40英尺每等级)|
|与[[召雷术|Call Lightning(召雷术)]]相同,但每道闪电的伤害变为5d6(风暴区域则为5d10),并且你能召来的闪电的最大数量为15道。|
!!!召雷术(Call Lightning)
|塑能系[电]|
|''等级:''德鲁伊3|
|''法术成分:''言语,姿势|
|''施法时间:''1轮|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''一道或者更多的30英尺长的垂直线状闪电|
|''持续时间:''1分钟/每等级|
|''豁免检''定:反射,通过则效果减半|
|''法术抗力:''可|
|法术施展完的同时,以及其后的每一轮,你都能召来一道5英尺宽30英尺长的垂直闪电,造成3d6点的电击伤害。这道闪电会垂直击落在法术距离内任何你指定的目标点上(距离以你召雷时的所在位置计算)。任何在目标方格内或闪电路径上的生物都将被影响到。|
|施法后你不需要立即召来闪电,你可以进行其他动作,甚至施展其他法术。但是,第一轮之后的每一轮内你都要耗费一个标准动作(保持专注)召雷。你能召来的闪电总数等同于你的施法者等级(最大限度为10道)。|
|如果你正身处室外的风暴区域—阵雨、天空乌云密布、狂风骤雨、高温多云,甚至有龙卷风的时候(包括风巨灵(djinni)或者至少是大体型的风元素制造出的飓风)--这时候你召来的每道闪电伤害是3d10而不是3d6。|
|这道法术可以在室内或者地底起作用,但对水下无效。|
!!!安抚动物(Calm Animals)
|惑控系(胁迫)[影响心灵]|
|''等级:''动物1,德鲁伊1,巡林客1|
|''法术成分:''语言,姿势|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''相距不超过30英尺的动物|
|''持续时间:''1分钟/每等级|
|''豁免检''定:意志,通过则无效(见说明)|
|''法术抗力:''可|
|这个法术能平复动物的情绪,使它们变得温顺而无害。只有普通动物(智力为1或2)会受影响。所有受术动物必须是同一种类,任意两只的间距不能超过30英尺。所影响的生物生命骰数总和为2d4+施法者等级。凶暴动物或者受过攻击或守卫训练的动物可以进行豁免检定,其他则不可进行豁免检定。|
|被影响的动物会站在原地,不会攻击或逃跑。它们并非处于无助状态,在受到攻击时仍会正常防卫。任何威胁都会打破被威胁生物身上的法术。|
!!!安定心神(Calm Emotions)
|惑控系(胁迫)[影响心灵]|
|''等级:''吟游诗人2,牧师2,秩序2|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''范围:''20尺半径范围内的生物|
|''持续时间:''专注,最长1轮/每等级(可解消)|
|''豁免检''定:意志,通过则无效|
|''法术抗力:''可|
|这个法术可以使激动不安的生物冷静下来。你无法控制受术者,但可以让愤怒的生物不再攻击,使兴奋的生物变得稳定。受术者不会作出暴力的举动或攻击行为(自我防卫除外)。对某个被安定心神生物的任何威胁性动作或者它遭受伤害都将会立刻打断所有被安定心神生物身上的法术。|
|这个法术可自动抑制任何由法术带来的士气加值(但非解除),例如[[祝福术|Bless(祝福术)]]、[[强大希望|Good Hope(强大希望)]]和[[狂暴术|Rage(狂暴术)]],同时此法术也中和掉吟游诗人的提振士气能力或野蛮人的狂暴能力。该法术同时会对所有目标抑制其所受的任何恐惧效果,以及去除其[[困惑|Confused(困惑)]]状态。在法术持续时间内,被压抑的法术和类似效果会失效。当安定心神结束之后,只要原来的法术和类似效果没有超过各自的持续时间就会再次影响受术者。|
!!Camel(骆驼 )

''大型动物''

|''生命骰:'' 3d8+6 (19 hp)|
|''先攻权:'' +3|
|''速度:'' 50尺 (10格)|
|''防御等级:'' 13 (-1体型,+3敏捷,+1天生),接触12,措手不及10|
|''基本攻击/擒抱:'' +2/ +10|
|''攻击:'' 啮咬 +0 近战 (1d4+2*)|
|''全回合攻击:'' 啮咬 +0 近战 (1d4+2*)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+5,反射+6,意志+1|
|''属性:'' 力量18,敏捷16,体质14,智力2,感知11,魅力4|
|''技能:'' 聆听+5,侦察+5|
|''专长:'' 警觉,坚忍|
|''环境:'' 温暖的沙漠|
|''组织:'' 被驯养或部落 (6-30)|
|''挑战等级:'' 1|
|''进化:'' -|
|''等级调整:'' -|

骆驼以在没有食物或水的情况下能进行长途旅行的能力而著称。

这里列出的数据以在温暖的沙漠中十分普遍的单峰驼为基准。单峰驼站立时肩高约7尺,连同驼峰的话会再高1尺。

双峰驼比较能适应稍寒冷的岩石区域。它们比较结实,速度比较慢 (40尺),拥有较高的体质值 (16)。

''负重能力:''对骆驼而言300磅为轻载;301-600磅为中载;601-900磅为重载。骆驼可以拖动4500磅重的东西。

!!!战斗
*骆驼的啮咬攻击被视为次要攻击,并且只附加其力量加值的一半在伤害骰上。


''消抹(Cancellation):''这支可怕的权杖是其他魔法物品的克星,它可以吸取物品的魔力。被此权杖触碰的物品必须进行DC=23的意志豁免检定以避免被权杖吸取。如果该物品当时是由生物持有,且该生物的意志豁免更好,则可以使用该生物的意志检定加值。这种情况下,需要进行一次近战接触攻击来达成触碰。吸取一件物品的魔力后,权杖即变得易碎,无法再度使用。被吸取魔力的物品只能用“愿望术”或“奇迹术”回复魔力(如果“毁灭黑洞”和“消抹权杖”互相毁灭,两者都无法被回复)。

施法者等级:15。先决条件:“制造权杖”,“解除魔法”。交易价格:11000金币。
''Candle of Invocation(祈神蜡烛): ''九种阵营各有其对应的“祈神蜡烛”。燃烧蜡烛会产生一团灵光,火焰30英尺范围内,相应阵营者的攻击检定、豁免检定和技能检定有+2士气加值。

阵营相应的牧师,如果于准备法术之前或之间点燃蜡烛,则于决定每日法术数量时,其职业等级可视为比现有等级高两级。当蜡烛燃烧时,牧师甚至可以施展比现有职业等级高两级才能施展的法术。除了下述状况,蜡烛通常可以燃烧四小时。

燃烧蜡烛还可让相应阵营使用者施展“异界之门”,但这会使蜡烛立刻烧尽。烛火可轻易吹熄,因此通常得放在灯笼里面防风,这并不影响其功效。

施法者等级:17。先决条件:“制造奇物”,“异界之门”,制造者必须和制造的蜡烛同一阵营。交易价格:8400金币。重量:0.5磅。
''Candle of Truth(诚实蜡烛):'' 兽脂制成的白色蜡烛,燃烧时半径5英尺范围内有“诚实之域”的效果(意志DC=13)。此蜡烛一般可燃烧一小时。在此之前蜡烛如果熄灭,法术效果就消失,蜡烛也不能再使用。

施法者等级:3。先决条件:“制造奇物”,“诚实之域”。交易价格:2500金币。重量:0.5磅。
''Cape of the Mountebank(郎中披风): ''穿上这顶大红与金色相间的披风,每天可以使用“任意门”法术一次。离开时会留下一缕轻烟,并且从目的地的一团云雾中走出来。

施法者等级:9。先决条件:“制造奇物”,“任意门”。交易价格:10080金币。重量:1磅。
''Carpet of Flying(飞天魔毯): ''这张地毯可以自在飞翔,效果如同没有时间限制的“飞行术”。飞天魔毯有不同大小、载重和速度,如下表所示。每张魔毯都是精工织成,须用不同指令启动。无论使用者是否在魔毯上,只要魔毯在指令声音可及范围,就可以启动。启动后可用口令指挥方向。

|!	大小	 |!	载重	 |!		 |!	速度	 |!		 |!	重量	 |!		 |!	价格	 |
|^	5ft.by 5ft.	 |^	200lb.	 |^		 |^	40ft.	 |^		 |^	8lb.	 |^		 |^	20,000gp	 |
|^	5ft.by 10ft.	 |^	400lb.	 |^		 |^	40ft.	 |^		 |^	15lb.	 |^		 |^	35,000gp	 |
|^	10ft.by 10ft.	 |^	800lb.	 |^		 |^	40ft.	 |^		 |^	10lb.	 |^		 |^	60,000gp	 |

若加倍载重携带物品,则飞行速度变为30英尺。飞毯具有良好的飞行操作性,但它依然可以盘旋飞行。

''法咒盾:''这面+1轻木盾的背面有一条小皮带,施法者可以像抄录卷轴一样在上面抄写一个魔法。在上面抄写魔法只需花费一半的原料。经验值和其他成分的消耗不变。这条皮带上不能抄写3级以上的法术。皮带可重复使用。
随机产生的法咒盾有50%的机率皮带上抄有一个等同于中级卷轴的法术。这个法术可以是神术(01-80)或奥术(81-100)。
使用法咒盾时有5%的奥术失效机率。
中等防护系灵光;CL6,制造魔法武器和防具,抄录卷轴,施法者必须至少是6级;价格3153金币(再加上抄录法术的花费);制造花费1653金币+120经验值。
!!!群体猫之优雅(Cat’s Grace, Mass)
|变化系|
|''等级:''吟游诗人6,德鲁伊6,术士/法师6|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''1个/每施法者等级,任意受术者之间距离不超过30尺|
|该法术功能类似于[[猫之优雅|Cat’s Grace(猫之优雅)]],但可同时影响多个生物。|
!!!猫之优雅(Cat’s Grace)
|变化系|
|''等级:''吟游诗人2,德鲁伊2,巡林客2,术士/法师2|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:''1分钟/每等级|
|''豁免检''定:意志,通过则无效(无害)|
|''法术抗力:''可|
|受术者变得更加优雅灵活,拥有十分良好的平衡性。这个法术让你的敏捷值获得4点增强加值,因此会给防御等级、反射豁免以及其它使用到敏捷修正值的地方带来通常的好处。|
|//材料://一撮猫毛|
!!Cat(猫 )

''超小型动物''

|''生命骰:'' 1/2 d8 (2 hp)|
|''先攻权:'' +2|
|''速度:'' 30尺 (6格)|
|''防御等级:'' 14 (+2体型,+2敏捷),接触14,措手不及12|
|''基本攻击/擒抱:'' +0/ -12|
|''攻击:'' 爪抓 +4 近战 (1d2-4)|
|''全回合攻击:'' 2 爪抓 +4 近战 (1d2-4)及啮咬 -1 近战 (1d3-4)|
|''面宽/触及:'' 2-1/2尺/ 0尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+2,反射+4,意志+1|
|''属性:'' 力量3,敏捷15,体质10,智力2,感知12,魅力7|
|''技能:'' 平衡+10,攀爬+6,躲藏+16*,跳跃+10,聆听+3,潜行+8,侦察+3|
|''专长:'' 隐秘,武器娴熟|
|''环境:'' 温带平原|
|''组织:'' 被驯养或单独|
|''挑战等级:'' 1/ 4|
|''进化:'' -|
|''等级调整:'' -|

这里列出的数据以一般的家猫为基准。

!!!战斗
猫喜欢偷袭猎物。

''技能:''猫在进行攀爬、躲藏及潜行检定时可获得+4的种族加值,在进行跳跃检定时可获得+8的种族加值。猫在进行平衡检定时可获得+8的种族加值。它在进行攀爬及跳跃检定时可使用其敏捷调整值来代替力量调整值。*在长草区或浓密树丛中时,其躲藏检定加值可提升为+8。



!!!惊恐术(Cause Fear)
|死灵系[恐惧,影响心灵]|
|''等级:''吟游诗人1,牧师1,死亡1,术士/法师1|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个HD5或更少的活物|
|''持续时间:''1d4轮或1轮,见说明|
|''豁免检''定:意志,通过则部分有效|
|''法术抗力:''可|
|受术者变为[[惊惧|Frightened(惊惧)]]状态。如果通过意志豁免则[[战栗|Shaken(战栗)]]1轮。HD达到6或更多的生物对此法术免疫。|
|惊恐术可以反制[[移除恐惧|Remove Fear(移除恐惧)]]。|
''天翔甲:''这件闪亮的银色或金色+3链甲十分轻巧,可以被穿在普通的衣服里面而不被发现。它的最大敏捷加值+8,防具检定减值-2,奥术失效几率15%。它属于轻型盔甲,重20磅,并且穿戴者每天可以使用一次飞行术(Fly)。

微弱变化系灵光[善良阵营],CL15;制造魔法武器和防具,制造者必须为善良阵营,飞行术(Fly);价格22400金币;制造花费12550金币+1004经验值。
!! Celestial Creature(天界生物)

天界生物居住于上层位面,善良的领域,尽管在主物质界能找到与它们相类似的生命。它们比它们在俗世对应生物们更加华丽漂亮。

天界生物通常展现出金属般的色彩 (一般为银色,金色或白金色) 。它们可能会被误认为是天界生物与非天界生物交配产生的半天界或者更强的生物。

!!! 创造天界生物

“天界” 是一个通过遗传得到继承的模板,它可以加在任何善良或者中立的实体生物,异怪类,动物类,龙类,精类,巨人类,类人生物类,魔法兽类,人形怪物类,植物类以及虫类生物上 (以上归类在此之后统称“基础生物”) 。

天界生物使用其基础生物所有数据和能力,除了在这里提到的之外。如果生物的种类发生改变,请不要重新计算它的生命骰,基本攻击加值,豁免以及技能点数。

''体型和种类:''带有此模板的动物类和虫类生物变成魔法兽类生物,但是带有此模板的其他生物的种类则不改变。体型不会发生变化。在主物质界所遭遇到的天界生物会获得跨位面亚种。

''特殊攻击:''天界生物保留其基础生物的所有特殊攻击,同时获得以下特殊攻击。

''破邪斩 (Su) :'' 每天一次,天界生物在对抗邪恶对手时,可以在它的普通近战攻击同时制造等同于它HD的额外伤害 (最多+20) 。

''特性:''天界生物保留其基础生物的所有特性,同时获得以下特性。

*黑暗视觉60尺。
*伤害减免 (见下表) 。
*酸,寒冷及电抗力 (见下表) 。
*法术抗力等于HD+5 (最多25) 。

|!生命骰 |!酸,寒,电抗力|!伤害减免|
|^1-3|^ 5 |^-|
|^4-7|^ 5 |^5/魔法|
|^8-11|^ 10 |^5/魔法|
|^12以上|^ 10 |^10/魔法|

如果基础生物已拥有这些特性之一和更多,取较好的数值。

*如果天界生物获得了伤害减免,在对抗伤害减免时它的天生武器将被视为魔法武器。
*属性:与基础生物相同,但是智力最低为3
*区域:任何善良位面
*挑战等级:HD小于或等于3时,与基础生物相同;HD 4-7时,视为基础生物+1;HD等于或大于8时,视为基础生物+2
*阵营:总是善良
*等级调整:视为基础生物+2 
''Censer of Controlling Air Elementals(风元素提炉):'' 这是六英寸宽、一英寸高,打了很多孔的金色容器,看起来像膜拜用的香炉。将提炉填入薰香点燃,说出指令,就可以召唤出大型风元素。说出指令进行召唤属于整轮动作,效果如同“六级召唤怪物术”。一次只能召唤一个风元素,等第一个风元素消失(被解除魔法、遣散或杀害),重新填满薰香并点燃,才能召唤第二个。

如果燃烧的是“冥想薰香”,召唤出来的就是长老级风元素(效果如同“九级召唤怪物术”)。

施法者等级:17。先决条件:“制造奇物”,“六级召唤怪物术”、“九级召唤怪物术”。交易价格:100000金币。重量:1磅。
!!Centaur(人马)

''大型人形怪物''

|''生命骰:'' 4d8+8 (26hp)|
|''先攻权:'' +2|
|''速度:'' 50尺 (10格)|
|''防御等级:'' 14 (-1体型,+2敏捷,+3天生) ,接触11,措手不及12|
|''基本攻击/ 擒抱:'' +4/ +12|
|''攻击:'' 长剑+7近战 (2d6+6/19-20) ,或复合长弓 (+4力量加值)+5远程 (2d6+4/*3)|
|''全回合攻击:'' 长剑+7近战 (2d6+6/19-20) 和2蹄子+3近战 (1d6+2);或者复合长弓 (+4力量加值)+5远程 (2d6+4/*3)|
|''占据/ 触及:'' 10尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 黑暗视觉60尺|
|''豁免:'' 强韧+3,反射+6,意志+5|
|''属性:'' 力量18,敏捷14,体质15,智力8,感知13,魅力11|
|''技能:'' 聆听+3,潜行+4,侦察+3,生存+2|
|''专长:'' 闪避,武器专攻(蹄子)|
|''区域:'' 温暖的森林|
|''组织:'' 单独,成队 (5-8) ,成群 (8-18外加1名等级2-5的指挥官) ,或部落 (20-150外加30%的非战斗人员,此外还有10名等级3的士官,5名等级5的尉官,以及1名等级5-9的指挥官)|
|''挑战等级:'' 3|
|''宝物:'' 标准|
|''阵营:'' 通常是中立善良|
|''进化:'' 视人物等级而定|
|''等级调整:'' +2|


人马像重型马一样大,但是要比重型马高很多而且还要稍微重一些。人马约有7尺高2100磅重。

人马会说木族语和精灵语。

!!!战斗
|人马在使用长枪进行冲锋时会造成双倍伤害,就如同马背上的骑士一样。|

!!! 扮演人马人物
人马德鲁伊通常是部落的领袖兼发言人。人马人物角色获得以下种族特性:

*力量+8,敏捷+4,体质+4,智力-2,感知+2。
*大体型。防御等级上获得-1的减值,攻击检定上获得-1的减值,在躲藏检定上获得-4的减值,在擒抱检定上获得+4的加值,可以携带2倍于中型人物角色负重上限的重量。
*占据/触及:10尺/ 5尺。
*人马的基本陆地速度为50尺。
*黑暗视觉60尺。
*种族生命骰:人马初始拥有4个人形怪物等级,这使它拥有4d8生命骰,+4的基本攻击加值,以及强韧+1、反射+4和意志+4的基本豁免加值。
*种族技能:人马的人形怪物等级将使它拥有等于7x (2+智力调整值) 的技能点数。它的本职技能为聆听,潜行,侦察和生存。
*种族专长:人马的人形怪物等级将使它拥有2个专长。
*+3天生防御加值。
*天生使用语言:木族语,精灵语。额外语言:通用语,侏儒语,半身人语。
*天赋职业:巡林客。
*等级调整+2。 
!!!连环闪电(Chain Lightning)
|塑能系[电]|
|''等级:''气 6,术士/法师 6|
|''法术成分:''言语,姿势,器材|
|''施法时间:''一个标准动作|
|''距离:''远距(400英尺+40英尺/每等级)|
|''目标:''一个主要目标,加上每等级一个次要目标(每个次要目标都必须在距离主要目标30英尺的范围内)|
|''持续时间:''立即|
|''豁免检''定:反射,通过则效果减半|
|''法术抗力:''可|
|此法术在你的指尖上制造出一股放电电流,电流在释放的时候仅仅是单独的一道。与[[闪电束|Lightning Bolt(闪电束)]]不同的是,连环闪电会先击中一个目标或生物,再通过电弧击中其他目标。|
|闪电可对主要目标造成每施法者等级1d6点伤害(最多20d6)。击中后,闪电弧还可击中其他次要目标,次要目标数量等于你施法者等级(最多20个次要目标)。次要目标所受的伤害为主要目标所受伤害的一半(舍去小数)。|
|所有受害者若通过反射检定则只受到一半伤害。你可以自行选定次要目标,但他们与主要目标距离不得超过30英尺,而且同一目标不可被击中超过一次。所选次要目标数可以少于最多次要目标数。|
|//器材://一些毛皮、一块琥珀、玻璃或一柄水晶权杖,再加上数量与你施法者等级相同的银质别针。|
''Chameleon Power(变色龙): ''佩带者可以让自己隐入环境之中,这属于一个即时动作。其“躲藏”检定+10表现加值。佩带者也可以随时启动戒指造成“变颜术”效果,这属于标准动作。

CL 3。先决条件:锻造戒指,“变颜术”,“隐形”。价格 12,700 gp。
''改变外形(Change Shape,超自然能力)'':具有此特性的生物能够将自身的外形变为某种特定的生物或某类生物(通常为类人生物),但保留大部分它自身的身体特性。它不能把自己变为体型比原来形态大或小一级以上的形态。改变外形将会带来如下变化:

*该生物仍属于原有形态所属的种类和亚种。它获得新形态的体型。
*该生物失去原有形态的天生武器、天生防御、移动方式以及特异攻击。
*该生物获得新形态的天生武器、天生防御、移动方式以及特异攻击。
*该生物保留原有形态的所有其他特殊攻击和特性,除了喷吐武器和凝视攻击。
*该生物维持原有形态的属性值。
*该生物维持原有形态的生命值和豁免。
*该生物保留原有形态的所有施法能力,但它必须具有清晰的语言能力来施展需要言语成分的法术,也必须有象人一样的双手来施展需要姿态成分的法术。
*该生物能够非常有效的易容为新形态的生物,当它利用此能力进行易容时在易容检定上将获得+10的加值。

!!!化棍法(Changestaff)
|变化系|
|''等级:''德鲁伊7|
|''法术成分:''言语,姿势,器材|
|''施法时间:''一整轮|
|''距离:''接触|
|''目标:''你接触到的木棍|
|''持续时间:''1小时/每等级(可解消)|
|''豁免检''定:无|
|''法术抗力:''不可|
|你可以将一根预先特别准备好的木棍变成超大型树人样的生物,它高约24英尺。当你把木棍的一端插在地上并说出特别指令来结束该法术的施法时,木棍就会变成一个看起来像战斗起来也像个树人(treant)的生物。木棍树人会保护你并听从你的所有号令。但它不是真的树人,它无法跟真的树人沟通,也无法操控树木。如果木棍树人的生命值降至0点或更少,它将自动粉碎,同时木棍也被摧毁。否则,木棍树人在法术被解消或者法术持续时间结束后会自动恢复原状,并可以当作另外一个该法术的法术器材。无论上次出现或战斗时是否受伤,木棍树人出现时总是具有全部力量。|
|//器材://一根需预先特别处理好的木棍。你得先由白杨、橡木或紫杉上砍下健康的枝干,再矫直打磨雕琢好(过程需耗费28天)。|
|在制作过程中,你不可进行冒险或从事其它耗费心神的活动。|
!!Chaos Beast(混沌兽)

''中型异界生物 (混乱,跨位面)''

|''生命骰:'' 8d8+8(44hp)|
|''先攻权:'' +5|
|''速度:'' 20尺(4格)|
|''防御等级:'' 16(+1敏捷,+5天生),接触11,措手不及15|
|''基本攻击/擒抱:'' +8/+10|
|''攻击:'' 爪抓+10近战(1d3+2外加形体虚化)|
|''全回合攻击:'' 2爪抓+10近战(1d3+2外加形体虚化)|
|''占据/触及:'' 5尺/5尺|
|''特殊攻击:'' 形体虚化|
|''特性:'' 黑暗视觉60尺,对重击及变形免疫,法术抗力15|
|''豁免:'' 强韧+7,反射+7,意志+6|
|''属性:'' 力量14,敏捷13,体质13,智力10,感知10,魅力10|
|''技能:'' 攀爬+13,逃脱+12,躲藏+12,跳跃+9,聆听+11,搜索+11,侦察+11,生存+0 (追随踪迹+2) ,翻滚+14,绳技+1 (捆绑+3)|
|''专长:'' 闪避,精通先攻,灵活移动|
|''区域:'' 混沌海|
|''组织:'' 单独|
|''挑战等级:'' 7|
|''宝物:'' 无|
|''阵营:'' 总是混乱中立|
|''进化:'' 9-12HD(中型);13-24HD(大型)|
|''等级调整:'' -|


这种被称作混沌兽的骇人生物的形体无时无刻不在改变。混沌兽的体积随时都在改变,但是它的重量一直保持在200磅左右。

混沌兽不会说任何语言。

!!!战斗

混沌兽虽然可以变成各种不同的骇人外表,拥有爪子、毒牙、螯钳、触须或者尖刺,但它能造成的物理伤害很有限。无论采用哪种形体,该生物每轮显然无法掌握2次以上的攻击。它的持续变形阻碍了协调系统做出更多的动作。

对抗伤害减免时,混沌兽的爪子以及它所持有的任何武器,都被视为具有混乱阵营。

''形体虚化 (Su) :''被混沌兽的攻击击中的活着的生物会产生可怕的变形。该生物必须通过强韧豁免 (DC15) ,否则将变成海绵状的不定形物体。除非通过意志动作加以控制 (见下文),否则受害者的形状会开始融化、流动、扭曲或者沸腾。该豁免DC基于体质调整值。

受到影响的生物无法携带或使用任何物品。衣服,盔甲,戒指和头盔变得毫无用处。携带或穿戴着的大型物品 -盔甲,背包,甚至衬衫 -都弊大于利,会使得受害者的敏捷减4。变软或者畸形的腿脚会把速度降低到10尺或正常速度的四分之一之中的较低值。极为强烈的刺痛感贯穿整个神经系统,导致受害者无法前后一致的行动。受害者不能施法或者使用魔法物品,而且会盲目地攻击,无法分辨敌友 (无论攻击检定如何,攻击检定获得-4减值以及50%的失手率) 。

受害者处于不定形体的每一轮,都会因心灵受创而损失1点感知值。如果受害者的感知值降到0,它自己也会变成混沌兽。

受害者可以通过一个标准动作来进行一次DC15的魅力检定来恢复原有的形体(该检定DC不因拥有不同生命骰或技能值得混沌兽而发生改变) 。如果成功,它可以恢复原有形体1分钟。如果失败,受害者可以在后续的每一轮中继续这个检定直到成功。

虚化形体既不是疾病也不是诅咒所以它很难被移除。形体变化或者石肤术不会治愈受影响的生物,但是可以在法术持续时间内固定它的形体。复原术,医疗术及高级复原术可以移除这种痛苦(损失的感知值需要一次额外的复原术来回复) 。

''对变形免疫 (Ex) :''没有任何凡人法术能够影响或固定混沌兽的形体。变形或者石化的效果可迫使它变成一种新的形体,但是在混沌兽的下一轮一开始,它就会用一个即时动作立刻回复到形体不断变化的状态。
''Chaos Diamond(混沌之钻): ''这颗闪闪发亮的钻石原石,未经切割,约有拳头大。使用者具有下列能力:

*“胡乱动作”
*“反秩序法阵”
*“混沌真言”
*“混沌护壁”

每一种能力每天可使用1d4次(由DM秘密掷骰决定,每天重掷)。

非混乱阵营人物持有钻石会承受一个负向等级。负向等级不会造成等级永久下降,但只要持有钻石,任何方式(包括“复原术”)都无法移除此负向等级。

施法者等级:19。先决条件:“制造奇物”,“胡乱动作”、“反秩序法阵”、“混沌真言”、“混沌护壁”,制造者必须为混乱阵营。交易价格:160000金币。重量:1磅。
!!!混乱之锤(Chaos Hammer)
|塑能系[混乱]  |
|''等级:''混乱4|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''影响区''域:半径20英尺的爆发范围|
|''持续时间:''立即(1d6轮),见说明|
|''豁免检''定:意志,通过部分有效(见说明)|
|''法术抗力:''可|
|你施放出混乱的力量给予对手沉重的打击,这股能量会伴随爆炸跃出各种色彩朝四处发散。只有守序和中立(非混乱)的生物会被此法术伤害到。|
|施法者每2等级可对守序生物造成1d8(最高5d8)点伤害(对守序异界生物则造成每等级1d6点伤害,最高10d6)并让他们行动迟缓1d6轮(参见[[缓慢术|Slow(缓慢术)]])。若通过意志检定则伤害减半,且不会缓慢。|
|对于不是守序也不是混乱的生物,法术只会造成一半伤害,而且受害者不会变的缓慢。若通过意志检定,则伤害可以再减半,即减为四分之一。|
''混乱(Chaotic)亚种:''此亚种通常只适用于居住在混乱阵营外位面上的异界生物。绝大多数此亚种生物也具有混乱阵营;但如果他们的阵营发生变化,他们仍然维持此亚种不变。在被依赖于阵营的效果影响时,无论本身阵营如何混乱亚种的生物都被视为混乱阵营。它也会同样因为它的自身实际阵营而受到影响。混乱亚种的生物在对抗伤害减免时,它的天生武器和任何持有的武器都视作具有混乱阵营(见下文,伤害减免)。

!!! 冲锋(CHARGE)

冲锋是一种特殊整轮动作,可以允许你最高以两倍的正常速度来移动并在冲锋中作出攻击。但是这种动作对于你的移动方式有严格的限制。

''冲锋时的移动:''你必须在作出攻击之前移动,而不是在攻击之后。你必须向你所指定的目标直线移动至少10英尺(2个方格),而最多可以移动到你正常速度的两倍。

你和目标之间必须有一条畅通无阻的清晰路径,不能有任何东西对你的移动形成阻碍(比如困难地形或是障碍物)。所谓“畅通无阻的清晰路径”是指:第一,你必须能够移动到你正好可以对目标作出攻击的,离你目前位置最近的那个方格。(如果该位置已经被其他人占据,或是被某种东西阻挡,那么你就无法进行冲锋。)第二,从你起点方格内的任意一点到你终点方格内的任意一点之间的任何连线,如果会穿过能够阻挡移动、减缓移动、或是被某个生物(即使是队友)所占据的方格,那么你就无法进行冲锋。(处于无助状态下的生物不会阻碍冲锋动作。)

如果在你的回合开始的时候,你和目标之间不存在视线相连,那么你就无法对该目标进行冲锋。

在你进行冲锋的这一轮中,你不能进行五尺快步。

如果你在自己的回合中只能完成一个标准动作,或是只能完成一个移动动作,那么你还是可以进行冲锋,但是这时你最多只能以正常的速度来移动(而不是以两倍正常速度)。除非是由于受到某种限制,导致你在自己的回合中只能进行标准动作或是只能进行移动动作,否则你无法主动采取这种冲锋方式。

''冲锋时的攻击:''在移动之后,你只能进行一次近战攻击。你的这次攻击检定可以得到+2加值,而你的AC则受到-2减值,AC的减值会一直持续到你下一回合的行动开始之前。

处于冲锋状态下的人物在冲撞时,可以在力量检定上得到+2加值(参阅上文的“冲撞”)。

即使你有能力在一轮中作出一次以上的攻击,比如拥有足够高的基本攻击加值,或是使用多把武器,当你冲锋的时候,也还是只能作出一次攻击。

''长枪(Lances)和冲锋攻击:''乘骑中的人物进行冲锋时,使用长枪攻击可以造成两倍的伤害。

用准备好的武器来对付冲锋:矛、三叉矛,以及其它特定的穿刺武器,如果用准备动作来进行准备(架设)以对付冲锋中的人物时,可以造成两倍的伤害。
许多能力和法术可以使人物和怪物的意识变的模糊,让他们处于敌我不分的状态--或更糟糕的是,诱使他们认为先前的朋友是目前最大的敌人。两类能影响角色和动物的惑控效果是:魅惑(charm)和胁迫(compulsion)。

通过魅惑另一个生物可以使魅惑者能与被魅惑者交上朋友,或为其受害者提出行动建议,但奴役状态并不是完全可靠的,也不是完全无思想的。这种魅惑包括各种各样的魅惑(charm)法术。实质上,被魅惑者仍保有自由意志,但会基于被扭曲的世界观而做出决定。

*被魅惑的生物不能获得任何魔法能力来理解新朋友的语言。

*被魅惑的人物保有原先的阵营,只是他认为魅惑者是一个密友,并且他的建议和指引都是十分重要的。

*仅仅在先前的盟友威胁到他新朋友的情况下被魅惑者才会与老盟友作战。即使这种情况下,只要有任何成功的可能,被魅惑者就会使用他可以采用的最不致命的手段与他们战斗(正如他处于两个真实的朋友之间的战斗时一样)。

*如果被魅惑者的主人要求他去做正常情况下即便是为了密友也不会做的事情时,被魅惑者可以利用魅力检定与主人进行对抗来抗拒主人指示和命令。如果检定成功,他就不会执行这项命令,但仍然处于被魅惑状态。

*被魅惑的人物决不会执行明显属于自杀或自残的指令。

*如果魅惑者命令他的手下做一些受术者会强烈反对的事时,被魅惑者可以尝试做一次新的豁免检定来完全摆脱影响。

*当被魅惑者遭到魅惑者或明显是魅惑者盟友的攻击时,他将自动从魅惑法术或效果中解脱出来。

胁迫则完全不同。胁迫能力无视目标的自由意志或简单的改变目标的思维方式。魅惑使施法者成为目标的朋友,胁迫使目标完全服从于施法者。

不管一个人物是被魅惑还是被胁迫,他都不会主动向主人提供未被问及的信息或策略。

!!!魅惑动物(Charm Animal)
|惑控系(魅惑)[影响心灵]|
|''等级:''德鲁伊1,巡林客1|
|''目标:''一只动物|
|此法术作用类似于[[魅惑人类|Charm Person(魅惑人类)]],不过它影响的是一只动物。|
!!!群体魅惑怪物(Charm Monster, Mass)
|惑控系(魅惑)[影响心灵]|
|''等级:''吟游诗人6,术士/法师8|
|''法术成分:''言语|
|''目标:''所有任意两个间距不超过30尺的一个或者更多的活物。|
|''持续时间:''1天/每等级|
|此法术作用类似于[[魅惑怪物|Charm Monster(魅惑怪物)]]
。不过你可以魅惑生命骰数总和不超过2倍于你等级的怪物,或者一个不限生命骰数的怪物。如果出现的怪物数目超过你能魅惑的范围,你可以逐个选择直到超过你所能魅惑的生命骰数上限。|
!!!魅惑怪物(Charm Monster)
|惑控系(魅惑)[影响心灵]|
|''等级:''吟游诗人3,术士/法师4|
|''''|
|''''|
|''''|
|''目标:''一个活物|
|''持续时间:''1天/每等级|
|''''|
|''''|
|此法术作用类似于[[魅惑人类|Charm Person(魅惑人类)]]
,只是生物类型和体型不限。|
!!!魅惑人类(Charm Person)
|惑控系(魅惑)[影响心灵]|
|''等级:''吟游诗人1,术士/法师1|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个类人生物|
|''持续时间:''1小时/每等级|
|''豁免检''定:意志,通过则无效|
|''法术抗力:''可|
|可使一个类人生物认为你是值得他信赖的朋友和同盟(目标的态度视作友善(friendly))。然而若该生物正被你或你的盟友攻击或威胁,则它的豁免检定有+5加值。|
|此法术不会使你像控制机器人那样控制受术者,但对方会认为你的言行是有利于他的并有带有善意。你可以试着对它下命令,但需通过魅力对抗检定,才能使它做它本来不会去做的事。(不能重试)受术者永远不会听从自杀或明显对它不利的命令,但他有可能会认为有些非常危险的事情是值得做的。你或你明显的盟友所作的任何威胁性动作都会打破该法术。你必须以受术者听得懂的语言与他沟通,否则你得擅长肢体语言。|
''受阻(Checked):''被一股力量阻止前进,例如风。在地上受阻仅仅是裹足不前。受阻的飞行生物会退后一段距离,这段距离在对应效果的描述中给出。

 

!!Cheetah(猎豹 )

''中型动物''

|''生命骰:'' 3d8+6 (19 hp)|
|''先攻权:'' +4|
|''速度:'' 50尺 (10格)|
|''防御等级:'' 15 (+4敏捷,+1天生),接触14,措手不及11|
|''基本攻击/擒抱:'' +2/ +5|
|''攻击:'' 啮咬 +6 近战 (1d6+3)|
|''全回合攻击:'' 啮咬 +6 近战 (1d6+3)及2 爪抓 +1 近战 (1d2+1)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 绊摔|
|''特性:'' 昏暗视觉,灵敏嗅觉,疾冲|
|''豁免:'' 强韧+5,反射+7,意志+2|
|''属性:'' 力量16,敏捷19,体质15,智力2,感知12,魅力6|
|''技能:'' 躲藏+6,聆听+4,潜行+6,侦察+4|
|''专长:'' 警觉,武器娴熟|
|''环境:'' 温带平原|
|''组织:'' 单独,成对,或家族 (3-5)|
|''挑战等级:'' 2|
|''进化:'' 4-5HD (中型)|
|''等级调整:'' -|

猎豹是草原上迅捷狡猾的猎食者。猎豹有3到5尺长,110到130磅重。

!!!战斗
猎豹会突然疾冲向猎物并将其击倒。

''绊摔 (Ex):''猎豹一旦通过其爪抓或啮咬攻击击中对手就可通过一个即时动作对对手尝试展开拌摔 (+3检定调整值),该动作不会引发借机攻击。即使尝试失败,对手也不能反过来拌摔猎豹。

''疾冲 (Ex):''每小时1次,猎豹可以在冲锋时以10倍于其基本陆地速度的速度移动 (500尺)。
!!!冻寒金属(Chill Metal)
|变化系[寒冷]|
|''等级:''德鲁伊2|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''每2等级1个生物身上的金属装备,所有被选定的生物任意两个间距都不能超过30英尺;或者25磅金属/每等级,这 |
|''持续时间:''7轮|
|''豁免检''定:意志,通过则无效(物体)|
|''法术抗力:''可(物体)|
|这道法术让金属变得寒冷异常,没有被拿着的非魔法金属不能进行豁免检定。魔法金属可以进行豁免检定。一件被生物所拥有的物品使用物品持有者的豁免加值进行检定,除非物品的自身的豁免加值较高。|
|如果生物的装备被冻寒了,那么它将受到寒冷伤害。如果受影响的是盔甲,或者是正在被持有、接触、穿着、携带的金属(重量为该生物体重的1/5),那么生物会受到全部伤害。如果生物没有穿着金属盔甲,而且它携带的金属重量比自身体重1/5还要少,那么它将受到最低伤害(1或2点;见表格)。|
|在法术生效的第一轮,金属物品开始变得寒冷而令人不适,但并不会对持有者造成伤害。同样的状况也出现在法术结束前的一轮。在第二轮(也包括倒数第二轮),冰冷会造成伤害而让人痛苦,在第三、第四、第五轮的时候,金属的冰冻会造成更大的伤害,参见下表。|

|!轮|!金属温度|!伤害|
|1	|寒冷|	无|
|2	|冰冷	|1d4点|
|3-5	|冰冻|	2d4点|
|6	|冰冷|	1d4点|
|7	|寒冷	|无|

|任何能够烫伤生物的灼热伤害可以抵消寒冷伤害,反之亦然,两种伤害可以1点对1点等量抵消。在水下冻寒金属不能造成伤害,但是冰层会立即覆盖在受影响的金属上,让它产生浮力。|

|冻寒金属可以反制或解除[[灼热金属|Heat Metal(灼热金属)]]。|
!!!寒冷之触(Chill Touch)
|死灵系|
|''等级:''术士/法师1|
|''法术成分:''言语、姿势|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''1个接触到的生物/每等级|
|''持续时间:''立即|
|''豁免检''定:强韧通过则部分有效,或意志通过则无效;见说明|
|''法术抗力:''可|
|你的一只手散发出幽蓝的能量,它的触摸会摧毁活物的生命力。每一下接触会造成1d6点的负能量伤害。如果未能通过强韧检定则额外造成1点力量属性伤害。该法术使用近战接触攻击,能攻击次数等同施法者等级。|
|被你接触到的不死生物不会受到任何一种伤害,但它需要进行意志豁免检定,失败则四散逃走持续1d4轮,额外加上每施法者等级1轮,并使他们处于[[恐慌|Panicked(恐慌)]]状态。|
''Chime of Interruption(噪音钟琴): ''每十分钟可敲击一次,回音会持续三分钟。在这三分钟内,除非通过“专注”检定(DC=15+法术等级),否则距此琴30英尺内的施法者无法施展需要言语成分的法术。

施法者等级:7。先决条件:“制造奇物”,“咆哮术”。交易价格:16800金币。重量:1磅。
''Chime of Opening(开门钟琴): ''这是一根约一英尺长的中空秘银管,敲击时会发出一股魔法震动,可以打开锁、盖、门或活门,以及一般门把、勾环、链条、门闩等。对于职业等级未超过15级的法师所施展之“封门术”或“秘法锁”也有效。

钟琴必须对准欲打开的物品或门,使用者必须看到并确认目标物。敲击钟琴之后一轮,目标物就会解开,勾环松脱、秘门打开、木箱开启。每一次琴音只能打开一层锁,所以如果一个木箱被链住,又上了扣锁、钥匙锁和“秘法锁”,就必须使用四次才能全部打开。“沈默术”可以抵销钟琴的功用。全新的“开门钟琴”可以使用10次,然后就会碎裂。

施法者等级:11。先决条件:“制造奇物”,“敲击术”。交易价格:3000金币。重量:1磅。
!!Chimera(奇美拉)

''大型魔法兽''

|''生命骰:'' 9d10+27 (76hp)|
|''先攻权:'' +1|
|''速度:'' 30尺 (6格) ,飞行50尺 (不良)|
|''防御等级:'' 19 (-1体型,+1敏捷,+9天生) ,触摸10,措手不及18|
|''基本攻击/ 擒抱:'' +9/+17|
|''攻击:'' 啮咬+12近战 (2d6+4)|
|''全回合攻击:'' 啮咬+12近战 (2d6+4) ,啮咬+12近战 (1d8+4) ,抵撞+12近战(1d8+4)以及2爪抓+10近战(1d6+2)|
|''占据/ 触及:'' 10尺/5尺|
|''特殊攻击:'' 喷吐武器|
|''特性:'' 黑暗视觉60尺,昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+9,反射+7,意志+6|
|''属性:'' 力量19,敏捷13,体质17,智力4,感知13,魅力10|
|''技能:'' 躲藏+1,聆听+9,侦察+9|
|''专长:'' 警觉,盘旋,钢铁意志,多重攻击|
|''区域:'' 温暖的山区|
|''组织:'' 单独,成群 (3-5) 或成群飞行 (6-13)|
|''挑战等级:'' 7|
|''宝物:'' 标准|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 10-13HD (大型) ;14-27HD (超大型)|
|''等级调整:'' +2 (伙伴)|


奇美拉肩高约5尺,身长越10尺,重约4000磅。奇美拉的龙头可能是黑色、蓝色、绿色、红色或者白色。

奇美拉会说龙语,但除了奉承比它们更强大的生物之外,它们根本懒得说。

!!! 战斗
奇美拉喜欢突袭猎物。它会经常从空中俯冲下来或者隐藏不动直到开始冲刺。它的龙头可以使用喷吐武器攻击来代替啮咬。数只奇美拉会协同作战。

''喷吐武器 (Su) :''奇美拉的喷吐武器如下面表格所述取决于它的龙头的颜色。无论它是哪种类型,奇美拉的喷吐武器可以每1d4轮使用一次,能造成3d8点伤害,对手通过DC17的反射豁免检定则伤害减半。该豁免DC基于体质调整值。

要随机决定奇美拉头的颜色和喷吐武器时,请掷1d10并参考下表。

|!1d10|! 头的颜色 |!喷吐武器 |
|1-2|  黑色  |40尺线形强酸|
|3-4|  蓝色   |40尺线形闪电|
|5-6|  绿色   |20尺锥形毒气(酸)|
|7-8|  红色  |20尺锥形火焰|
|9-10|  白色   |20尺锥形寒冷|


|''技能:''奇美拉的三个头在进行侦察和聆听检定时获得+2的种族加值。|
|*在灌木丛林地带的奇美拉造进行躲藏检定时获得+4的种族加值。|

''负重:''对奇美拉来说,轻载为0 - 348磅,中载为349 - 699磅,重载为700 - 1050磅。
!!Choker(锁喉怪)

''小型异怪''

|''生命骰:'' 3d8+3(16hp)|
|''先攻权:'' +6|
|''速度:'' 20英尺(4格),攀爬10英尺|
|''防御等级(AC):'' 17(+1体型,+2敏捷,+4天生),接触13,措手不及15|
|''基本攻击/擒抱:'' +2/+5|
|''攻击:'' 触手+6近战(1d3+3)|
|''全回合攻击:'' 2触手+6近战(1d3+3)|
|''面宽/触及:'' 5英尺/10英尺|
|''特殊攻击:'' 精通攫抓,紧勒1d3+3|
|''特性:'' 黑暗视觉60英尺,加速|
|''豁免:'' 强韧+2,反射+5,意志+4|
|''属性:'' 力量16,敏捷14,体质13,智力4,感知13,魅力7|
|''技能:'' 攀爬+13,躲藏+10,潜行+6|
|''专长:'' 精通先攻,闪电反射,隐秘|
|''环境:'' 地底|
|''组织:'' 单独|
|''挑战等级:'' 2|
|''宝物:'' 1/10钱币;50%宝物;50%物品|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 4-6HD(小型);7-12HD(中型)|
|''等级调整:'' -|

这些邪恶的小型掠食者潜伏在地底,抓住任何碰巧从眼前经过的猎物。它的手脚长有带刺的肉垫,使其几乎能够抓住任何表面。它的体重约有35磅。

锁喉怪说地底通用语。

!!! 战斗
锁喉怪喜欢躲在天花板(通常是在房梁交接处)、拱门、水井或坏死楼梯间附近,由上而下攻击它的猎物。锁喉怪几乎能够攻击任何体型的生物,但它比较喜欢攻击相似体型或更大一级的落单猎物。若是在极为饥饿的情况下,它可能攻击一群生物,但会等着抓取排在队伍最后的那个。

''紧勒(特异):''锁喉怪在对付大型或更小的生物时,一旦通过擒抱检定,就可造成1d3+3的伤害。由于它抓住了受害者的脖子,因此被锁喉怪抓住的生物既无法说话,也不能施展含有言语成分的法术。

''精通攫抓(特异):''要使用此能力,锁喉怪必须先用它的触手攻击命中一个体型为大型或更小的生物。之后它可以一个即时动作尝试擒抱而不会引发借机攻击。如果通过擒抱检定,它可以进行定身并可以紧勒。

''加速(超自然):''虽然并非特别敏捷,锁喉怪的动作异乎寻常的快速。它在每轮都可以进行一个额外的标准或是移动动作。

''技能:''锁喉怪在攀爬检定上有+8种族加值并总是可以选择取10,即使是在匆忙或是被威胁的情况下。
!!Chuul(甲伏怪)

''大型异怪(水生)''

|''生命骰:'' 11d8+44(93hp)|
|''先攻权:'' +7|
|''速度:'' 30英尺(6格),游泳20英尺|
|''防御等级:'' 22(-1体型,+3敏捷,+10天生),接触12,措手不及19|
|''基本攻击/擒抱:'' +8/+17|
|''攻击:'' 爪抓+12近战(2d6+5)|
|''全回合攻击:'' 2爪抓+12近战(2d6+5)|
|''面宽/触及:'' 10英尺/5英尺|
|''特殊攻击:'' 紧勒3d6+5,精通攫抓,麻痹触须|
|''特性:'' 两栖,黑暗视觉60英尺,毒素免疫|
|''豁免:'' 强韧+7,反射+6,意志+9|
|''属性:'' 力量20,敏捷16,体质18,智力10,感知14,魅力5|
|''技能:'' 躲藏+13,聆听+11,侦察+11,游泳+13|
|''专长:'' 警觉,盲斗,战斗反射,精通先攻|
|''环境:'' 温带沼泽|
|''组织:'' 单独,成对,或成群(3-5)|
|''挑战等级:'' 7|
|''宝物:'' 1/10钱币;50%宝物;标准物品|
|''阵营:'' 通常混乱邪恶|
|''进化:'' 12-16HD(大型);17-33HD(超大型)|
|''等级调整:'' -|


甲伏怪是甲壳纲动物、昆虫与蟒蛇的混合体,这种令人讨厌的家伙经常潜伏在水中(或部分在水中),等待智慧生物自投罗网。尽管属于两栖生物,甲伏怪的并不善于游泳,因此偏好从陆地上或是很浅的水里发动攻击。甲伏怪大约有8英尺长,体重可达650磅。
甲伏怪说通用语(生活在地底的则说地底通用语,)

!!! 战斗
甲伏怪喜欢待在岸边,潜伏在阴暗的水里,当它听到附近有猎物经过时(进入或离开水里)再用突袭来攻击对方。甲伏怪会用爪子擒抱并且紧勒一名敌人,再将其送到麻痹触须可触及的位置。甲伏怪会尽量让一只爪子空着,因此当它面对一大群敌人时,会先把麻痹或死掉的受害者丢在一边,继续用爪子擒抱、紧勒并麻痹其它对手。

''紧勒(特异):''一旦通过擒抱检定,甲伏怪将造成3d6+5点伤害。

''精通攫抓(特异):''要使用此能力,甲伏怪必须先用它的爪抓攻击命中对手。之后它可以一个即时动作尝试擒抱而不会引发借机攻击。如果通过擒抱检定,它可以进行定身并可以紧勒,或者在下一轮将对手拉到触须可触及的位置上。

''麻痹触须(特异):''甲伏怪可用一个移动动作将被爪子擒抱住的受害者送至它的触须处。这些触须的擒抱力量与爪子相同,但不造成伤害,而是分泌出一种麻痹性物质。被定身在触须上的的对手在每个甲伏怪行动轮都必须通过一次强韧检定(DC=19)否则会麻痹6轮。该豁免DC基于体质。在被定身其间,无论麻痹与否,受害者每轮会自动受到该生物的上颚所造成的1d8+2点伤害。

''两栖(特异):''尽管甲伏怪是水生,它们在陆地上也可生存。

''技能:''甲伏怪在游泳检定上有+8种族加值并总是可以取10 ,即使是在匆忙或是被威胁的情况下。在沿直线游泳时,甲伏怪可以使用奔跑动作。 
!!!死亡法阵(Circle of Death)
|死灵系[死亡]|
|''等级:''术士/法师6|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''范围:''受术中心点半径40尺爆发范围内的活物。|
|''持续时间:''立即|
|''豁免检''定:强韧,通过则无效|
|''法术抗力:''可|
|死亡法阵让活物的生命之火燃尽,从而瞬间杀死它们。|
|这个法术杀死生命骰数总和为每施法者等级1d4的生物(最大20d4)。生命骰数最小的将首先被影响,生命骰数相同时,由最靠近法术爆发中心点的生物开始影响。生命骰数等于或者大于9的生物不会受到法术波及。多余出来不足以影响生物的生命骰数将被浪费。|
|//材料://一颗价值不少于500金币的黑珍珠所磨制成的粉末。|
''Circlet of Blasting, Major(高等爆裂头饰): ''这只精巧的金色头饰启动后会射出“灼热光辉”(5D8的最大伤害值40点伤害),每天可使用一次。

CL:17。先决条件:“制造奇物”,“法术极效”,“灼热光辉”。交易价格:23760金币。
''Circlet of Blasting, Minor(次级爆裂头饰): ''这只金色头饰启动后会射出“灼热光辉”(造成3d8点伤害),每天可使用一次。

施法者等级:6。先决条件:“制造奇物”,“灼热光辉”。交易价格:6480金币。
''Circlet of Persuasion(劝诱头饰): ''此银色头饰使穿戴者的魅力检定,以及所有关键属性为魅力的技能检定有+3能力加值。

施法者等级:5。先决条件:“制造奇物”,“魅惑人类”。交易价格:4500金币。
!!!锐耳术/鹰眼术(Clairaudience/Clairvoyance)
|预言系(探知)|
|''等级:''吟游诗人3,知识3,术士/法师3|
|''法术成分:''言语、姿势、器材/法器|
|''施法时间:''10分钟|
|''距离:''远距(400英尺+40英尺/每等级)|
|''效果:''魔法感应场|
|''''|
|''豁免检''定:无|
|''法术抗力:''不可|
|此法术在特定地点制造一个隐形的魔法传感器,让你如感同身受般听或看(由你选择)。你和那个地点间不需要视觉线或者效果线,但是这个地方必须是你有了解的,或者是你所熟知的,或者是很明确的地点。一旦你决定了感应器的位置,它便不能转移到它处,不过你可以让它旋转到任何方向去探知你所渴望的事物。和其他探知法术不同的是,此法术不能再附加任何增强探知力的法术或超自然能力。如果选定的场所处在魔法黑暗中,你不能看到任何东西。如果是自然黑暗,你能看见以法术作用点为中心半径十英尺的事物。该法术只能探知你所在位面的事物。|
|//奥术器材://一个小号角(听)或者一个玻璃假眼(看)。|
!!! 顺势斩(CLEAVE)[一般专长]

''先决条件:''力量13,猛力攻击。

''效果:''如果你对某个目标造成足以使之倒下的伤害(如:将对手的生命值打到0以下,或杀死对方),你可以立即对攻击范围内的另一目标发动一次额外的近战攻击。在进行这次额外攻击前,你不可做五尺快步。这次攻击所用的武器和加值,皆与前一次攻击相同。本专长每轮只能使用一次。

''特殊:''战士可以选本专长作为其战士奖励专长。

!!!金刚拳(Clenched Fist) 
|塑能系[力场]|
|''等级:''术士/法师8,力量8|
|''法术成分:''言语,姿势,器材/法器|
|该法术类似[[护身掌|Interposing Hand(护身掌)]],但它会用自己来给你提供防护,推开或击打你所选定的目标。这个漂浮的魔手会以每轮60英尺的速度移动并在同一轮中进行攻击。因为魔手是由你控制,所以它发现隐身和隐蔽的能力与你相同。|
|魔手每轮可以攻击一次,它的攻击加值为你的施法者等级加上你的智力调整值(法师)、魅力调整值(术士)或感知调整值(牧师),再加上魔手本身的力量调整值+11(魔手力量33),再因为是大体型而-1。魔手每次攻击造成1d8+11点伤害,任何被击中的目标必须通过一次强韧检定(对抗该法术豁免检定DC)否则将被震慑1轮。命令魔手去选择一个新的目标是一个移动动作。|
|金刚拳可以如同护身掌一样将自己插入到适当的位置,也可以尝试像[[飞击掌|Forceful Hand(飞击掌)]]一样冲撞对手,但它的力量检定加值为+15。|
|施放这个法术的牧师以他们的神祗来命名此法术。|
|//奥术器材://一只皮制手套。|
''阵营:''牧师的阵营和他所信仰的神之间至多有一阶的差距(即至多在守序-混乱方向或者善良-邪恶方向有一阶差别,不能两个方向同时有)。除非神的阵营是中立,否则牧师的阵营不能为中立。

''生命骰:''d8

 
!!!! 本职技能
牧师的本职技能(和各技能的关键属性)为:专注(体质),手艺(智力),交涉(魅力),医疗(感知),知识(神秘)(智力),知识(历史)(智力),知识(宗教)(智力),知识(位面)(智力),专业(感知),辨识法术(智力)。

''领域与本职技能:''选择动物或植物领域的牧师可以加上知识(自然)作为他的本职技能。选择知识领域的牧师可以加上所有的知识(智力)技能作为他的本职技能。选择旅行域的牧师可以加上生存(感知)作为他的本职技能。选择诡术领域的牧师可以获得唬骗(魅力),易容(魅力),躲藏(敏捷)为本职技能。参见之后的神祗、领域和领域法术。

''1级人物起始技能点:''(2+智力修正)x4

''升级技能点数:''2+智力修正。

 

 
''表:牧师''

|!		|!		|!		|!		|!		|!		|!	-------- 每日法术^^1^^ --------	|<|<|<|<|<|<|<|<|<|
|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!	特殊	|!	0级	|!	1级	|!	2级	|!	3级	|!	4级	|!	5级	|!	6级	|!	7级	|!	8级	|!	9级	|
|^	1 	|^	+0	|^	+2	|^	+0	|^	+2	|^	驱散或斥喝不死生物	|^	3	|^	1+1	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	2	|^	+1	|^	+3	|^	+0	|^	+3	|^		|^	4	|^	2+1	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	3	|^	+2	|^	+3	|^	+1	|^	+3	|^		|^	4	|^	2+1	|^	1+1	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	4	|^	+3	|^	+4	|^	+1	|^	+4	|^		|^	5	|^	3+1	|^	2+1	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	5	|^	+3	|^	+4	|^	+1	|^	+4	|^		|^	5	|^	3+1	|^	2+1	|^	1+1	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	6	|^	+4	|^	+5	|^	+2	|^	+5	|^		|^	5	|^	3+1	|^	3+1	|^	2+1	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	7	|^	+5	|^	+5	|^	+2	|^	+5	|^		|^	6	|^	4+1	|^	3+1	|^	2+1	|^	1+1	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	8	|^	+6/+1	|^	+6	|^	+2	|^	+6	|^		|^	6	|^	4+1	|^	3+1	|^	3+1	|^	2+1	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	9	|^	+6/+1	|^	+6	|^	+3	|^	+6	|^		|^	6	|^	4+1	|^	4+1	|^	3+1	|^	2+1	|^	1+1	|^	-	|^	-	|^	-	|^	-	|
|^	10	|^	+7/+2	|^	+7	|^	+3	|^	+7	|^		|^	6	|^	4+1	|^	4+1	|^	3+1	|^	3+1	|^	2+1	|^	-	|^	-	|^	-	|^	-	|
|^	11	|^	+8/+3	|^	+7	|^	+3	|^	+7	|^		|^	6	|^	5+1	|^	4+1	|^	4+1	|^	3+1	|^	2+1	|^	1+1	|^	-	|^	-	|^	-	|
|^	12	|^	+9/+4	|^	+8	|^	+4	|^	+8	|^		|^	6	|^	5+1	|^	4+1	|^	4+1	|^	3+1	|^	3+1	|^	2+1	|^	-	|^	-	|^	-	|
|^	13	|^	+9/+4	|^	+8	|^	+4	|^	+8	|^		|^	6	|^	5+1	|^	5+1	|^	4+1	|^	4+1	|^	3+1	|^	2+1	|^	1+1	|^	-	|^	-	|
|^	14	|^	+10/+5	|^	+9	|^	+4	|^	+9	|^		|^	6	|^	5+1	|^	5+1	|^	4+1	|^	4+1	|^	3+1	|^	3+1	|^	2+1	|^	-	|^	-	|
|^	15	|^	+11/+6/+1	|^	+9	|^	+5	|^	+9	|^		|^	6	|^	5+1	|^	5+1	|^	5+1	|^	4+1	|^	4+1	|^	3+1	|^	2+1	|^	1+1	|^	-	|
|^	16	|^	+12/+7/+2	|^	+10	|^	+5	|^	+10	|^		|^	6	|^	5+1	|^	5+1	|^	5+1	|^	4+1	|^	4+1	|^	3+1	|^	3+1	|^	2+1	|^	-	|
|^	17	|^	+12/+7/+2	|^	+10	|^	+5	|^	+10	|^		|^	6	|^	5+1	|^	5+1	|^	5+1	|^	5+1	|^	4+1	|^	4+1	|^	3+1	|^	2+1	|^	1+1	|
|^	18	|^	+13/+8/+3	|^	+11	|^	+6	|^	+11	|^		|^	6	|^	5+1	|^	5+1	|^	5+1	|^	5+1	|^	4+1	|^	4+1	|^	3+1	|^	3+1	|^	2+1	|
|^	19	|^	+14/+9/+4	|^	+11	|^	+6	|^	+11	|^		|^	6	|^	5+1	|^	5+1	|^	5+1	|^	5+1	|^	5+1	|^	4+1	|^	4+1	|^	3+1	|^	3+1	|
|^	20	|^	+15/+10/+5	|^	+12	|^	+6	|^	+12	|^		|^	6	|^	5+1	|^	5+1	|^	5+1	|^	5+1	|^	5+1	|^	4+1	|^	4+1	|^	4+1	|^	4+1	|

1 除了这里标明的从1级到9级的每日法术,牧师在每一个法术等级上都可以获得一个领域法术,领域法术从一级开始。 表里的“+1”指的就是领域法术。领域法术是任何其他奖励法术(例如因为高感知而获得)之外的奖励。
 


 
!!!! 职业特性
以下是牧师的职业特性。

''武器和防具擅长:''牧师擅长使用所有的简单武器,所有类型盔甲(轻,中,重),还擅长使用盾牌(除了塔盾)。

选择战争域的牧师同时获得他神祗喜好武器的武器专注专长作为奖励专长。如果该武器为军用武器,那么他还可以获得军用武器擅长专长作为奖励专长。

''灵光(Aura,特异能力):''混乱,邪恶,善良或者守序神祗的牧师有一种特别强烈的灵光,灵光和神祗的阵营相对应(详见侦测邪恶法术)。没有特定神祗信仰但是选择混乱、邪恶、善良或守序领域的牧师同样有这种对应阵营的灵光。

''法术:''牧师施展牧师法术列表上的神术。但是,他的阵营会限制他施展那些有违自身道德观念的法术,见之后的混乱、邪恶、善良、以及守序法术。牧师必须提前选择和准备他的法术(见后)。

要准备或施展某法术,牧师的感知值必须至少达到10+该法术等级。对抗牧师法术的豁免检定难度等级为10+法术等级+牧师感知修正。

和其他施法者一样,牧师每天在每个法术等级上只能施展有限数量的法术。他的基本法术分配方案在表:牧师内给出。另外,他可以因为高感知来获得每日奖励法术。从第一级法术等级开始,牧师还可以在每个他可以施法的法术等级上获得一个领域法术。当牧师在领域法术位内准备法术时,法术必须属于他所选择的两个领域之一(见之后的神祗、领域和领域法术)。

牧师通过冥想或祈祷准备法术。每个牧师每天内都必须花费一个小时来安静的思考或者感恩从而获得他的每日法术。休息时间和牧师是否能准备法术无关。牧师可以准备和施展任何牧师法术列表上的法术,只要他达到了施法要求,但是必须在每日冥想中选择法术进行准备。

''神祗(Deity)、领域(Domains)和领域法术(Domain Spells):''牧师的神祗影响到本人的阵营、他能施展的法术、他的价值观,以及其他人怎么看待他。牧师可以从他神祗的领域中选择两个领域。只有他的阵营和阵营领域(混乱、邪恶、善良,以及守序)相符时,他才能选择对应阵营领域。

如果牧师没有特定信仰神祗,他依然可以选择两个领域来代表他的精神倾向和能力。阵营领域方面的限制依然存在。

从一级法术等级起,每个领域都为牧师在他所能施展的法术等级上提供一个法术,与此类似的还有神授能力。牧师可以同时得到两个所选领域的神授能力。

在某法术位上选择领域法术时,牧师每天可以挑选其一用他的领域法术位准备法术。如果一个领域法术不在牧师法术列表内,那么牧师只能使用他的领域法术位来准备此法术。

''自发施法(Spontaneous Casting):''善良牧师(或者善良神祗的中立牧师)可以将储存的法术能量转化为之前未准备的治疗法术。牧师可以“放弃”任何准备好的法术(除了领域法术)来施展同级或较低等级的治疗法术(治疗法术指的是那些名字中有治疗(cure)的法术)。

邪恶牧师(或者邪恶神祗的中立牧师)无法把准备的法术转化为治疗类法术,但是可以将它们转化为造成伤害法术(造成伤害法术指的是那些名字中有造成伤害(inflict)的法术)。

既非善良也非邪恶并且神祗也是如此的牧师可以依照玩家的选择来把法术转化为治疗法术或造成伤害法术。一旦玩家做出选择,以后就无法更改。这个选择同样作用在牧师是驱散还是命令不死生物上(见之后)。

''混乱,邪恶,善良,守序法术:''牧师不能施展那些和他本人或他神祗(如果有)阵营相对的法术。法术是否属于特定的混乱、邪恶、善良、守序可以参见法术说明。

''驱散或斥喝不死生物(Turn or Rebuke Undead,超自然能力):''任何牧师,不管其阵营如何,都有通过他的圣徽(或邪徽)引导信仰来影响不死生物的力量(见战斗部分的驱散或斥喝不死生物)。

善良牧师(或者善良神祗的中立牧师)可以驱散或摧毁不死生物,邪恶牧师(或者邪恶神祗的中立牧师)则可以斥喝或命令这些生物。中立神祗的中立牧师则必须选择按照其中一种方式。一旦做出选择,以后就无法更改。这个选择同样作用在牧师自发施法时施展治疗法术还是造成伤害法术上(见之前)。

牧师每天可以尝试影响不死生物的次数为3+魅力修正。知识(宗教)达到5级或以上的牧师可以在影响检定上有+2加值。

''额外语言:''牧师的额外语言选择包括了天界语(Celestial),深渊语(Abyssal)和炼狱语(Infernal)(分别对应善良,混乱邪恶,守序邪恶的异界生物语言)。这些选择附加在角色的种族额外语言选择中。

 

!!!! 前牧师(Ex-Clerics)
严重违背了信奉神祗要求的牧师将失去所有的法术和职业特性,除了盔甲和盾牌擅长以及简单武器擅长。他也不能再获得此神祗的牧师等级,直到他赎罪为止(见赎罪术(atonement)说明)。
!! Climb(攀爬)(力量;防具检定减值)

''检定:''当做出一次成功的攀爬检定,你可以以1/4正常速度向上、向下移动,穿越斜坡、墙壁或其他陡坡(甚至是有把手的天花板)。斜坡指的是角度小于60度的坡面;墙壁指的是角度等于或大于60度的坡面。

失败4或更少的攀爬检定意味着你没有进展,失败5或者更多意味着你从你已经到达的高度跌落。

攀爬工具可以让你在攀爬检定上获得+2环境加值。

检定DC依赖于攀爬所在环境。对比下表中的情况来决定适合的DC。


|!	攀爬DC	|!	表面或动作示例	|
|^	0 	|^	很陡无法步行上去的斜坡,或者有一面墙可以依靠的打结绳索。	|
|^	5 	|^	有一面墙可以依靠的绳索,或打结绳索,或被施展魔绳术(rope trick)的绳索。 	|
|^	10 	|^	有突出物供着手和落脚的表面,例如凹凸不平的墙或船的索具。 	|
|^	15 	|^	任何有足够着手点和落脚点(天然或人工)的表面,例如凹凸不平的天然石头表面或树,或未打结的绳索,或用手将自己拉上去。 	|
|^	20 	|^	有一些着手点和落脚点的不平整表面,例如地下城或废墟里典型的墙壁。 	|
|^	25 	|^	粗糙的表面,例如天然石墙或砖墙。 	|
|^	25 	|^	有把手但没落脚点的悬挂或天花板。 	|
|^	- 	|^	非常光滑、平整、垂直的表面无法攀爬。	|

|!	攀爬DC修正^^1^^	|!	表面或动作示例	|
|^	-10	|^	攀爬烟囱状裂口(人工或天然)或其它有两面可以利用的对立墙壁的地方(DC降低10)。	|
|^	-5 	|^	攀爬有两面可以利用的相邻墙壁的角形地区(DC降低5)。	|
|^	+5	|^	表面是滑的(DC增加5)。 	|
|^	1这些修正可以累加,条件符合即可应用。	|<|

 


 

你必须双手都空闲着才能攀爬,但是在你施法或做些只需要一只手的动作时可以用一只手将自己附着在墙上。在攀爬中,你不能通过移动来躲避打击,因此你将失去AC上敏捷加值(如果有)。同样在攀爬时你也不能使用盾牌。

只要在攀爬中受到伤害,你必须再做一次攀爬检定来对抗斜坡或墙壁的DC。失败则意味着你从当前高度跌落,并且会遭受到对应跌落伤害。

//快速攀爬://你可以爬的比正常时候快。如果承受-5减值,你就可以以你速度的一半移动(而不是1/4速度)。

制造你自己的着手点和落脚点:你可以将岩钉敲入墙壁来制造自己的着手点和落脚点。每颗岩钉需要一分钟时间,每三尺距离就要一颗岩钉。和任何提供着手点和落脚点的表面一样,打上岩钉的墙壁的攀爬DC为15。同样的,带着手斧或类似器具的攀爬者可以在冰墙上开凿出扶手来。

//跌落中自己抓住://从墙壁上跌落时几乎不可能自己抓住。做一次攀爬检定(DC=墙壁DC+20)才能做到。在斜坡上这么做则容易的多(DC=斜坡DC+10)。

//攀爬中抓住跌落的人://如果你上面或身边攀爬的人跌落了,并且他在你的触及范围内,你可以尝试抓住他。这么做需要对跌落的人物做一次近战接触攻击(如果他愿意他可以自愿放弃任何AC上的敏捷加值)。如果你命中了,你必须立刻做一次攀爬检定(DC=墙壁DC+10)。成功代表你抓住了跌落的人物,但是他的总重量(包括装备)不能超过你的重载上限,否则你自动跌落。如果在攀爬检定中失败了4或更少,你没有阻止该人的跌落,但是你自己也没有松开墙。如果失败了5或更多,你没有阻止人物的跌落,自己也开始跌落。

''动作:''攀爬是移动的一部分,因此这通常是移动动作的一部分(或者在移动动作中和其他类型移动合并)。每个包含了任何攀爬成分的移动动作都需要单独的攀爬检定。抓住自己或者抓住其他跌落的人物并非动作。

''特别:''你可以完全靠强壮用绳子将一个人物拖上去(或者放下去)。在这种情况下你可以提升你重载重量的两倍。

因为半身人手脚利落,半身人在攀爬检定上有+2种族加值。

蜥蜴魔宠的主人在攀爬检定上有+3加值。

如果你有竞技(Athletic)专长,你在攀爬检定上有+2加值。

有攀爬速度的生物在所有攀爬检定上有+8种族加值。该种生物在攀爬任何DC高于0的墙壁或斜坡都必须做攀爬检定,但它可以选择始终取10,即使很匆忙或被威胁时攀爬也可以这样。如果有攀爬速度的生物选择快速攀爬(见前),它可以以双倍攀爬速度攀爬(或者以它的地面速度攀爬,取二者较低者)并且做一次受到-5减值的攀爬检定。该生物在攀爬时依然保留它的AC上敏捷加值(如果有),敌人在攻击它的时候也不能获得特别的奖励。当然,它无法在攀爬时奔跑。

''共效:''如果你在绳技技能上级数达到5或者更高,你在绳索、打结绳索、或者绳索和墙壁的组合上攀爬时攀爬检定可以获得+2加值。
''Climbing, Improved(强化攀爬):'' 同攀爬戒指一样,除了它的佩带者的"攀爬"检定有+10表现加值。

CL:5。先决条件:锻造戒指,制造者的攀爬技能级数必须达到10。价格 10,500 gp。
''Climbing(攀爬): ''此戒指实际上是一根缠于手指上的魔术皮绳。 佩带者的“攀爬”检定有+5表现加值。

CL:5。先决条件:锻造戒指,制造者的攀爬技能级数必须达到5。价格 2,500 gp。
''Cloak of Arachnida(节肢斗篷): ''这是一件绣上银色蛛网状花纹的黑色外袍。穿戴者攀爬时如同具有“蛛行术”效果,而且不会受困于“蛛网术”或各种网子,可以用半速在网内移动。

穿戴者每天可以施展“蛛网术”一次,对蜘蛛毒素的强韧检定有+2运气加值。

施法者等级:6。先决条件:“制造奇物”,“蛛行术”、“蛛网术”。交易价格:14000金币。重量:1磅。
!!!混沌披风(Cloak of Chaos)
|防护系[混乱]|
|''等级:''混乱8,牧师8|
|''法术成分:''言语,姿势,器材|
|''施法时间:''一个标准动作|
|''距离:''20英尺|
|''法术范''围:以你为中心20英尺内爆发范围内,每等级1个生物|
|''持续时间:''1轮/每等级(可解消)|
|''豁免检''定:见说明|
|''法术抗力:''可(无害)|
|一道无规则的色彩环绕着受术者,帮助他们防护攻击,让他们抵抗来自守序阵营生物的法术,还可以让击中受术者的守序生物进入[[困惑|Confused(困惑)]]状态。这个变化会产生四种效果。|
|第一,每个受保护者AC上获得+4偏斜加值,在豁免判定上获得+4抗力加值。和[[防护秩序|Protection from Law(防护秩序)]]不同的是,它防护所有攻击,而非仅仅对抗守序生物的攻击。|
|第二,对抗守序法术和守序生物所施放的法术时,受保护者获得25的法术抗力。|
|第三,和[[防护秩序|Protection from Law(防护秩序)]]一样能阻挡心灵影响和附身的效果。|
|第四,如果守序阵营生物在近战攻击检定中成功命中被保护生物时,它将[[困惑|Confused(困惑)]]1轮(意志豁免,通过则无效,如同[[困惑术|Confusion(困惑术)]],但取混沌披风的豁免判定DC)。|
|//器材://一个呈载着圣物的微小圣物匣,比如装载着混沌咒语残片的匣子。这个匣子价值不得低于500金币。|
''Cloak of Charisma(魅力斗篷):'' 质地轻盈、样式华美的斗篷,饰以银色缎带。穿戴者的魅力值有+2、+4或+6增强加值。

施法者等级:8。先决条件:“制造奇物”,“魅惑怪物”。交易价格:4000金币(+2),16000金币(+4),36000金币(+6)。重量:2磅。
''Cloak of Displacement, Major(高等移位斗篷):'' 看起来像一般斗篷,但穿上之后可以扭曲光线,效果完全如同“移位术”,每天可以使用15轮(累计15轮,可不一次使用完)。

施法者等级:7。先决条件:“制造奇物”,“移位术”。交易价格:50000金币。重量:1磅。
''Cloak of Displacement, Minor(次级移位斗篷):'' 看起来像一般斗篷,但穿上之后可以扭曲光线,效果如同“移位术”,但对方失手几率为20%(如同受到二分之一隐蔽)。此效果有持续性。

施法者等级:3。先决条件:“制造奇物”,“移位术”。交易价格:24000金币。重量:1磅。
''Cloak of Elvenkind(精灵斗篷): ''看起来像一般灰色斗篷,但是只要穿戴者戴上兜帽,“躲藏”检定有+5环境加值。

施法者等级:3。先决条件:“制造奇物”,“隐形”,制造者必须是精灵。交易价格:2500金币。重量:1磅。
''Cloak of Etherealness(灵化斗篷): ''这件银灰色斗篷看起来好像可以吸收光线。启动后,穿戴者变为灵体(效果如同“幻化灵体”)。此效果可以随时解除,每天最多只能使用十分钟。使用时间不须连续。

施法者等级:15。先决条件:“制造奇物”,“幻化灵体”。交易价格:55000金币。重量:1磅。
''Cloak of Resistance(抗力斗篷):'' 穿戴者所有豁免检定(强韧、反射、意志)有+1到+5抗力加值。

施法者等级:5。先决条件:“制造奇物”,“提升抗力”,制造者的职业等级至少须达加值的三倍。交易价格:1000金币(+1),4000金币(+2),9000金币(+3),16000金币(+4),25000金币(+5)。重量:1磅。
''Cloak of the Bat(蝙蝠斗篷): ''棕黑色的斗篷,穿戴者的“躲藏”检定有+5环境加值。还可以像蝙蝠一样倒吊在屋顶上。

只要抓住斗篷边缘,穿戴者就可以振翅飞行,效果如同“飞行术”。穿戴者还可变形为蝙蝠,并像蝙蝠一样飞行(所有随身物品和装备都会跟著变形)。但不管是穿戴斗篷或变形为蝙蝠,都只能在黑暗中飞行(夜空、无光或几乎无光的地底)。飞行能力每次最多7分钟,不管使用多久,飞行之后必须经过同样久的时间,才能再度使用飞行能力。

此外,穿戴者的防御等级有+2偏斜加值。变形为蝙蝠时亦同。

施法者等级:7。先决条件:“制造奇物”,“飞行术”、“变形自己”。交易价格:26000金币。重量:1磅。
''Cloak of the Manta Ray(海鳐鱼斗篷): ''这是一件皮制斗篷,穿戴者进入咸咸水之后,斗篷会附在身上,使穿戴者看起来像是一条海鳐鱼(如同“变身术”一样,只是该物品只允许变形为海鳐鱼)。此时穿戴者有+3天生防御加值,能在水下呼吸,速度60英尺,如同真正的海鳐鱼。

虽然穿戴者不能像海鳐鱼一样啮咬敌人,但却多了一支尾刺可攻击后方敌人,尾刺造成1d6点伤害。尾刺攻击不计入穿戴者原有攻击次数,并且采用穿戴者最高的近战攻击加值。穿戴者可以从斗篷内伸出双手而不影响水下移动。

施法者等级:9。先决条件:“制造奇物”,“水中呼吸法”、“变身术”。交易价格:7200金币。重量:1磅。
!!Cloaker(蛰伏伪怪)

''大型异怪''

|''生命骰:'' 6d8+18 (45hp)|
|''先攻权:'' +7|
|''速度:'' 10尺 (2格) ,飞行40尺 (普通)|
|''防御等级:'' 19 (-1体型,+3敏捷,+7天生) ,接触12,措手不及16|
|''基本攻击/擒抱:'' +4/ +13|
|''攻击:'' 尾击+8近战 (1d6+5)|
|''全回合攻击:'' 尾击+8近战 (1d6+5) 和啮咬+3近战 (1d4+2)|
|''面宽/触及:'' 10尺/ 10尺 (啮咬距离5尺)|
|''特殊攻击:'' 低鸣,包卷|
|''特性:'' 黑暗视觉60尺,阴影转移|
|''豁免:'' 强韧+5,反射+5,意志+7|
|''属性:'' 力量21,敏捷16,体质17,智力14,感知15,魅力15|
|''技能:'' 躲藏+8,聆听+13,潜行+12,侦察+13|
|''专长:'' 警觉,战斗反射,精通先攻|
|''环境:'' 地底|
|''组织:'' 单独,小集团 (3-6) ,或成群 (7-12)|
|''挑战等级:'' 5|
|''宝物:'' 标准|
|''阵营:'' 通常是混乱中立|
|''进化:'' 7-9HD (大型) ;10-18HD (超大型)|
|''等级调整:'' -|


在休息或躺着等待猎物的时候,这种生物几乎和普通的黑色斗篷没什么两样 (蛰伏伪怪的象牙色爪子则像是骨制的钩子) 。只有在它展开时此生物的恐怖本性才会显现出来。

蛰伏伪怪的翼展接近8尺。它重约100磅。

蛰伏伪怪说地底通用语。

!!! 战斗
蛰伏伪怪通常静静的躺着,查看和聆听四周的动静,找寻猎物的踪迹。面对单独的敌人时,蛰伏伪怪会使用包卷攻击。面对多名敌人时,它会有尾巴抽打,并配合它的低鸣和阴影转移来减少敌人的数量,然后再包卷最后的幸存者。数只蛰伏伪怪在战斗时通常会分散开来,留下一到两只在后面使用特殊能力,其他的则在前面展开近战。

''低鸣 (Ex) :''蛰伏伪怪能通过一个标准动作发出危险的次音速低鸣。通过改变生波频率,蛰伏伪怪能产生下列四种效果中的一个。蛰伏伪怪本身对这些影响心灵的超声波攻击免疫。除非有特殊说明,否则生物一旦通过某个低鸣效果的豁免检定,那么它在24小时之内不会再为同个蛰伏伪怪的同种低鸣效果所影响。所有低鸣效果的豁免DC基于魅力调整值。

''焦躁: ''任何处于60尺扇形范围内的对手在进行攻击和伤害检定时会受到-2减值。被迫连续听到该低鸣6轮或以上的对手必须成功通过DC15的意志检定,否则进入恍惚状态,无法攻击或防御自己直到该低鸣结束。

''恐惧: ''任何处于30尺扇形范围内的对手必须通过DC15的意志检定,否则恐慌2轮。

''反胃:'' 任何处于30尺锥形范围内的对手必须通过DC15的强韧检定,否则会反胃和虚弱。受影响的对手会俯卧倒地而且会反胃1d4+1轮。

''僵住: ''距离蛰伏伪怪30尺范围内的单一对手必须通过DC15的强韧检定,否则会受到如同人类定身术的效果所影响长达5轮。即使通过检定,如果蛰伏伪怪再使用这个效果,该对手还要再做豁免检定。

''包卷 (Ex) :''蛰伏伪怪可以通过一个标准动作用它的身体包住中型或者更小的生物。蛰伏伪怪在尝试擒抱时不会引发借机攻击。如果它成功将对手定身,就能以+4攻击加值啮咬被包住的受害者。在此同时它还可以用它鞭子似的尾巴攻击其他目标。

正在包住一名对手的蛰伏伪怪如果被其他攻击命中,其伤害一半作用在它本身,而另一半则作用到被包住的受害者身上。

''阴影转移 (Su) :''蛰伏伪怪能操纵阴影。这项能力只在阴暗的区域发生作用,它可能产生三种效果。

''朦胧幻影: ''蛰伏伪怪获得隐蔽 (20%失手率)1d4轮。

''舞动幻影: ''效果如同镜影术 (施法等级6) 。

''无声幻影:'' 效果如同无声幻影法术(DC15,施法等级6) 。其豁免DC基于魅力调整值。 
!!!克隆术(Clone)
|死灵系|
|''等级:''术士/法师8|
|''法术成分:''言语,姿势,材料,器材|
|''施法时间:''10分钟|
|''距离:''0英尺|
|''效果:''一个克隆体|
|''持续时间:''立即|
|''豁免检''定:无|
|''法术抗力:''不可|
|此法术制造出一个生物的无生命复制体。如果原生物遇害,他的灵魂将会立即转到自己的复制体上,重新开始活动(如果灵魂是自由的并且愿意归来)。而原始残骸依然存在,但失去了活性,而且也不能再用来接收灵魂。如果原身体是到达了生命的终点而死(即自然死亡),那么复制体不会产生作用。|
|制造复制体的时候,你必须从其活体上取下至少1立方英寸的肉(毛发、指甲、鳞片等都不行)。这片肉可以不是刚刚取下的,但必须防腐。施法后,复制体必须保存在实验室中培养2d4个月。|
|当复制体完成后,如果原身体已经死亡,灵魂就会立即进入复制体。复制体在肉体上和原本身体是一致的,并且拥有原本身体相同的记忆和人格。在其他方面,克隆这个过程类似原身体从死亡中复活,包括失去一个等级或者失去2点体质(如果原身体为1级人物)。若因为该调整让体质下降为0,该法术失效。如果在取出肉样本之后后原身体等级下降了,并且在死亡时等级比制造复制体时还要低,那么复制体的等级将比身体死亡时等级低一级。|
|这个法术只能复制生物的肉体和心智,不包括装备。|
|原身体还活着的时候,或者灵魂不能回归时,复制体也会随之成长,但这具躯体仅仅会成为一具没有魂魄的肉体,得不到妥善保存它将会腐烂。|
|//材料成分://1块肉和实验室培养器(价值1000金币)。|
|//器材://特殊的实验室设备(价值500金币)。|
!!!死云术(Cloudkill)
|咒法系(创造)|
|''等级:''术士/法师5|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''半径20英尺,高20英尺扩散范围的云|
|''持续时间:''1分钟/每等级|
|''豁免检''定:强韧,通过则部分有效;见说明|
|''法术抗力:''不可|
|此法术制造出一团云雾,如同[[云雾术|Fog Cloud(云雾术)]]一样,不同的是这些云雾呈黄绿色,并且有毒。在云雾中,3HD或以下的活物立即死亡(无豁免)。4到6HD的活物必须通过强韧检定,失败则死亡(如果通过豁免检定的活物留在云雾中,那么每轮在你的回合中他们都将会受到1d4点体质伤害)。|
|6或更多HD的活物每轮在你的回合中会受到1d4点体质伤害(通过强韧豁免检定则伤害减半)。闭气不会产生帮助,但如果生物免疫毒素,那么该法术则不会造成影响。|
|和云雾术不同的是,死云术将会以每轮10英尺的速度远离你,沿着地面翻腾着移动。|
|每一轮都要以云雾新的源发点开始计算新的扩散范围,源发点的距离为每轮远离施法时的起点10英尺。|
|因为云雾比空气重,它们将往低处蔓延,甚至会侵入洞穴或洼地。它不能渗透液体,也不能在水下施放。|
!!Cockatrice(蛇鸡兽)

''小型魔法兽''

|''生命骰:'' 5d10(27hp)|
|''先攻权:'' +3|
|''速度:'' 20尺(4格),飞行60尺(不良)|
|''防御等级:'' 14(+1体型,+3敏捷),接触14,措手不及11|
|''基本攻击/擒抱:'' +5/-1|
|''攻击:'' 撕咬+9近战(1d4-2外加石化)|
|''全回合攻击:'' 撕咬+9近战(1d4-2外加石化)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 石化|
|''特性:'' 黑暗视觉60尺,低光视觉|
|''豁免:'' 强韧+4,反射+7,意志+2|
|''属性:'' 力量6,敏捷17,体质11,智力2,感知13,魅力9|
|''技能:'' 聆听+7,侦查+7|
|''专长:'' 警觉,闪避,武器娴熟|
|''环境:'' 温带平原|
|''组织:'' 单独,成双,成群飞翔(3-5),或集群飞翔(6-13)|
|''挑战等级:'' 3|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 6-8HD(小型);9-15HD(中型)|
|''等级调整:'' —|

雄性蛇鸡兽像公鸡一样拥有肉垂和头冠。而雌性比雄性早熟,唯一区别在于没有肉垂和头冠。一个蛇鸡兽通常有25磅重。

!!! 战斗

蛇鸡兽会猛烈的攻击任何它们认为会威胁到自己或者其巢穴的东西。成群的蛇鸡兽会尽可能淹没对手并使他们陷入混乱,有时还会直接飞到它们的对手面前。

''石化(超自然):''生物如果被蛇鸡兽的撕咬命中必须通过DC12的强韧检定否则立即变成石头。此项豁免DC基于体质。蛇鸡兽免疫同类的石化能力,但其他石化能力依然能对其起作用。 
一个免疫寒冷的生物不受寒冷伤害。但更易被火所伤,火系伤害将为原先的一倍半(+50%),不管这种伤害是否允许进行豁免检定,或检定是否通过。
''高等抗寒:''吸收每次攻击的前30点寒冷伤害,其余和抗寒相同。

中等防护系灵光;CL11;制造魔法武器和防具,抵抗能量(resist energy);价格+66000金币。
''强化抗寒:''吸收每次攻击的前20点寒冷伤害,其余和抗寒相同。

中等防护系灵光;CL7;制造魔法武器和防具,抵抗能量(resist energy);价格+42000金币。
''抗寒:''具有此能力的盔甲或盾牌通常呈冰蓝色调,或以羽毛或毛茸茸的兽皮作装饰。防具吸收穿戴者受到的每次攻击中前10点寒冷伤害(类似抵抗能量(resist energy))。

微弱防护系灵光;CL3;制造魔法武器和防具,抵抗能量(resist energy);价格+18000金币。
''寒系(Cold)亚种:''寒系亚种的生物免疫寒冷。它们有惧怕火焰的弱点,也就是说火焰会对它们造成比一般多一半(50%)的伤害,无论是否有豁免和是否通过了豁免。

!!!七彩喷射(Color Spray)
|幻术系(心灵幻觉)[影响心灵]|
|''等级:''术士/法师1|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''15英尺|
|''影响区''域:锥状爆发|
|''持续时间:''立即;见说明|
|''豁免检''定:意志,通过则无效|
|''法术抗力:''可|
|一道斑斓炫目的光芒由你手中呈锥状散射而出,被覆盖其中的生物会被震慑,有可能会导致目盲,甚至不省人事昏迷倒地。|
|效果因每个生物的HD不同而异。|
|2HD或以下:该生物会昏迷、目盲和震慑2d4轮,然后目盲和震慑1d4轮,最后被震慑1轮(只有活物才会昏迷倒地)。|
|3或4HD:该生物会目盲和震慑1d4轮,然后再被震慑1轮。|
|5HD或以上:该生物被震慑1轮。|
|无视觉的生物不受“七彩喷射”影响。|
|//材料成分://一撮染色粉末或沙子,包含红、黄、蓝三种颜色。|
!!! 战斗施法(COMBAT CASTING)[一般专长]

''效果:''防御式施法或使用类法术能力时,或在擒抱或被压制情况下施法或使用类法术能力时,你的专注检定可获得+4加值。

!!! 寓守于攻(COMBAT EXPERTISE)[一般专长]

''先决条件:''智力13。

''效果:''当你在近战中作出攻击动作或整轮攻击动作时,可以选择让攻击检定具有特定减值(至多-5),再将等量的绝对值加到你的防御等级上,此加值为闪避加值。该数字不可超过你的基本攻击加值。这次改变对攻击检定和防御等级的影响将持续到你下个动作之前。

''正常:''不具有本专长的人物,可在攻击动作和整轮攻击动作中采取防御式战斗,此时攻击检定需受-4减值,防御等级则有+2闪避加值。

''特殊:''战士可以选本专长作为其战士奖励专长。

!!! 战斗反射(COMBAT REFLEXES)[一般专长]

''效果:''你可以额外进行数量等于你敏捷加值的借机攻击。

拥有本专长,在措手不及时也可以进行借机攻击。

''正常:''没有本项专长的人物每轮只能有一次借机攻击,并且在措手不及时不能进行借机攻击。

''特殊:''本专长不能使游荡者在一轮中多次使用乘势攻击能力(opportunist)。

战士可以选本专长作为其战士奖励专长。

武僧可以选战斗反射作为其在2级时的奖励专长。
!!!命令植物(Command Plants)
|变化系|
|''等级:''德鲁伊4,植物4,巡林客3|
|''法术成分:''言语|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''至多每等级2HD的植物类生物,任意两个的间距不超过30英尺|
|''持续时间:''1天/每等级|
|''豁免检''定:意志,通过则无效|
|''法术抗力:''可|
|这个法术允许你部分控制一个或者更多个植物类生物。受影响的植物类生物将懂得你的意思,并且会认为你的言行举止都是最有利于它们的(他们对你持友善态度)。它们在法术结束前不会攻击你。你可以尝试让它们去做事,但你必须通过魅力检定对抗才能让它们去做本不愿意的事。(不可再次尝试)。被控制的植物决不可能接受自杀或者作明显对自己有伤害的命令,但它或许会相信一些非常危险的事情是值得去做的。|
|你可以命令一些植物类生物,其等级或HD的总和不超过你等级的两倍。|
!!!命令死灵(Command Undead)
|死灵系|
|''等级:''术士/法师2|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个不死生物|
|''持续时间:''1天/每等级|
|''豁免检''定:意志豁免;见说明|
|''法术抗力:''可|
|此法术允许你部分控制一个不死生物。受影响的不死生物为智慧生物时,它将认为你的言行是最有利于它的(它对你持友善态度)。它在法术结束前不会攻击你。你可以尝试让它去做事,但你必须通过魅力检定对抗才能让它去做本不愿意的事。(不可再次尝试)。被控制的智慧不死生物决不可能接受自杀或者作明显对自己有伤害的命令,但它或许会相信一些非常危险的事情是值得去做的。|
|非智慧生物的不死生物不能做豁免检定。当你控制一个无心智的不死生物,你只能对它下达一些最基本的命令,例如“来”,“去”,“ 战斗”,“停下”等等。非智慧不死生物不能反抗例如自杀或明显伤害自己的命令。|
|任何来自于你或者你明显的同盟者对被控制的不死生物(不管是否是有智慧)的威胁都将破坏该法术。|
|你的命令并非心灵感应。这个不死生物必须听到你的命令。|
|//材料成分://一片生肉和一块骨头碎片。|
!!!高等命令术(Command, Greater)
|惑控系(胁迫)[依赖于语言,影响心灵]|
|''等级:''牧师5|
|''目标:''1个生物/每等级,任意两个生物的间距不超过30英尺|
|''持续时间:''1轮/每等级|
|该法术作用与[[命令术|Command(命令术)]]类似,不同的是该法术可以影响的生物是每等级1个,而且时间超过1轮。在第一个命令后的每个命令动作开始前,生物都可以重新通过意志豁免来打消法术影响。每个生物收到的命令必须一样。|
!!!命令术(Command)
|惑控系(胁迫)[依赖于语言,影响心灵]|
|''等级:''牧师1|
|''法术成分:''言语|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个活物|
|''持续时间:''1轮|
|''豁免检''定:意志,通过则无效|
|''法术抗力:''可|
|你对受术者下达单字的命令,他将尽其所能在最早的时候去完成它。你可以从下列选项中挑选。|
|来(Approach):在他的回合内,受术者将尽全力的迅速直接向你靠近。受术者将什么也不做仅仅是朝你靠近,这期间可能会造成别人对其借机攻击。|
|掉(Drop):在他的回合内,受术者会将手里的所有东西都扔掉,在他下一轮之前都将不会捡起来。|
|倒(Fall):在他的回合内,受术者会躺倒在地。在俯卧中他可以继续正常行动,但是要受到对应的惩罚。|
|逃(Flee):在他的回合内,受术者将尽全力的迅速远离你。受术者将什么也不做仅仅是离开,这期间可能会造成别人对其借机攻击。|
|停(Halt):受术者将原地不动1轮。他将不能做任何动作,但并非无助状态。|
|如果受术者在他接下来的回合内无法完成你所下达的命令,该法术自动失效。|
''生命骰数:'' d4。

!!!!本职技能

平民的本职技能如下 (括号中为该技能的关键属性): 攀爬 (力量),手艺(智力), 驯养动物(魅力),跳跃(力量),聆听(感知),专业(感知),骑术 (敏捷),侦察(感知),游泳(力量),绳技(敏捷)。

''1级人物起始技能点:''(2 + 智力调整值) 4 x 。

''升级技能点数: ''2 + 智力调整值。

 

''表: 平民''

|!	NPC等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|
|^	1	|^	+0	|^	+0	|^	+0	|^	+0	|
|^	2	|^	+1	|^	+0	|^	+0	|^	+0	|
|^	3	|^	+1	|^	+1	|^	+1	|^	+1	|
|^	4	|^	+2	|^	+1	|^	+1	|^	+1	|
|^	5	|^	+2	|^	+1	|^	+1	|^	+1	|
|^	6	|^	+3	|^	+2	|^	+2	|^	+2	|
|^	7	|^	+3	|^	+2	|^	+2	|^	+2	|
|^	8	|^	+4	|^	+2	|^	+2	|^	+2	|
|^	9	|^	+4	|^	+3	|^	+3	|^	+3	|
|^	10	|^	+5	|^	+3	|^	+3	|^	+3	|
|^	11	|^	+5	|^	+3	|^	+3	|^	+3	|
|^	12	|^	+6/+1	|^	+4	|^	+4	|^	+4	|
|^	13	|^	+6/+1	|^	+4	|^	+4	|^	+4	|
|^	14	|^	+7/+2	|^	+4	|^	+4	|^	+4	|
|^	15	|^	+7/+2	|^	+5	|^	+5	|^	+5	|
|^	16	|^	+8/+3	|^	+5	|^	+5	|^	+5	|
|^	17	|^	+8/+3	|^	+5	|^	+5	|^	+5	|
|^	18	|^	+9/+4	|^	+6	|^	+6	|^	+6	|
|^	19	|^	+9/+4	|^	+6	|^	+6	|^	+6	|
|^	20	|^	+10/+5	|^	+6	|^	+6	|^	+6	|


!!!!职业特性

下述为平民 NPC职业的职业特性。

''擅长武器和防具: ''平民擅长一种简单武器。他不擅长其它任何武器、盔甲和盾牌。 
!!!问道自然(Commune with Nature)
|预言系|
|''等级:''动物5,德鲁伊5,巡林客4|
|''法术成分:''言语、姿势|
|''施法时间:''10分钟|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''立即|
|你将成为自然界的一部分,来获得周围环境的信息。你将立即获得下列信息中的其中三种:地貌、植物、矿藏、水体、居民、一般动物分布情况、林地生物出没的情况、强大的非自然生物出没的情况,或天然场所的概况。|
|在户外场所,此法术能探知每施法者等级半径1英里范围内的情况。在天然地下场所中--洞穴、山洞及类似的地方,探知范围半径缩小为100英尺每施法者等级。此法术不能探知被改造为建筑物或居住地的地点,比如地下城和城镇。|
!!!通神术(Commune)
|预言系|
|''等级:''牧师5|
|''法术成分:''言语,姿势,材料,法器,消耗经验值|
|''施法时间:''10分钟|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''1轮/每等级|
|你与你信奉的神祗或其代理人进行接触,并询问那些可以用简单的是或否回答的问题。 (没有特定信仰的牧师可以接触信仰相同的同盟神祗)。每施法者等级你可以询问一个问题。你会得到神祗所知道的正确答案。“不清楚”这种答案也是合理的,因为这些强大的外域存在并非全知全能的存在。如果单字答案容易让人产生误解或是违背神祗的利益,可以用一个简短的句子(五个字或更少)来回答。|
|此法术能够提供信息帮助人们做出决定,最多也只能做到这里。人物组织联系起答案可以促进自己下决心。如果你发呆,与别人讨论答案,或是去做别的事情,法术将会结束。|
|材料成分:圣水(或邪水)和焚香。|
|//消耗经验值://100点。|
!!!通晓语言(Comprehend Languages)
|预言系|
|''等级:''吟游诗人1,牧师1,术士/法师1|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''10分钟/每等级|
|''''|
|''''|
|你可以懂得生物所说的话,或阅读原本看不懂的文字信息。无论哪种情况,你都必须接触到该生物或者文字。该法术只能让你看懂字面意思,并非帮助你了解其中的含义。该法术也同样只能让你听懂或阅读别的语言,但不能让你说或写出来。|
|此法术可让你以每分钟一页(250字左右)的速度进行阅读。它不能读取魔法文件,但是该法术可以察觉文件附有魔法。该法术可被防护性法术阻碍(例如[[秘密文页|Secret Page(秘密文页)]]和[[迷幻手稿|Illusory Script(迷幻手稿)]])。它也不能破译文件中的密码或隐藏信息。|
|通晓语言可以用[[魔法恒定术|Permanency(魔法恒定术)]]恒定。|
|奥术材料:一撮煤灰和几粒盐。|
!!! 隐蔽(CONCEALMENT)

要判断你的远程攻击中目标是否有隐蔽,从你的占据区域上选择一个角。如果从这个角到对方区域的任何一个角之间的连线穿过了某个提供隐蔽的方格或边线,那么该目标处于隐蔽状态。

在对临近目标进行近战攻击时,如果对方所处空间完全处在某种隐蔽效果中,那么对方处于隐蔽状态。在对不临近的目标进行近战攻击时,使用判断远程攻击隐蔽规则。

另外,某些魔法效果对所有攻击都提供隐蔽,不管是否真的有隐蔽存在。

''隐蔽时失手机会:''隐蔽效果会让成功的攻击也有20%的机会失手。如果攻击者在攻击检定中命中,防御者必须做一次失手机会百分骰检定来避免被击中。多种隐蔽条件不能累加。

''隐蔽和躲藏检定:''你可以利用隐蔽来做躲藏检定。没有隐蔽,通常你需要掩蔽来做躲藏检定。

''全隐蔽(Total Concealment):''如果和目标之间有效果线但是没有视线,那么对你来说对方处于全隐蔽状态。你无法攻击全隐蔽的对手,但是你可以对你认为他所占据的方格进行攻击。对全隐蔽对手所占据方格的成功攻击有50%的失手机会(而不是通常掩蔽下的20%)。

你不能对全隐蔽对手进行借机攻击,即使你知道对方在什么区域也是如此。

''忽略隐蔽:''隐蔽并非总是起作用。阴影区域或者黑暗对于有黑暗视觉的生物来说不存在隐蔽。在同等光源的情况下有昏暗视觉的生物要比其他生物看清楚看的更远。尽管隐形总是可以提供全隐蔽,有视觉的生物还是可以通过侦察检定来察觉隐形角色的位置。在移动时隐形角色在躲藏检定上有+20加值,当其不动时则有+40加值(尽管对方无法看见你,但是他们依然可以从其他可见线索推断出你的位置)。

''变化隐蔽程度:''某些情况可以提供比正常情况多或少的隐蔽,同时会修正实际失手机会。
!! Concentration(专注)(体质)

''检定:''在你做一些需要你全部注意力的动作时,只要你有可能被扰乱心神(受到伤害,恶劣天气,以及类似情况)你都必须做一次专注检定。这些动作包括施法、在启用的法术上维持专注、指引法术、使用类法术能力,或者使用会遭受借机攻击的技能。一般来说,如果一个动作通常不会遭受借机攻击,那么你就不必做专注检定来避免被分神。

如果专注检定成功,你就可以继续如常继续该动作。如果检定失败,该动作自动失败并被浪费。如果是在施法途中,该法术丧失。如果正在维持对一个已启动法术的专注,如同你停止对其专注一样,该法术停止。如果你正在指引法术方向,该指引失败,但法术继续活动。如果正在使用类法术能力,那么这次能力的使用失败。使用技能也会失败,在某些情况下一次失败的技能检定还会导致其他后果。

以下这张表总结了各种不同类型会导致你做专注检定的分心情况。如果是在尝试施法时发生的分心情况,你必须在对应专注DC上再加上法术的法术等级。如果同时有多种情况发生,每种情况做一次检定;只要有一次专注检定失败都会导致任务不能完成。

|!	专注DC ^^1^^	|!	分心情况	|
|^	10 + 伤害值 	|^	在动作进行中时受伤害。^^2^^	|
|^	10 + 持续伤害的一半 	|^	在最近一个持续性伤害影响动作内遭受持续性伤害。^^3^^	|
|^	干扰法术的豁免DC 	|^	被非伤害性法术干扰。^^4^^	|
|^	10 	|^	有力的震动(在移动的坐骑上,在震动的马车上,在乱流中的小船上,在风暴中颠簸的船舱里)。	|
|^	15 	|^	剧烈的震动(在飞奔的马上,剧烈颠簸的马车,激流中的小船里,在风暴中颠簸的船甲板上)。	|
|^	20 	|^	特别剧烈的震动(地震)。	|
|^	15 	|^	纠缠状态。	|
|^	20 	|^	擒抱中或被压制。(你只能施展那些没有肢体动作的法术,法术所需的任何材料成分都必须在手中。)	|
|^	5 	|^	强风带来能遮蔽视线的雨雪天气。	|
|^	10 	|^	强风卷起冰雹、沙尘、或瓦砾的天气。	|
|^	干扰法术的豁免DC 	|^	法术造成的天气,例如复仇风暴(storm of vengeance)。^^4^^	|

|^	1 如果在分心情况发生时你正在试图施法、维持法术,或者指引法术,在对应DC上要加上该法术的法术等级。	|<|
|^	2 例如施展施法时间为一整轮或者更多的法术期间,或正在做一个需要不止一个整轮动作的行动(例如解除装置)。还包括因借机攻击而受到的伤害,或因那些针对法术开始施展(对于单动作施法时间的法术)或者开始做动作(对于动作时间少于一整轮的动作)的准备动作而受到的伤害。(见干扰施法者部分。)	|<|
|^	3 例如法术强酸箭(acid arrow)。	|<|
|^	4 即便该法术不能豁免,依然按照它能被豁免一样使用法术豁免DC。	|<|


''动作:''没有。做专注检定并非动作;它或者是一次自由动作(当被动反应时)或者是其他动作的一部分(主动反应时)。

''重试:''可以,但成功不能抵消之前的失败后果,例如丧失正在施展的法术或者维持专注法术的中断。

''特别:''你可以用专注技能来以防御姿态进行施法、使用类法术能力或使用技能以完全避免借机攻击。这对其他可能会导致借机攻击的动作无效。

这次检定的DC为15(如果正在防御式施法或使用类法术能力则要加上法术等级)。如果专注检定成功,你可以如常尝试该动作而不会遭受任何借机攻击。在有压力的环境中成功的专注检定也不能让你在其他检定上取10;你必须正常的进行检定。如果专注检定失败,相关动作自动失败(同时会带来对应后果),该动作也浪费了,正如你的专注被分心的事物所打断一样。

有战斗施法专长(Combat Casting)的人物在采用防御姿态、被擒抱、压制中施法或使用类法术能力时专注检定上获得+4加值。

!!!寒冰锥(Cone of Cold)
|塑能系[寒冷]|
|''等级:''术士/法师5,水6|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''60英尺|
|''影响区''域:锥状爆发|
|''持续时间:''立即|
|''豁免检''定:反射,通过则伤害减半|
|''法术抗力:''可|
|寒冰锥制造出一片极度严寒的区域,它从你掌心出现,延伸出一片锥状区域。它耗干热量,造成每施法者等级1d6的寒冷伤害(最高15d6)。|
|//奥术材料://一个非常小的水晶或玻璃锥。|
''困惑(Confused):''困惑的人物的行动在他的回合开始时通过百分率决定:01-10,用肉搏或远程武器攻击施法者(如果无法攻击就向施法者靠近);11-20,正常行动;21-50,除了毫无条理的说胡话外什么都不做;51-70,以最快的速度逃离施法者;71-100,攻击最近的生物(在这种情况下,魔宠视作受术者自身的一部分)。无法做上述规定动作的困惑生物只能毫无条理的说胡话。攻击困惑生物不会有任何特殊奖励。只要在被攻击的困惑生物其回合开始时还处于困惑中,他就会自动在接下来的回合内向攻击他的生物发起攻击。除了已经准备攻击的生物(要么是困惑生物最近一个动作的目标,要么是刚攻击过困惑生物的生物),困惑的生物将不会对其他生物进行借机攻击。

!!!次等困惑术(Confusion, Lesser)
|惑控系(胁迫)[影响心灵]|
|''等级:''吟游诗人1|
|''法术成分:''言语、姿势、法器|
|''''|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个活物|
|''持续时间:''1轮|
|''''|
|''''|
|此法术让一个生物进入[[困惑|Confused(困惑)]]状态1轮。参见之前[[困惑术|Confusion(困惑术)]]来查看具体影响效果。|
!!!困惑术(Confusion)
|惑控系(胁迫)[影响心灵]|
|''等级:''吟游诗人3,术士/法师4,诡术4|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''半径15英尺内的所有生物|
|''持续时间:''1轮/每等级|
|''豁免检''定:意志,通过则无效|
|''法术抗力:''可|
|此法术让目标变得[[困惑|Confused(困惑)]]起来,让他们不能独自下决心该做什么。|
|在每个受术者每一轮开始前投骰查表来决定该轮内他将会做什么。|

|!百分骰	|!行为|
|01-10	|用近战或远程武器攻击施法者 (或者在无法攻击的时候靠近施法者)。|
|11-20	|行为正常。|
|21-50	|不做任何事情但毫无条理的胡言乱语。|
|51-70	|以最快的速度远离施法者。|
|71-100	|攻击最接近的生物 (在这里,魔宠将被认为是受术者身体的一部分)。|

|困惑中的生物无法完成要做的事情时将什么也不会做,只能胡言乱语。攻击困惑中的生物不会有什么特别优势。困惑中的生物被攻击后将自动在下回合反击攻击者,只要那时候他依然处于困惑状态。注意,除了已经准备攻击的生物(要么是困惑生物上一轮的目标,要么是刚攻击过困惑生物的生物),困惑生物将不会对其他生物进行借机攻击。|
|//奥术材料://三个为一组的坚果壳。|

!!!祝圣术(Consecrate)
|塑能系[善良]|
|''等级:''牧师2|
|''法术成分:''言语,姿势,材料,法器|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''影响区''域:半径20英尺弥散区域|
|''持续时间:''2小时/每等级|
|''豁免检''定:无|
|''法术抗力:''不可|
|此法术用正能量祝福一片区域。驱散区域中不死生物的魅力检定将获得+3的神圣加值。进入此祝圣区域的不死生物会遭受轻微弱化,命中、伤害和豁免检定上全部受到-1的减值。在祝圣区域中不能创造或召唤不死生物。|
|如果此祝圣区域内有你所信奉的神祗(或同盟的高阶力量)的的祭坛、神殿或其他永久物,则上述调整值翻倍(+6的驱散神圣加值,不死生物各种检定-2减值)。你不能在有关于别的神祗的相关建筑物品周围制造神圣区域。|
|如果该区域内有其它神祗、神殿或其他更高级力量的祭坛、神龛或与之相关的永久性固定物品,祝圣术可以更改用来诅咒这片区域,切断这片区域与其神祗或力量的联接。这一效果一旦被起用,则之前和不死生物相关的加值、减值不再起作用。|
|祝圣术可以反制或解除[[亵渎术|Desecrate(亵渎术)]]。|
|//材料成分://一瓶圣水,价值25金币(5磅)的银粉,所有材料必须洒在影响区域周围。|
''紧勒(Constrict,特异能力):''具有这项特殊攻击的生物能够在成功的擒抱检定之后碾压它的对手,造成钝击伤害。伤害的数目在生物的说明给出。如果生物同时具有精通攫抓(improved grab)能力,则会在攫抓所用武器造成的伤害之外额外造成紧勒的伤害。

''构装体类(Construct):''构装体是活化的物体,或人工建造的生物。

//特征://构装体具有下列特征。

*d10生命骰。
*基本攻击奖励等于3/4生命骰数总和(类似于牧师)。
*擅长的豁免检定:无。
*技能点数等于每个生命骰(2+智力调整值,最少为1),第一个生命骰的技能点数为它的四倍,前提是此构装体有智力属性。但是,绝大多数构装体没有心智,也不会获得技能和专长。

//特性://构装体拥有下列特性(除非生物描述中另有说明)。

*没有体质值。
*低光视觉。
*60尺黑暗视觉。

*对所有影响心灵(mind-affecting)的效果免疫(魅惑[charm]、胁迫[compulsion]、魅影幻觉[phantasm]、心灵幻觉[pattern]、以及士气效果[morale effect])。

*对毒素、睡眠、麻痹、震慑、疾病、死亡效果、和死灵系效果免疫。

*无法自行回复伤害,但常常可以在某些特定效果下得到修复(详见怪物的说明),或通过使用制造构装体专长(Craft Construct)修复。具有快速痊愈(fast healing)特性的构装体仍可同样的自疗。

*不受重击、非致命伤害、属性伤害、属性吸取、疲劳、力竭和能量吸取影响。

*对任何需要强韧豁免的效果免疫(除非此效果同样对物体有效,或此效果无害)。

*不会因巨创而死亡。在生命值减为0或更低的时候便被摧毁。

*因为它不是活物,所以不可能被再生或复活。

*因为它的身体是一块无生命的物质,构装体很难被摧毁。根据体型它获得额外生命值,如下表。
|!	构装体大小	|!	生命值奖励	|
|	超微型	|	-	|
|	微型	|	-	|
|	超小型	|	-	|
|	小型	|	10	|
|	中型	|	20	|
|	大型	|	30	|
|	超大型	|	40	|
|	巨型	|	60	|
|	超巨型	|	80	|


*只熟练使用它自己的天生武器。除非形态类似于人,那样可熟练使用在它的说明中所提到的任意武器。
*不熟练使用任何盔甲。
*构装体不需要进食、睡眠或呼吸。

!!!异界探知(Contact Other Plane)
|预言系|
|''等级:''术士/法师5|
|''法术成分:''言语|
|''施法时间:''10分钟|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''专注|
|你将你的心灵传送到另一个界域(元素界或一些更远的界域)来那儿的诸神接受建议和情报。(可能出现的答案和答案的意义见附表)。诸神将用你所能听懂的语言答复,但是他们不喜欢这种冒犯的接触,仅仅会用简短语句回答你的问题。(所有的回答都是“是”、“ 否”、“ 也许”、“ 从不”、“ 无关”等一个单词的答复)。|
|你必须保持专注来维持这个法术(一个标准动作),才能每一轮问一个问题。问题将在同一轮中得到神祗的答复。每两个施法者等级,你可以问一个问题。|
|心灵联系是在极远的异界进行的,你的智力和魅力属性将可能受到暂时的削弱,但得到回答的几率和正确答案的机会也随之增加。|
|此法术效果由所接触到异界神祗的神力而定。(以随机数表来决定神祗的情况)。|
|在极罕见的场合下,此法术会被特定神祗或力量所阻碍。|

|!	所探知的异界	|!	避免智力与魅力的暂时减值	|!	真实答案	|!	不知道	|!	谎言	|!	随机回答	|
|	元素界	|	DC 7/一周	|	01-34	|	35-62	|	63-83	|	84-100	|
|	(相关问题)	|	(DC 7/一周)	|	(01-68)	|	(69-75)	|	(76-98)	|	(99-100)	|
|	正/负能量界	|	DC 8/一周	|	01-39	|	40-65	|	66-86	|	87-100	|
|	星界	|	DC 9/一周	|	01-44	|	45-67	|	68-88	|	89-100	|
|	外层界:半神	|	DC 10/两周	|	01-49	|	50-70	|	71-91	|	92-100	|
|	外层界:低阶神	|	DC 12/三周	|	01-60	|	61-75	|	76-95	|	96-100	|
|	外层界:中阶神	|	DC 14/四周	|	01-73	|	74-81	|	82-98	|	99-100	|
|	外层界:高阶神	|	DC 16/五周	|	01-88	|	89-90	|	91-99	|	100	|

|避免智力与魅力的暂时减值:你必须通过智力检定的DC来避免智力与魅力的暂时减值。如果检定失败,你的智力和魅力属性将在如上表的时间内下降到8,你将无法施展奥术。如果智力和魅力下降,该效果将会在你第一个问题提出时发生作用,并且你得不到回答(括号中的数值是针对该元素界有关的问题)。|
|''接触成功的结果:''投百分骰对照上表数值:|
|//真实答案://你得到一个单词的简短真实答案。如果无法如此答复,将得到随机回答。|
|//不知道://你得到的答复为它不知道。|
|//谎言://你被故意欺骗。|
|//随机回答://你得到的答案不知真假,因为对方想欺骗你却也不知道答案。|
!!!疫病术(Contagion)
|死灵系[邪恶]|
|''等级:''牧师3,破坏3,德鲁伊3,术士/法师4|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触到的活物|
|''持续时间:''立即|
|''豁免检''定:强韧,通过则无效|
|''法术抗力:''可|
|此法术可以传染下列表格中的疾病,并立即发病(无潜伏期)。下列注明为病发时的豁免检定DC(第一次豁免判定使用对抗疫病术的正常豁免DC)。|

|!	疾病	|!	DC	|!	伤害	|
|	失明症(Blinding sickness)	|	16	|	1d4 力量^^1^^	|
|	失心疯(Cackle fever)	|	16	|	1d6 感知	|
|	腐热症(Filth fever)	|	12	|	1d3 敏捷和1d3体质	|
|	脑热症(Mindfire)	|	12	|	1d4 智力	|
|	红肿症(Red ache)	|	15	|	1d6 力量	|
|	颤栗症(Shakes)	|	13	|	1d8 敏捷	|
|	恶心症(Slimy doom)	|	14	|	1d4 体质	|
|1 每当受害者因为失明症损失2点或更多的力量时,他或她必须作另一次的强韧豁免检定(用感染疾病时的豁免检定DC),失败则永久目盲。|<|<|
!!!触发术(Contingency)
|塑能系|
|''等级:''术士/法师6|
|''法术成分:''言语,姿势,材料,器材|
|''施法时间:''至少10分钟;见说明|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''1天/每等级(可解消),或直到能量散发|
|通过施展触发术并指定一些条件,你可以将别的法术放置在你身上,当达到指定条件时这个法术随之生效。 触发术和伴随的法术要同时施展。施展两个法术的最短所需时间为10分钟。如果伴随的法术施法时间超过10分钟,则以那个法术施法时间代替。|
|被触发的法术必须以你为目标,且法术等级最高不超过你施法者等级的三分之一(小数向下取整,最高为6级法术)。|
|法术触发条件必须定义清晰,但可以是一般的事件。当达到相应条件时,触发术会立即触发相伴随的法术效果。如果设定的条件太复杂,整个法术组合(触发术和伴随法术)将有可能会在触发的时候失效。伴随法术是否会触发完全取决于周围环境是否达到触发条件,无论你愿不愿意。|
|你一次只能使用一个“触发术”。如果你施展第二次,前一次的“触发术”(如果没有失效)将自动解除。|
|//材料成分://伴随法术所需的材料成分,加上水银和一根食人魔法师(ogre mage)、邪鬼兽(rakshasa)或其他会施法生物的眼睫毛。|
|器材:你自己雕刻的镶嵌宝石的象牙雕像(至少价值1500金币)。你必须携带雕像触发术才会启动。|
!!!不灭明焰(Continual Flame)
|塑能系[光]|
|''等级:''牧师3,术士/法师2|
|''法术成分:''言语、姿势、材料|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触到的物品|
|''效果:没有''热量的魔法火焰|
|''持续时''间:永久|
|''豁免检定:''无|
|法术抗力:不可|
|火焰从你接触的物体上向外跃出,带来和火炬相同的光亮。该效果看上去和普通火焰无异,但它并不散发热量也不需要消耗氧气。一个不灭明焰可以被掩藏起来,但无法熄灭它。|
|光明法术可以反制或解除相同级别或更低级的黑暗法术。|
|//材料成分://将红宝石粉末(价值50金币)铺洒在物体上来点燃火焰。|
!!!操控植物(Control Plants)
|变化系|
|''等级:''德鲁伊8,植物8|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''最多2HD/每等级的植物,任意两个的间距不超过30英尺|
|''持续时间:''1分钟/每等级|
|''豁免检定:''意志,通过则无效|
|''法术抗力:''不可|
|这个法术让你在短时间内控制一个或者更多的植物类生物。你用声音命令它们,它们也能听懂你,不管你说什么语言。你可以下达一些非常过分、无法忍受的要求,也不必担心它们会攻击你。法术结束后,受控制的植物类生物将恢复正常的形态。|
|自杀或者自残的命令将被完全忽视。|
!!!操控死灵(Control Undead)
|死灵系|
|''等级:''术士/法师7|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''最多2HD/每等级的不死生物,任意两个的间距不超过30英尺|
|''持续时间:''1分钟/每等级|
|''豁免检定:''意志,通过则无效|
|''法术抗力:''可|
|这个法术让你在短时间内控制一个或者更多的不死生物。你用声音命令它们,它们也能听懂你,不管你说什么语言。你可以下达一些非常过分、无法忍受的要求,也不必担心它们会攻击你。法术结束后,受控制的不死生物将恢复正常的形态。|
|智慧不死生物将记得你控制过它们。|
|//材料成分://一小块骨头和一小块生肉。|
!!!操纵水位(Control Water)
|变化系[水]|
|''等级:''牧师4,德鲁伊4,术士/法师6,水4|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''远距(400英尺+40英尺/每等级)|
|''影响区域:''大小为长宽每等级10英尺,深度每等级2英尺(可变)|
|''持续时间:''10分钟/每等级(可解消)|
|''豁免检定:''无;见说明|
|''法术抗力:''不可|
|根据你的选择,操纵水位可让水位上扬或下降。|
|//降低水位://每施法者等级让水或类似液体下降2英尺(水位至少为1英寸深)。水面以施法者等级乘以10英尺的长度为边长的正方形形状下降。如果是在宽广深邃的水域,如深海,法术将制造出漩涡,将附近的船只物体卷入其中,在法术结束前,船只不可能以普通方式离开。如果法术施展在水元素或其他由水构成的生物身上,会造成[[缓慢术|Slow(缓慢术)]]的效果(意志,通过则无效)。但对其他种类生物无效。|
|//水位上扬://和降低水位类似,但是让水或类似液体表面上扬。范围内的船只将会沿着隆起边缘滑落。如果施法区域附近有陆地,河堤,海滩等类似地形,水会倾倒灌入其中。|
|无论是降低还是上扬,你都可以将方形的其中一个方向长度减半,同时让另一方向长度加倍。|
|//奥术材料://一滴水(用于水位上扬)或者一撮灰(用于降低水位)。|
!!!操控天气(Control Weather)
|变化系|
|''等级:''气7,牧师7,德鲁伊7,术士/法师7|
|''法术成分:''言语,姿势|
|''施法时间:''十分钟;见说明|
|''距离:''2英里|
|''影响区域:''以你为中心的2英里半径范围;见说明|
|''持续时间:''4d12小时;见说明|
|''豁免检定:''无|
|''法术抗力:''不可|
|你可以改变当地的天气。你花费10分钟的时间来施法,然后等待10分钟法术就会生效。你可以变换与当地气候、季节相符合的天气出来。|

|!	季节	|!	可能出现的天气	|
|	春季	|	龙卷风、雷暴、暴风雪或热天气	|
|	夏季	|	暴雨、热浪或大冰雹	|
|	秋季	|	冷或热天气、雾或雨夹雪	|
|	冬季	|	严寒、大风雪或回暖	|
|	晚冬	|	旋风级别的风力或早春(沿海地区)	|

|你能控制天气的大致趋向,例如风的方向和强度。但你不能控制天气的细节--例如闪电在哪里劈落,龙卷风沿途路径等等。当你选择好要出现的天气,它将会在10分钟之后出现(天气会逐渐变化,而非突然)。天气将在剩下的时间持续,或直到你用一个标准动作指定新的天气(每次转换都需要10分钟)。情况完全相反的天气不可能同时存在。|
|操纵天气可以消除天气状态(自然或非自然的),如同它制造天气。|
|德鲁伊施展此法术时,持续时间翻倍,影响区域半径也增加至3英里。|
!!!操纵风相(Control Winds)
|变化系|
|''等级:''气5,德鲁伊5|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''40英尺/每等级|
|''影响区域:''高40英尺、半径为40英尺/每等级的圆柱体区域|
|''持续时间:''10分钟/每等级|
|''豁免检定:''强韧,通过则无效|
|''法术抗力:''不可|
|你可以控制区域内的风相。你可以使风朝着特定的方向或者使用特定的方式吹,增强或减弱风力。新的风相将持续到法术结束,或直到你通过专注精神来加以改变。你可以在平静无风的区域制造一个直径最大80英尺的风眼(其中没有风),你也可以由你的意愿决定这个柱形区域的大小,只要不超过最大范围。|
|风向:你可以选择下列四条基本风向中的一种出现在法术范围区域。|
|·从中心吹出向下流动的风,各个方向强度相等。|
|·由周围往中心区域以相同风力流淌的上升气流,在即将抵达中心区域前变为向上直升。|
|·以顺时针或逆时针围绕中心旋转的风。|
|·平时的阵风,从指定的一个方向横向吹到另一边。|
|风力:每三个施法者等级,你可以选择增强或减弱一个等级的风力。每一轮中,区域内的生物都要通过强韧检定来避免强风所造成的伤害。|
|强风(strong wind)(时速21英里以上)使航行变得困难。|
|烈风(severe wind)(时速31英里以上)使较小的船只和建筑物遭受损害。|
|暴风(windstorm)(时速51英里以上)将大多数的飞行生物吹离此片天空,将小树连根拔起,吹倒小型木质结构建筑,吹翻屋顶,并威胁到船只。|
|飓风(hurricane force wind)(时速75英里以上)摧毁木质建筑物,偶尔也会将大树连根拔起,导致大部分船只沉没。|
|龙卷风(tornado)(时速175英里以上)摧毁所有未经加固强化的建筑,并常常将大树连根拔起。|
!!Couatl(羽蛇)

''大型异界生物(本地)''

|''生命骰:'' 9d8+18(58hp)|
|''先攻权:'' +7|
|''速度:'' 20尺(4格),飞行60尺(良好)|
|''防御等级:'' 21(-1体质,+2敏捷,+9天生),接触12,措手不及18|
|''基本攻击/擒抱:'' +9/+17|
|''攻击:'' 撕咬+12近战(1d3+6外加毒素)|
|''全回合攻击:'' 撕咬+12近战(1d3+6外加毒素)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 紧勒2d8+6,精通擒抱,毒素,心灵异能,法术|
|''特性:'' 黑暗视觉60尺,幻化灵体,心灵感应90尺|
|''豁免:'' 强韧+8,反射+9,意志+10|
|''属性:'' 力量18,敏捷16,体质14,智力17,感知19,魅力17|
|''技能:'' 专注+14,交涉+17,跳跃+0,知识(任意两项)+15,聆听+16,搜索+15,察言观色+16,辨识法术+15(+17对卷轴),侦查+16,生存+4(使用追踪后+6),翻滚+15,使用魔法装置+15(+17对卷轴)|
|''专长:'' 闪避,法术强效, 施法免材,盘旋,精通先攻|
|''环境:'' 温暖的森林|
|''组织:'' 单独,成双或成群飞翔(3-6)|
|''挑战等级:'' 10|
|''宝物:'' 标准|
|''阵营:'' 总是守序善良|
|''进化:'' 10-13HD(大型);14-24HD(超大型)|
|''等级调整:'' +7|

羽蛇大约有12尺长,翼展约有15尺。重约1800磅。

羽蛇能说天界语,通用语和龙语,还拥有心灵感应能力(见下)。

!!! 战斗

羽蛇会对任何它怀疑的生物使用侦测思想能力。它们拥有很高的智力,在敌人接近之前先在远距离使用魔法。如果一个以上的羽蛇参与作战,战斗之前他们会商讨战略。

''紧勒(特异):''只要通过一次成功的擒抱检定就可以造成2d8+6伤害。

''精通擒抱(特异):''使用此能力,羽蛇必须先用撕咬命中不大于其体形两级以上的生物。然后可以用一个即时动作尝试擒抱对手,该动作不会引发借机攻击。如果成功通过擒抱检定,则对方被定身并造成紧勒效果。

''毒素(特异):''强韧DC16,初始伤害2d4力量,后续伤害4d4力量。此项豁免DC基于体质。

''心灵异能(超自然):''随意施展——侦测混乱,侦测邪恶,侦测善良,侦测秩序,侦测思想(DC15),隐形术,异界传送(DC20),变形术(只多自己有效)。有效施法者等级9。此项豁免DC基于魅力。

''法术:''羽蛇可以如同9级术士一样施展法术。

它可以从术士,牧师以及空气,善良,秩序领域的法术列表中选择已知法术。牧师法术和领域法术对于羽蛇相当于奥术,这意味着羽蛇可以不依靠神力来施展它们。

//典型已法术(6/7/7/7/4; 豁免 DC 13 + 法术等级)://

|0级—治疗微伤,晕眩术,打击死灵,光亮术,隐雾术,冷冻射线,阅读魔法,提升抗力;|
|1级—忍受环境,法师护甲,防护混乱,克敌机先,风墙术;|
|2级—治疗中度伤,鹰之威仪,灼热射线,沉默术;|
|3级—气化形体,反邪恶法阵,三级召唤怪物术;4级—魅惑怪物,行动自如。|

''幻化灵体(超自然):''此能力相当于幻化灵体法术(施法者等级16)。

''心灵感应(超自然):''羽蛇可以通过心灵感应于任何90尺内的智慧生物沟通。此生物可以不通过普通的语言对羽蛇产生回应。 
''Counterspells(反制法术):'' 这枚戒指有些象“储法戒指”,可以储一个一至六级法术,但不同的是不能用于施展。如果有人对佩带者施展同一法术,则戒指会自动对该法术进行反制,效果如同反制法术,但佩带者不须做任何动作(甚至不需要相关的知识) 。 一旦反制效果启动,则戒指内的法术就会消失,其后可存入一个新的法术。

CL:11。先决条件:锻造戒指, 法术灌输。价格 4,000 gp.
!!! 掩蔽(COVER)

要判断你的远程攻击中你的目标是否有掩蔽,先从你的占据区域上选择一个角。如果从这个角到对方区域的任何一个角之间的连线穿过了某个能阻挡效果线或者提供掩蔽的方格或边线,或者穿过了某个被其他生物占据的方格,那么该目标处于掩蔽状态(+4 AC)。

当对临近目标进行近战攻击时,如果从你的方格到对方方格之间有任何连线穿过了墙(包括矮墙),对方即处于掩蔽状态。当对不临近的目标进行近战攻击时(例如使用触及武器),使用远程攻击规则来决定掩蔽状态。

''低矮障碍和掩蔽:''较矮的障碍(例如不到你一半高的墙)提供掩蔽,但是只对周围30尺(6个方格)内的生物起作用。如果攻击者比目标更接近该障碍物,那么攻击者可以忽视此掩蔽。

''掩蔽和借机攻击:''你无法对对你来说处在掩蔽状态的敌人进行借机攻击。

''掩蔽和反射检定:''在对抗掩蔽另外一边的产生或爆发性攻击时,你在反射检定上有+2加值。注意扩散性效果可以扩展绕过转角,因此它可以忽视这种掩蔽效果。

''掩蔽和躲藏检定:''你可以利用掩蔽做躲藏检定。没有掩蔽,通常需要隐蔽(见后)才能做躲藏检定。

''软掩蔽(Soft Cover):''生物,甚至你的敌人都可以在远程攻击中给你提供掩蔽,让你的AC获得+4加值。但是这种软掩蔽不会给你提供反射加值,也不能利用软掩蔽做躲藏检定。

''大型生物和掩蔽:''任何占据空间大于五尺(一个方格)的生物在决定是否在近战攻击中有掩蔽时和较小型生物有些不同。这样的生物可以选择任何一个占据的方格来判断对方是否在他的近战攻击中具有掩蔽。同样,在近战攻击这种生物时,你也可以选择任何一个他占据的空间来决定他是否在你的攻击中有掩蔽。

''全掩蔽(Total Cover):''如果你和目标之间不存在效果线,那么就认为对方对你处于全掩蔽状态。你不能对处在全掩蔽的目标进行攻击。

''变化掩蔽程度:''在某些情况中,掩蔽可能会提供更多的AC加值和反射检定加值。在这些情况下,正常的AC上掩蔽加值和反射检定上的掩蔽加值得到翻倍(分别为+8和+4)。处在这种较好的掩蔽状态下的生物在遭受任何可以应用反射检定豁免的攻击时都可以获得精通反射闪避能力。另外,在这种掩蔽状态下躲藏检定可以得到+10加值。
 

''畏缩(Cowering):''人物被吓住以至于无法做动作。畏缩的人物在防御等级上有-2减值并失去AC上敏捷加值(如果有的话)。

 
!!! 制造魔法武器及防具(CRAFT MAGIC ARMS AND ARMOR)[制造物品专长]

''先决条件:''施法者等级达5级。

''效果:''你可以制造任何你已经满足其制造前提的魔法武器、盔甲或盾牌。给武器、盔甲或者盾牌附上特殊魔法需要花费的时间(以日为单位)相当于其魔法特性价格的1/1000(以金币为单位)。此外,你还需要支付相当于其特性总价格1/25的经验值,以及相当于该价格一半的原料费用。

用来附上魔法的武器、盔甲或盾牌必须是精制品(上述支出并不包括制造精制品的费用)。

只要你有能力制造同样的东西,便可以修复破损的魔法武器、盔甲或盾牌。你必须支付相当于制造时一半的经验值、原料费用和时间。

!!! 制造权杖(CRAFT ROD)[制造物品专长]

''先决条件:''施法者等级达9级。

''效果:''你可以制造任何你已经满足其制造前提的权杖。制造权杖时,你必须花的时间(以日为单位)相当于该权杖基本价格的1/1000(以金币为单位)。此外,你还需要支付相当于基本价格1/25的经验值,以及相当于该价格一半的原料费用。

有些权杖还需花费额外材料成分或经验值(不包括在上述支出中),这些都会注明在该物品说明中。
!!! 制造法杖(CRAFT STAFF)[制造物品专长]

''先决条件:''施法者等级达12级。

''效果:''你可以制造任何你已经满足其制造前提的法杖。制造法杖时,你必须花的时间(以日为单位)相当于该法杖基本价格的1/1000(以金币为单位)。此外,你还需要支付相当于基本价格1/25的经验值,以及相当于该价格一半的原料费用。一根新的法杖内含50次储能。

有些法杖还需花费额外材料成分或经验值(不包括在上述支出中),这些都会注明在该物品说明中。

!!! 制造魔杖(CRAFT WAND)[制造物品专长]

''先决条件:''施法者等级达5级。

''效果:''你可以制造存储你所知晓法术的魔杖,法术等级为四级或更低。魔杖基本价格 = 施法者等级 x 所含法术等级 x 750金币。你必须花的时间(以日为单位)相当于该魔杖基本价格的1/1000(以金币为单位)。此外,你还需要支付相当于基本价格1/25的经验值,以及相当于该价格一半的原料费用。一根新的魔杖内含50次储能。

除了上述基本价格支出之外,如果魔杖中的法术带有昂贵的材料成分,或需要消耗经验值,则制造时还须支付50倍的材料成分或经验值。
!!! 制造奇物(CRAFT WONDROUS ITEM)[制造物品专长]

''效果:''你可以制造任何你已经满足其制造前提的奇物。为奇物附上魔法时,你必须花的时间(以日为单位)相当于其价格的1/1000(以金币为单位)。此外,你还需要支付相当于其价格1/25的经验值,以及相当于该价格一半的原料费用。

只要你有能力制造同样的东西,便可以修复破损的奇物。你必须支付相当于制造时一半的经验值、原料费用和时间。

有些奇物还需花费额外材料成分或经验值(不包括在上述支出中),这些都会注明在该物品说明中。不论是制造或修复时,都须支付这些额外支出。
!! Craft(手艺)(智力)

和知识(Knowledge)、表演(Perform)、专业(Profession)类似,手艺实际上也是很多独立的技能。你可以有好几项手艺技能,每一项都有自己的级数,每一项都作为独立技能来购买。

手艺技能特指那些创造物品的技能。如果工作并未创造物品,那么也许它应该归在专业技能下。

''检定:''你可以照料自己的生意和维持不错的生活,专心工作一周收入的金币数是你检定结果的一半。你知道如何使用你工作的工具,如何进行日常手艺工作,如何管理其他未受训的帮手,以及如何处理常见问题。(未受训劳动者和助手的收入平均每天一个银币。)

当然,手艺技能的基本作用是让你制作相关类型的物品。DC依赖于制造物品的复杂程度。DC,你的检定结果,以及物品价格都决定了制造这个物品需要多长时间。物品最终价格决定了原材料的成本。

在有些情况下,可以用法术鬼斧神工(fabricate)来得到手艺检定结果而不必真的做相关检定。但是,在使用这个法术制作需要高度手工艺的物品时你依然必须做一次相关的手艺检定。

成功的木工方面手艺检定加上法术金刚木(ironwood)可以让你制造出具有钢铁硬度的木制品。

在施展法术次级造物术(minor creation)制造复杂物品时,你必须在相关手艺检定上获得成功。

所有手艺都需要工匠工具来增大成功机会。如果使用临时工具,该检定将受到-2环境减值。另外一方面,精制品工匠工具可以给检定提供+2环境加值。

要决定制造一件物品需要多少时间和多少金钱,需要以下步骤:

# 找到该物品价格。将此价格以银币表示(1金币=10银币)。
# 在之后表中找到DC。
# 支付物品价格的三分之一作为原材料成本。
# 做一次相关手艺检定代表一周的工作。如果检定成功,将此检定结果乘以DC。如果结果乘DC达到物品价格的银币数,那么你制作完成了该物品。(如果结果乘DC达到物品价格银币数的两倍或三倍,那么你以二分之一或三分之一时间完成了该任务。DC的其他倍数也会相应缩短制造时间。)如果检定结果乘DC没有达到价格,那么它代表了你这一周工作的进展。记录这个数值并在下一周做一次新的手艺检定。每一周你都取得一部分进展,直到总进展达到了物品价格的银币数。

如果检定失败4或更少,你在本周没有取得进展。

如果检定失败5或更多,你浪费了一半原料,必须再支付一半初始原料成本。

//以日计进程://你可以以日进行检定而不是以周为单位。在这种情况下你的进展(检定结果乘DC)以铜币计算而不是银币。

//制造精制品物品://你可以制造一件精制品物品——一件武器、一套盔甲,或者可以在特定手艺上提供加值的工具,但不能是魔法的。要制造精制品物品,你需要像制造独立于标准物品的物品一样制造精制品成分。精制品成分有自己的价格(对武器来说价格为300金币,对盔甲或盾牌来说价格为150金币),手艺DC为20。只有当标准成分和精制品成分都完成时,该精制品物品即制造完成。注意:你支付的精制品成分成本是之前给出数字的三分之一,就如同它是原料成本一样。

//修理物品://一般来说,你可以以和第一次制造该物品相同的DC来修理物品。修理成本是该物品价格的五分之一。

 

当使用手艺技能制造某类物品时,这类物品的典型检定DC在下表中给出:

|!物品	 |!	手艺技能 	|!	手艺DC	|
|^	酸 	|^	炼金术^^1^^ 	|^	15	|
|^	炽火胶,烟雾棒,或者火柴 	|^	炼金术^^1^^ 	|^	20	|
|^	解毒剂,照明杖,拌足包,或者爆雷石 	|^	炼金术^^1^^ 	|^	25	|
|^	盔甲或盾牌 	|^	制造防具	|^	10 + AC加值	|
|^	长弓或短弓 	|^	制弓	|^	12	|
|^	复合长弓或复合短弓	|^	制弓	|^	15	|
|^	有高力量值的复合长弓或复合短弓	|^	制弓	|^	15 + (2 × 力量值)	|
|^	弩 	|^	制造武器	|^	15	|
|^	简单近战或投掷武器 	|^	制造武器	|^	12	|
|^	军用近战或投掷武器 	|^	制造武器	|^	15	|
|^	异种近战或投掷武器 	|^	制造武器	|^	18	|
|^	机械陷阱 	|^	制造陷阱	|^	可变的^^2^^	|
|^	非常简单的物品(木匙) 	|^	可变	|^	5	|
|^	一般的物品(铁锅) 	|^	可变	|^	10	|
|^	高质量的物品(铃铛)	|^	可变	|^	15	|
|^	复杂或高级的物品(锁) 	|^	可变	|^	20	|
|^	1 要制作这些物品你必须是一名施法者。	|^		|^		|
|^	2 陷阱有自己的建造规则。	|^		|^		|


''动作:''不使用这个概念。手艺检定是按照每天或每周做的(见前)。

''重试:''可以,但是每当失败5或更多,你都浪费了一半原料,必须再支付一半初始原料成本。

''特别:''矮人在进行石头或金属相关的手艺检定时有+2种族加值,因为矮人对石工和金属工艺有特别才能。

侏儒在手艺(炼金术)检定上有+2种族加值,因为侏儒有灵敏的鼻子。

在制造物品时你可以主动增加10点DC 。这样就可以让你更快速的制造物品(因为在决定进展时你用较高的DC乘以你的检定结果)。你必须在做每周或每日检定前决定是否增加DC。

要使用手艺(炼金术)制造物品时,你必须有炼金术设备,而且你必须是一个施法者。如果你在城市内工作,你可以买到所需的原材料,但是在一些地方很难得到甚至不可能得到炼金术设备。购买并维持一个炼金术士实验室可以在手艺(炼金术)检定上获得+2加值,因为你有这项工作的合适工具,但是对使用该技能制造物品的成本没有任何影响。

''共效:''如果你在一项手艺技能上级数达到5或更高,你在对这类手艺制造的物品进行估价检定时有+2加值。
!!!造粮术(Create Food and Water)
|咒法系(创造)|
|''等级:''牧师3|
|''法术成分:''言语,姿势|
|''施法时间:''10分钟|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''每等级每天维持3个人或一匹马的水和粮食|
|''持续时间:''24小时;见说明|
|''豁免检定:''无|
|''法术抗力:''不可|
|这个法术仅能创造出足够维生的食物--非常有营养的,除了有些清淡。这样创造的食物会在24小时后变得腐烂而不能食用,不过用[[净化食粮|Purify Food and Drink(净化食粮)]]可以多保存一天。创造出来的水如同洁净的雨水,也不会如同食物般腐烂。|
!!!唤起高等死灵(Create Greater Undead)
|死灵系[邪恶]|
|''等级:''牧师8,死亡8,术士/法师8|
|这个法术的作用与[[唤起死灵|Create Undead(唤起死灵)]]类似,但它可以创造出更强大更聪慧的不死生物:幽影、缚灵、幽灵和囚魂魔。你的施法者等级决定你可以制造何种不死生物,见下表:|

|!	施法者等级	|!	可创造的不死生物	|
|	15或更低	|	幽影(Shadow)	|
|	16-17	|	缚灵(Wraith)	|
|	18-19	|	幽灵(Spectre)	|
|	20或更高	|	囚魂魔(Devourer)	|
!!!唤起死灵(Create Undead)
|死灵系[邪恶]|
|''等级:''牧师6,死亡6,邪恶6,术士/法师6|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1小时|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一具尸体|
|''持续时间:''立即|
|''豁免检定:''无|
|''法术抗力:''不可|
|比[[操纵死尸|Animate Dead(操纵死尸)]]更强而有力,此法术允许你造出更强大的不死生物:食尸鬼,妖鬼,木乃伊和魔魂尸。你能造出的不死生物类型取决于你的施法者等级,如下表。|

|!	施法者等级	|!	可创造的不死生物	|
|	11或更低	|	食尸鬼(Ghoul)	|
|	12-14	|	妖鬼(Ghast)	|
|	15-17	|	木乃伊(Mummy)	|
|	18或更高	|	魔魂尸(Mohrg)	|

|如果你愿意,你可以选择制造比你施法者等级对应等级低的不死生物。被唤起的死灵并非自动受制于他们的制造者。如果你有能力对不死生物发号施令,你可以尝试去控制这些不死生物。|
|此法术只能在夜晚施放。|
|//材料成分://两个陶罐,一个装满墓穴的泥土,另一个装满咸水。此法术必须在死尸身上施展。你必须将在每具死者的嘴巴或眼窝里放入一枚黑玛瑙,该黑玛瑙的价值必须至少为所创造不死生物每HD 50gp。法术的影响将会使这些宝石变成毫无价值的贝壳。|
!!!造水术(Create Water)
|咒法系(创造)[水]|
|''等级:''牧师0,德鲁伊0,圣武士1|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''每等级最多制造2加仑水|
|''持续时间:''立即|
|''豁免坚定:''无|
|''法术抗力:''不可|
|此法术造出如同洁净雨水的可饮用水。可以让水充满一片大小适中的区域,或三倍于此的区域--水可能会像倾盆大雨一样落下,或填充许多小容器。|
|//注意://咒法系法术不能在生物体内造出物质或物体。每加仑水约重8磅。一立方英尺可以容纳8加仑的水,大约60磅重。|
!!!漫天虫蚀(Creeping Doom)
|咒法系(召唤)|
|''等级:''德鲁伊7|
|''法术成分:''言语,姿势|
|''施法时间:''1轮|
|''距离:''近距(25英尺+5英尺/每2等级)/100英尺;见说明|
|''效果:''每两等级一大群蜈蚣|
|''持续时间:''1分钟/每等级|
|''豁免检定:''无|
|''法术抗力:''不可|
|当你施展漫天虫蚀时,你能召唤来大量的蜈蚣群(centipede swarms)(每两等级一群,最多能在20级时召唤10群),它们不需要邻近紧挨着出现。|
|你可以在别的生物所处的区域召唤蜈蚣群。它们将会在原地攻击区域内的任何生物,除非你命令它们离开(一个标准动作)。耗费一个标准动作,你可以命令任意数量的蜈蚣群朝距离你100英尺内的目标移动。你不能命令虫群移到你100尺外,而且如果你离开它们100尺外,他们都将停留在原地攻击任何进入它们占据区域内的生物(但将你回到100尺范围内它们将再次受命于你)。|
!!Crocodile, Giant(巨鳄 )

''超大型动物''

|''生命骰:'' 7d8+28 (59 hp)|
|''先攻权:'' +1|
|''速度:'' 20尺 (4格),游泳30尺|
|''防御等级:'' 16 (-2体型,+1敏捷,+7天生),接触9,措手不及15|
|''基本攻击/擒抱:'' +5/ +21|
|''攻击:'' 啮咬 +11 近战 (2d8+12);或尾击 +11 近战 (1d12+12)|
|''全回合攻击:'' 啮咬 +11 近战 (2d8+12);或尾击 +11 近战 (1d12+12)|
|''面宽/触及:'' 15尺/ 10尺|
|''特殊攻击:'' 精通攫抓|
|''特性:'' 闭气,昏暗视觉|
|''豁免:'' 强韧+9,反射+6,意志+3|
|''属性:'' 力量27,敏捷12,体质19,智力1,感知12,魅力2|
|''技能:'' 躲藏+1*,聆听+5,侦察+5,游泳+16|
|''专长:'' 警觉,坚忍,技能专攻 (躲藏)|
|''环境:'' 温暖的沼泽|
|''组织:'' 单独或成群 (6-11)|
|''挑战等级:'' 4|
|''进化:'' 8-14HD (超大型)|
|''等级调整:'' -|


这些超大型的生物通常生活在盐水区域,并且其身长可超过20尺。

巨鳄的战斗方式和行为与其较小的[[同类|Crocodile(鳄 )]]类似。
!!Crocodile(鳄 )

''中型动物''

|''生命骰:'' 3d8+9 (22 hp)|
|''先攻权:'' +1|
|''速度:'' 20尺 (4格),游泳30尺|
|''防御等级:'' 15 (+1敏捷,+4天生),接触11,措手不及14|
|''基本攻击/擒抱:'' +2/ +6|
|''攻击:'' 啮咬 +6 近战 (1d8+6);或尾击 +6 近战 (1d12+6)|
|''全回合攻击:'' 啮咬 +6 近战 (1d8+6);或尾击 +6 近战 (1d12+6)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 精通攫抓|
|''特性:'' 闭气,昏暗视觉|
|''豁免:'' 强韧+6,反射+4,意志+2|
|''属性:'' 力量19,敏捷12,体质17,智力1,感知12,魅力2|
|''技能:'' 躲藏+7*,聆听+4,侦察+4,游泳+12|
|''专长:'' 警觉,技能专攻 (躲藏)|
|''环境:'' 温暖的沼泽|
|''组织:'' 单独或成群 (6-11)|
|''挑战等级:'' 2|
|''进化:'' 4-5HD (中型)|
|''等级调整:'' -|


鳄是11到12尺长的攻击性强的猎食者。它们的大部分身体都潜藏在河流或沼泽中,只有眼睛和鼻孔露在外面,等待猎物进入进入攻击范围。

!!!战斗

''精通攫抓 (Ex):''使用此能力之前,鳄必须通过其啮咬攻击击中对手。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。如果它成功通过擒抱检定,则可通过其嘴巴将对手定身并拖拽到深水中,尝试将猎物压制在水底。

''闭气 (Ex):''在可能遇溺之前,鳄可以摒住呼吸达6 x 其体质值的轮数。

''技能:''在进行游泳检定做出特殊动作或躲避危险时,鳄可获得+8的种族加值。它可以在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。

*在水中进行躲藏检定时鳄可获得+4的种族加值。此外,鳄可躺在水中只露出眼睛和鼻孔,这种情况下进行躲藏检定时可获得+10的掩蔽加值。
!!!绝望无助(Crushing Despair)
|惑控系(胁迫)[影响心灵]|
|''等级:''吟游诗人3,术士/法师4|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''30英尺|
|''范围:''锥状爆发|
|''持续时间:''1分钟/每等级|
|''豁免检定:''意志,通过则无效|
|''法术抗力:''可|
|一股无形的、使人因绝望而悲伤至极的锥状能量在受影响的区域内爆发。每个受影响的生物以下检定将受到-2减值:攻击骰,豁免,属性检定,技能检定,和武器伤害骰。|
|绝望无助可以反制或解除[[强大希望|Good Hope(强大希望)]]。|
|//材料成分://一小瓶眼泪。|
!!!粉碎掌(Crushing Hand)
|塑能系[力量]|
|''等级:''术士/法师9,力量9|
|''法术成分:''言语、姿势、材料、器材/法器|
|该法术类似[[护身掌|Interposing Hand(护身掌)]],不同的是它能自动遮掩施法者,推开或碾压一个你挑选的目标。|
|粉碎掌能像[[擒拿掌|Grasping Hand(擒拿掌)]]一样擒抱一个生物。它的擒抱加值等于你的施法者等级+你的智力(法师)、感知(牧师)、或者魅力(术士)修正,魔手本身力量加值+12(力量35),大体形+4加值。魔手可以在每次擒抱成功后对目标造成2d6+12点伤害(正常伤害,并非非致命伤)。|
|粉碎掌可以像[[护身掌|Interposing Hand(护身掌)]]一样掩护你,也可以像[[飞击掌|Forceful Hand(飞击掌)]]一样冲撞对手,不过力量检定加值为+18。|
|指引该魔手往新的目标是一个类移动动作。|
|施法的牧师以他的神祗来命名此法术。|
|//奥术材料成分://一个鸡蛋壳。|
|//奥术器材://一只蛇皮手套。|
''Crystal Ball(水晶球): ''“水晶球”是最普遍的探知装置,直径大约六英寸,可以用来探知任何距离或任何实存界中的事物,效果如同“探知”法术(意志DC=16)。

有些“水晶球”具有特殊能力,能使用于被探知对象身上。

|!	水晶球类型	 |!	价格	 |
|^	水晶球	 |^	42,000gp	 |
|^	识破隐形水晶球	 |^	50,000gp	 |
|^	侦测思想水晶球	 |^	51,000gp	 |
|^	心灵感应水晶球*	 |^	70,000gp	 |
|^	真实目光水晶球	 |^	80,000gp	 |

|* 探知者可以对探知对象传送或接收心灵讯息,还可以试图植入“暗示”效果(DC=14),每天一次|

施法者等级:10。先决条件:“制造奇物”,“探知”(以及附于其上的法术)。重量:7磅
''Cube of Force(力场魔方): ''此方块的材质可能是象牙、骨头或质地坚硬的矿物,形状则像较大的骰子(直径约0.75英寸)。使用者可以在周围升起力墙,形成每边10英尺的立方体。此立方体会随使用者移动,并阻隔各种型式的攻击(参见下表)。此方块使用次数为36发,每日重设。使用者按下方块不同面,即可升起或解除不同力墙。

力墙升起后,若受到30点以上的伤害,每超过10点便消耗1发(40点消耗1发,50点消耗2发,以此类推)。有些法术(参见下表)可以影响力墙,使其消耗能量发数。这些法术的效果无法穿过力墙。

|!	Cube Face	 |!	每分钟消耗发数	 |!	最大速度	 |!	效果	 |
|^	1	 |^	1	 |^	30ft.	 |^	防风,防烟等	 |
|^	2	 |^	2	 |^	20ft.	 |^	阻隔无生命体	 |
|^	3	 |^	3	 |^	15ft.	 |^	阻隔生命体	 |
|^	4	 |^	4	 |^	10ft.	 |^	阻隔魔法	 |
|^	5	 |^	6	 |^	10ft.	 |^	阻隔一切	 |
|^	6	 |^	0	 |^	正常速度	 |^	解除力墙	 |

|!	攻击方式	 |!	消耗发数	 |
|^	音爆号角	 |^	6	 |
|^	火墙	 |^	2	 |
|^	穿墙	 |^	3	 |
|^	解离	 |^	6	 |
|^	相位门	 |^	5	 |
|^	虹光喷射	 |^	7	 |


施法者等级:10。先决条件:“制造奇物”,“力墙术”。交易价格:62000金币。
''Cube of Frost Resistance(抗冻魔方): ''启动此方块后会在持有者周围产生一个10英尺立方的场域,此场域内温度保持摄氏20度以上,并且可以吸收所有寒冷性质的攻击(如“冰风暴”、“寒冰锥”、白龙的龙息等)。然而,如果在一轮内受到50点以上的伤害(无论单一或多重来源),场域就会毁坏,一小时内无法重建。如果在十轮内吸收超过100点以上的伤害,方块本身就会损坏。

CL:5。先决条件:“制造奇物”,“防护元素伤害”。交易价格:27000金币。
''Cubic Gate(异界之门魔方):'' 此方块是由红玉制成,每一面都连结一个界域,其中一面连结到物质界,方块制造者可决定其他五面所连结的界域。如果是在冒险途中得到,则由DM决定各面的连结。

按下其中一面,会打开通往对应界域的“异界之门”。每分钟有10%机率会有一个异界生物(随机决定)穿过“异界之门”来觅食、找乐子或找麻烦。再按一次就关闭此门。同一时间只能打开一道门。

如果对同一面连按两下,使用者和5英尺范围内所有生物,都会传送到对应界域(不愿传送者可以进行意志检定,DC=23)。

CL:13。先决条件:“制造奇物”,“异界之门”。交易价格:164000金币。重量:不记。
!!!群体治疗致命伤(Cure Critical Wounds, Mass)
|咒法系(医疗)|
|''等级:''牧师8,德鲁伊9,医疗8|
|此法术与[[群体治疗轻伤|Cure Light Wounds, Mass(群体治疗轻伤)]]相同,不同的是它能治疗4d8点伤害,每施法者等级再+1点(最高+40)。|
!!!治疗致命伤(Cure Critical Wounds)
|咒法系(医疗)|
|''等级:''吟游诗人4,牧师4,德鲁伊5,医疗4|
|此法术效果与[[治疗轻伤|Cure Light Wounds(治疗轻伤)]]相同,不同的是它能治疗4d8点伤害,每施法者等级再+1点(最高+20)。|
!!!群体治疗轻伤(Cure Light Wounds, Mass)
|咒法系(医疗)|
|''等级:''吟游诗人5,牧师5,德鲁伊6,医疗5|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标: '' 1个生物/每等级,任意两个生物的间距不超过30英尺|
|''持续时间:''立即|
|''豁免检定:''意志,通过则效果减半(无害);见说明|
|''法术抗力:''可(无害);见说明|
|你将正能量导入每一个被挑选的生物,治愈他们1d8+1点伤害,每施法者等级再+1点(最高25点)。|
|和其他治疗法术一样,群体治疗轻伤会对区域内的不死生物造成正能量伤害而非治疗。每一个受影响的不死生物都可以做一个意志豁免检定来将伤害减半。|
!!!治疗轻伤(Cure Light Wounds)
|咒法系(医疗)|
|''等级:''吟游诗人1,牧师1,德鲁伊1,医疗1,圣武士1,巡林客2|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:''立即|
|''豁免检定:''意志,通过则效果减半(无害);见说明|
|''法术抗力:''可(无害);见说明|
|用你的手掌接触一个活着的生物并将正能量导入,治疗1d8点伤害,每施法者等级再+1点(最高5点)。|
|因为不死生物的能源为负能量,这个法术会对它们造成伤害而非治疗。一个不死生物可以应用法术抗力抵抗,也可通过意志豁免检定将伤害减半。|
!!!治疗微伤(Cure Minor Wounds)
|咒法系(医疗)|
|''等级:''牧师0,德鲁伊0|
|此法术与[[治疗轻伤|Cure Light Wounds(治疗轻伤)]]相同,不同的是它只能治疗1点伤害。|
!!!群体治疗中度伤(Cure Moderate Wounds, Mass)
|咒法系(医疗)|
|''等级:''吟游诗人6,牧师6,德鲁伊7|
|此法术与[[群体治疗轻伤|Cure Light Wounds, Mass(群体治疗轻伤)]]相同,不同的是它能治疗2d8点伤害,每施法者等级再+1点(最高+30)。|
!!!治疗中度伤(Cure Moderate Wounds)
|咒法系(医疗)|
|''等级:''吟游诗人2,牧师2,德鲁伊3,治疗2,圣武士3,巡林客3|
|此法术与[[治疗轻伤|Cure Light Wounds(治疗轻伤)]]相同,不同的是它能治疗2d8点伤害,每施法者等级再+1点(最高+10)。|
!!!群体治疗重伤(Cure Serious Wounds, Mass)
|咒法系(医疗)|
|''等级:''牧师7,德鲁伊8|
|此法术与[[群体治疗轻伤|Cure Light Wounds, Mass(群体治疗轻伤)]]相同,不同的是它能治疗3d8点伤害,每施法者等级再+1点(最高+35)。|
!!!治疗重伤(Cure Serious Wounds)
|咒法系(医疗)|
|''等级:''吟游诗人3,牧师3,德鲁伊4,圣武士4,巡林客4,医疗3|
|此法术与[[治疗轻伤|Cure Light Wounds(治疗轻伤)]]相同,不同的是它能治疗3d8点伤害,每施法者等级再+1点(最高+15)。|
!!!诅咒邪水(Curse Water)
|死灵系[邪恶]|
|''等级:''牧师1|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1分钟|
|''距离:''接触|
|''目标:''接触到的一瓶水|
|''持续时间:''立即|
|''豁免检定:''意志,通过则无效(物体)|
|''法术抗力:''可(物体)|
|此法术将负能量注入一小扁瓶(1品脱)水中,使它变为邪水。邪水对善良异界生物造成伤害,正如圣水对不死生物和邪恶异界生物造成伤害一样。|
|//材料成分://5磅银粉(价值25金币)。|
''Dagger of Venom(剧毒匕首):''
这把黑色+1匕首有着锯齿状的刀口。使用者可以对被匕首击中的生物进行毒击(与同名法术效果相同,豁免DC14),每天一次。使用者可以自行决定是否在匕首击中目标后进行毒击。这样做是一个即时动作,但毒击的效果必须在攻击的那一轮内施放。

微弱死灵系灵光;CL5;制造魔法武器和防具,毒击(poison);价格8302金币;制造花费:4302金币+320经验值。
''伤害减免(Damage Reduction,特异能力或超自然能力):''具有这种特殊性质的生物能够减免由大多数武器和天生武器造成的伤害。伤口立即愈合,或者武器未造成伤害便弹开(不管是哪一种,对手都会发现攻击无效)。该生物在被能量攻击(包括非魔法的)、法术、类法术能力、以及超自然能力攻击时仍受到正常伤害。某些特定的武器有时也可以造成正常伤害,见如下说明。

在怪物的说明中会给出减免伤害的数量(通常为5到15点)以及不被伤害减免影响的武器种类。这类武器的信息和伤害减免的数值是用一斜线(/)分开的。

某些怪物的弱点是惧怕穿刺、钝击或挥砍伤害。

某些怪物的弱点是惧怕一些特殊材料,比如炼银(alchemical silver)、精金(adamantine)、或寒铁(cold-forged iron)。由不合适的材料制造的武器做出的攻击都会受到伤害减免,即便该武器有增强加值。

某些怪物的弱点是惧怕魔法武器。任何在攻击和伤害上具有+1以上魔法增强加值的武器都可以克服这些怪物的伤害减免。这些生物的天生武器(而不是他们持有的武器)在克服伤害减免时被视为魔法武器。

极少数非常强大的怪物仅仅惧怕传奇武器;即,增强加值在+6以上的魔法武器。这些生物的天生武器在克服伤害减免时也被视为是传奇武器。

某些怪物的弱点是惧怕混乱、邪恶、善良、或守序阵营的武器。牧师施展[[阵营武器(Align Weapon)|Align Weapon(阵营武器)]]
时,被影响的武器会获得一个或更多这类属性,而某些魔法武器本身也具有这类属性。一个具有阵营亚种(混乱、邪恶、善良或守序亚种)的生物在克服伤害减免时,它的天生武器或持用武器视作具有和它阵营亚种相匹配的武器。

从带有+1或更高增强加值的弹射武器上发出的弹药在处理克服伤害减免时视作魔法武器。类似的,从带有特定阵营的弹射武器上发出的弹药获得弹射武器本身的阵营(再加上弹药先前已有的任意阵营)。

如果在伤害减免说明中的斜线之后是一短横(-),则没有武器可以克服此伤害减免。

一些生物会受到不止一种武器的伤害。其中任意一种武器都可以克服伤害减免。

一些生物需要两种不同攻击的组合来克服伤害减免。这时武器必须同时具有这两种属性来克服伤害减免。仅有其中一种属性的武器仍然会受到伤害减免。

一旦伤害减免完全抵消了一次攻击的伤害,它就同时可以抵消掉这次攻击的所附带的大部分附加效果,例如伤口性毒素、武僧的震慑攻击、和伤口性疾病。伤害减免无法抵消接触攻击、该攻击附带的能量伤害、能量吸取。同样也不对抵消吸入、摄入或接触传播的毒素或疾病。. 

因伤害减免产生的无效攻击不会干扰施法。

有些时候伤害减免代表生物受到的伤害会被立刻治愈。有些时候伤害减免代表生物拥有强韧的皮肤或肉体。无论哪种情况,人物都将看到普通伤害不起作用。

如果一个生物从不同来源获得多项伤害减免,那么两种伤害减免效果不能叠加。这时该生物在不同情况下可以获得当时最好的伤害减免的效果。

!!!舞光术(Dancing Lights)
|塑能系[光亮]|
|''等级:''吟游诗人0,术士/法师0|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''至多四个光源,所有均出现在半径10英尺区域内|
|''持续时间:''1分钟(可解消)|
|''豁免检定:''无|
|''法术抗力:''不可|
|按照你选择的不同功效,你可以造出至多四个类似于油灯或火把的光源(并发出同等亮度的光),或者至多四个光球(看起来就像鬼火(will-o’-wisps)),或是一个微微发光的模糊人形。舞光术的光源必须彼此处在10英尺半径内,在此限制下可以按照你的意愿随意移动(不需要专注精神),包括:向前向后、向上向下、直行或转弯等等。光源每轮最多可以移动100英尺。光源将会在与你距离超过法术范围时熄灭。|
|舞光术可以用魔法恒定术(permanency)恒定。|
''Dancing(舞空):''被以一个标准动作启动后,舞空武器能自己进行攻击。它的攻击检定价值和使用者的一样,能攻击4轮,然后就掉在地上。舞空时,武器不能进行借机攻击,并且使用者视作仍然装备着这件武器。其他方面,武器的表现和使用者装备着它时一样。舞空时,武器占据和使用者一样大小的空间并能攻击临近的敌人(长型武器能攻击10英尺内的敌人)。无论使用者进行物理移动或魔法移动,舞空武器都会一直跟随。如果使用者有空闲的手,她可以以一个即时动作抓住正在舞空的武器;如果她这样做的话,则武器在接下来的4轮里不能舞空(自行攻击)。

强烈变化系灵光;CL15;制造魔法武器和防具,活化物体(animate objects);价格+4加值。

!!Darkmantle(暗幕魔兽)

''小型魔法兽''

|''生命骰:'' 1d10+1 (6hp)|
|''先攻权:'' +4|
|''速度:'' 20尺 (4格) ,飞行30尺 (不良)|
|''防御等级:'' 17 (+1体型,+6天生) ,接触11,措手不及17|
|''基本攻击/擒抱:'' +1/ +0|
|''攻击:'' 挥击+5近战 (1d4+4)|
|''全回合攻击:'' 挥击+5近战 (1d4+4)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 黑暗,精通攫抓,紧勒1d4+4|
|''特性:'' 盲视90尺|
|''豁免:'' 强韧+3,反射+2,意志+0|
|''属性:'' 力量16,敏捷10,体质13,智力2,智慧10,魅力10|
|''技能:'' 躲藏+10,聆听+5*,侦察+5*|
|''专长:'' 精通先攻|
|''环境:'' 地底|
|''组织:'' 单独,成对,成群 (3-9) ,或一大群 (6-15)|
|''挑战等级:'' 1|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 2-3HD (小型)|
|''等级调整:'' -|


暗幕魔兽利用一只长在身体顶端的强健的“脚” 悬吊在天花板上。当它的触手收拢时,它看起来就像一根钟乳石,如果将触手张开让触手间的硬膜将身体覆盖住,那么看起来会像一块石头。它的外壳和皮肤通常会和石灰岩很像,但是暗幕魔兽可以改变它的颜色来匹配任何类型的石头背景。

暗幕魔兽从它触手的末端到头顶约有4尺长。它重约30磅。

!!! 战斗
暗幕魔兽在攻击时会落到猎物头上并用它的触手将对手的头包住。附着上去后,它会开始挤压并且试图让对手窒息。暗幕魔兽如果在第一次攻击时没有得手,通常会立刻飞到上面,并且试图再一次罩住对方。

''黑暗 (Su) :''每天一次,暗黑魔兽可以如黑暗术一样引发黑暗 (施法等级5) 。它最常在攻击前使用此能力。

''精通攫抓 (Ex) :''使用这项能力之前,暗幕魔兽必须通过它的挥击攻击命中一个大型或更小体型的生物。然后它可以通过一个即时动作尝试擒抱对手,该动作不会引发借机攻击。如果它在擒抱检定中获得成功,它便附着在对手的头上并且可以紧勒。

''紧勒 (Ex) :''暗幕魔兽一旦通过擒抱检定便可制造1d4+4的伤害。

''盲视 (Ex) :''暗幕魔兽可以通过发出大多数生物都听不到的高频音波来“看见” 东西,这可以使它辨明在其90尺范围内的物体和生物。沉默术可以使此能力无效,并对暗幕魔兽产生目盲效果。

''技能:''暗幕魔兽在进行聆听和侦察检定时获得+4的种族加值。

如果盲视失效那么它会失去这些加值。暗幕魔兽的可变的肤色在它进行躲藏检定时获得+4的种族加值。 

!!!黑暗术(Darkness)
|塑能系[黑暗]|
|''等级:''吟游诗人2,牧师2,术士/法师2|
|''法术成分:''言语,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触到的物体|
|''持续时间:''10分钟/每等级(可解消)|
|''豁免检定:''无|
|''法术抗力:''不可|
|此法术使一个物体周围20英尺半径内陷入阴影。区域内的生物都得到掩蔽(20%的失手率)。即便生物通常能在此条件下正常视物(例如黑暗视觉或微光视力),在黑暗术区域内也将有此失手率。|
|普通光源(火把、蜡烛、提灯等等)无法照亮此区域,较低等级的光亮魔法也一样。较高级的光亮魔法在黑暗术中不受影响。|
|如果黑暗术施放在一个小物体上,当此物体被放在遮光的掩盖物里面或下面时,此法术效果将被阻隔,直到遮盖物移去。|
|黑暗术可反制或解除任何同等级或更低的光亮法术。|
|//奥术材料成分://一小片蝙蝠的皮毛,以及一滴沥青或一块煤炭。|
''Darkskull(黑暗头骨): ''这是黑檀木雕成的邪恶头骨,无论位于何处,周围都如同被“邪居”法术效果笼罩(除此之外没有其他法术)。

施法者等级:9。先决条件:“制造奇物”,“邪居”,制造者必须是邪恶阵营。交易价格:60000金币。重量:5磅。
!!!黑暗视觉(Darkvision)
|变化系|
|''等级:''巡林客3,术士/法师2|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:''1小时/每等级|
|''豁免检定:''意志,通过则无效(无害)|
|''法术抗力:''可(无害)|
|受术者可在完全黑暗的环境中看到60英尺远。黑暗视觉只能看到黑白影像,其它则同正常视觉一样。黑暗视觉无法使受术者在魔法黑暗中视物。|
|黑暗视觉可用魔法恒定术(permanency)来恒定。|
|//材料成分://一小撮干胡萝卜或一块玛瑙。|
黑暗视觉是一种特异能力,它令生物在无光的情况下仍能视物,视觉范围见生物描述。黑暗视觉只能看到黑白画面(无法分辨色彩)。它无法让人物看见他看不见的东西--隐形的物体依然是隐形,幻术看上去还是它看起来的样子。同样的,黑暗视觉会使生物遭受正常的凝视攻击。光的存在不会干扰黑暗视觉。
''轻黑木盾:''这面轻木盾由黑木制成,不含魔法。它没有增强加值,但由于是用特殊材料制成,它比一般木盾轻。它重2-1/2磅且没有防具检定减值。
无魔法灵光(不含魔法);价格205金币。
''重黑木盾:''这面重木盾由黑木制成,不含魔法。它没有增强加值,但由于是用特殊材料制成,它比一般木盾轻。
它重5磅且没有防具检定减值。
无魔法灵光(不含魔法);价格257金币。
!!!昼明术(Daylight)
|塑能系[光亮]|
|''等级:''吟游诗人 3,牧师 3,德鲁伊 3,圣武士 3,术士/法师 3|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''接触|
|''目标:''被接触的物体|
|''持续时间:''10 分钟/等级(可解消)|
|''豁免检定:''无|
|''法术抗力:''不可|
|被接触的物体发出光亮,将半径60英尺的范围照得亮如白昼,此范围外60英尺范围内有昏暗的光亮。会因光亮而受到减值的生物在这样的魔法光亮下也会受影响。但是和法术名字不同的是,对于会被阳光所伤或所摧毁的生物来说,这个法术不能取代真正的阳光。|
|若将法术施展与小物体上,然后用挡光物体完全遮住,则法术效果会被遮挡,直到覆盖物被移开。|
|被带入魔法黑暗区域内的昼明术会暂时无效,反之亦然。所以,两者效果重叠的区域会保持原来的亮度。|
|昼明术可以反制或解除任何同等级或更低等级的黑暗法术,如黑暗术(darkness)。|
!!!怪物晕眩术(Daze Monster)
|惑控系(胁迫)[影响心灵]|
|''等级:''吟游诗人 2,术士/法师 2|
|''距离:''中距 (100英尺+10英尺/等级)|
|''目标:''一个HD为6或更少的活物|
|此法术作用类似晕眩术,不过怪物晕眩术可影响任何种类的活物。HD 7或更高的生物不受影响。|
!!!晕眩术(Daze)
|惑控系(胁迫)[影响心灵]|
|''等级:''吟游诗人 0,术士/法师 0|
|''法术成分:''言语,姿势, 材料|
|''施法时间:'' 一个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''目标:''一个HD为4或更少的类人生物|
|''持续时间:''1轮|
|''豁免检定:''意志,通过则无效|
|''法术抗力:''可|
|生命骰4或更少的类人生物的心智被法术扰乱,从而无法行动。生命骰5或更多的生物不受影响。眩晕的受术者不算被震慑,因此攻击者没有特殊加值。|
|//材料成分:// 小撮毛线或类似物品。|
''晕眩(Dazed):''人物无法正常行动。晕眩的人物无法做动作,但在AC上没有惩罚。晕眩状态通常持续1轮。

 
''目眩(Dazzled):''人物因为眼睛受到严重刺激而无法很好的视物。目眩的人物在攻击判定、搜索检定和侦察检定上有-1减值。

 

''死亡(Dead):''人物的生命值降到-10,体质降到0,或被法术及效果彻底杀死。人物的灵魂离开身体。死亡人物无法得益于正常或魔法的治疗,但能通过魔法复活。除非用魔法保护,否则尸体会正常腐烂,但是使死亡人物复活的法术会使人物完全康复或回到死亡时的状态(取决于使用的魔法或设备)。无论使用什么手段,被复活的人物都不用担心诸如尸僵、腐烂和其它影响尸体的效果。

 

!!! 死亡(DEAD)(-10或更低HP)

当你角色实际生命值为-10或更低时,或者他遭受巨创(见之前说明),他就死了。当由于属性伤害或者遭受能力吸取导致体质值降低到0时他也会死。
''耳聋(Deafened):''人物无法用耳听物。他在先攻判定上有-4减值,聆听技能自动失败,施展具语言成分的法术有20%几率失败,。一些长时间耳聋的人物会习惯于此并克服某些缺点。

 
在大多数情况下,夺命攻击允许受害者进行一次强韧检定来避免伤害。但是如果未通过豁免检定,人物将立刻死亡。

·被夺命攻击杀死的生物无法利用法术死者复活(raise dead)来进行重生。

·夺命攻击有即死效果。受害者无法靠稳定伤势来存活。

·倘若有必要,一个死亡的人物不管是怎样死的,都记为-10的生命值。

·法术防死结界(death ward)保护人物不受夺命攻击影响。
!!!死亡丧钟(Death Knell)
|死灵系 [死亡、邪恶]|
|''等级:''牧师 2,死亡 2|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''接触|
|''目标:''接触到的活物|
|''持续时间:''立即/每目标HD 10分钟;见说明|
|''豁免检定:''意志,通过则无效|
|''法术抗力:''可|
|你吸取生物正在减弱的生命力以补充自己的力量。施展此法术时,你要接触一个生命值-1或更少的生物。若该生物豁免检定失败则死亡,同时你可获得1d8点暂时生命值和力量+2加值。另外,你的有效施法者等级也上升1,从而增强与此有关的施法能力。(这不会增加你的可用法术数量。)这些效果可持续受术者的HDx10分钟。|
!!!防死结界(Death Ward)
|死灵系|
|''等级:''牧师 4,死亡 4,德鲁伊 5,圣武士 4|
|''法术成分:''言语,姿势,法器|
|''施法时间:'' 一个标准动作|
|''距离:''接触|
|''目标:''被接触的活物|
|''持续时间:''1 分钟/等级|
|''豁免检定:''意志,通过则无效 (无害)|
|''法术抗力:''可(无害)|
|受术者免疫所有死亡法术、魔法死亡效果、吸取能量以及其他负能量效果。|
|此法术不能移除受术者已经承受的负向等级,对受到负向等级24小时以后必需进行的豁免检定也没有作用。|
|防死结界不保护其他种类的攻击,即便它们可能是致命的。|
!!!观命术(Deathwatch)
|死灵系[邪恶]|
|''等级:''牧师 1|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''30英尺|
|''区域:''锥形弥漫区域|
|''持续时间:''10 分钟/等级|
|''豁免检定:''无|
|''法术抗力:''不可|
|你使用冥界力量赐予的秽暗视觉得知法术范围内濒死生物的状态。你可在瞬间得知每个生物是否死亡、奄奄一息(活着但是重伤,生命值不超过3)、死里逃生(生命值4或更高)、不死生物,或无所谓死活(如构装生物)|
|观命术可看穿任何使生物假死的法术和能力。|
''Decanter of Endless Water(无尽水源): ''如果把此扁瓶的瓶塞拔掉,并说出指令,就会涌出淡水或咸水。不同指令可决定水流的种类、大小和流速:

*水流:每轮涌出1加仑。
*喷泉:5英尺高的水流,每轮涌出5加仑。
*地热泉:20英尺高、1英尺宽的水流,每轮涌出30加仑。

喷出地热泉时会有反作用力,持瓶者须作力量检定(DC=12)以避免跌倒。地热泉可对一个目标造成每轮1d4点伤害。重复指令一次便可停止水流。

施法者等级:9。先决条件:“制造奇物”,“操控水位”。交易价格:9000金币。重量:2磅。
!!! 欺诈(DECEITFUL)[一般专长]

''效果:''在易容和伪造文书检定上获得+2的加值。
!! Decipher Script(文书解读)(智力;需受训)

''检定:''你可以解读不常见语言的文字、以不完整或古老形式写成的讯息。最简单讯息的基础DC是20,标准文本的DC是25,对复杂的、奇异的、或者特别古老的讯息来说,DC是30甚至更高。

如果检定成功,你能理解一页左右长度(或相应长度)文字的大致内容。如果检定失败,做一次DC5的感知检定来决定你是否避免记录了文本的错误解释。(成功意味着你没有记录错误解释,失败则意味着你记录了。)

文书解读检定和感知检定(如果需要)都是秘密进行的,所以你不知道你理解的解释是真还是假。

''动作:''解读一页左右的文书需要一分钟时间(10个连续的整轮动作)。

''重试:''不可。

''特别:''有细心(Diligent)专长的人物在文书解读检定上有+2加值。

''共效:''如果你在文书解读上级数达到5或更高,你在用使用魔法装置技能来使用卷轴时检定上有+2加值。

''Deck of Illusions(幻术牌组): ''这副羊皮纸牌通常收藏在象牙、皮革或木制盒子,一组三十四张牌。若随机抽一张牌掷在地上,就会出现由“高等幻影”法术创造的生物。幻术生物不能离开纸牌位置30英尺以上,在30英尺内则可如同真的生物一样移动及动作,并听从抽牌者的指挥。如果幻术被解除,该纸牌就成为空白,无法再使用。如果从地上捡起纸牌,幻术就立刻解除。牌组内各纸牌的说明和可幻化的生物如下表(表中前两行即用扑克牌或塔罗牌来模拟的对应方法):(参考3EDMG的图,完全一样)

若为随机产生的牌组,则有10%机率(百分骰01-10)缺少1d20张牌,90%机率完整无缺。如果卡片不完整,则减少对应数量的价格。

CL:6。先决条件:“制造奇物”,“高等幻影”。交易价格:8100金币。重量:0.5磅。
!!!深度睡眠(Deep Slumber)
|惑控系(胁迫)[影响心灵]|
|''等级:''吟游诗人 3,术士/法师 3|
|''距离:''近距(25英尺+5英尺/2等级)|
|此法术作用类似睡眠术(sleep),不过此法术可影响10HD的生物。|
!!!深幽黑暗术(Deeper Darkness)
|塑能系[黑暗]|
|''等级:''牧师 3|
|''持续时间:''1天/等级(可解消)|
|和黑暗术(darkness)一样,只是阴影区域半径为60英尺,且黑暗持续时间更长|
|施展在深幽黑暗术内的昼明术(daylight)会暂时无效,反之亦然。所以,两者效果重叠的区域会保持原来的亮度。|
|深幽黑暗术可反制或解除任何同等级或较低等级的光亮法术,包括昼明术和光亮术(light)。|
''Defending(护体):''护体武器允许使用者把部分或全部的增强加值转换为AC,此加值可以和任何加值累计。每轮使用者开始进行动作前,他必须决定如何分配武器的增强加值,对AC的影响持续到下轮使用者开始动作前。

中等防护系灵光;CL8;制造魔法武器和防具,护盾术(shield)或虔诚护盾(shield of faith);价格+1加值。

!!! 拨挡飞箭(DEFLECT ARROWS)[一般专长]

''先决条件:''敏捷13,精通徒手击打。

''效果:''你必须空出一只手(没有拿任何东西)才能使用本专长。如果在正常状况下你会被远程武器击中时,你可以挡开该武器而不受任何伤害。每轮可以做一次。你必须能察觉到该攻击,且不能处于措手不及状态。

拨挡远程武器不算是一个动作。特别大的远程武器和法术效果产生的远程攻击无法被拨挡。

''特殊:''武僧可以在2级时选择拨挡飞箭作为其奖励专长,即使不符合先决条件亦可。

战士可以选择本专长作为其战士奖励专长。
!!! 巧手(DEFT HANDS)[一般专长]

''效果:''在手上功夫和绳技检定上获得+2的加值。
!!!减缓毒发(Delay Poison)
|咒法系(医疗)|
|''等级:''吟游诗人 2,牧师 2,德鲁伊 2,圣武士 2,巡林客1|
|''法术成分:''言语,姿势,法器|
|''施法时间:'' 一个标准动作|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:'' 1小时/等级|
|''豁免检定:''强韧,通过则无效 (无害)|
|''法术抗力:''可(无害)|
|受术者暂时对毒物免疫。原本在体内的任何毒素,或在法术持续期间中的毒都不会影响受术者,直到法术过期。减缓毒发不会治疗毒物已经造成的任何伤害。|
!!!延迟爆裂火球(Delayed Blast Fireball)
|塑能系[火]|
|''等级:''术士/法师 7|
|''持续时间:''不超过5轮;见说明|
|此法术作用类似火球术(fireball),不过更强大,并且可在施法后最多5轮后才引爆。爆炸造成每施法者等级1d6点火焰伤害(最多20d6)。|
|延迟爆裂火球所制造的小火珠可以依你的意愿立即引爆,或延迟在最多5轮后引爆。你在施法完成时就需设定引爆时间,一旦设定就不能更改,除非有人触碰火珠(见下文)。若你设定为延迟引爆,火珠在引爆前会一直停留在指定地点。生物可以捡起火珠当作投掷武器(射程单位10英尺)。如果有人在引爆前一轮内持有并移动火珠,则火珠有25%的几率在被持时爆炸。|
!!Delver(遁地兽)

''超大型异怪''

|''生命骰:'' 15d8+78 (145hp)|
|''先攻权:'' +5|
|''速度:'' 30尺 (6格) ,掘穴10尺|
|''防御等级:'' 24 (-2体型,+1敏捷,+15天生) ,接触9,措手不及23|
|''基本攻击/擒抱:'' +11/ +27|
|''攻击:'' 挥击+17近战 (1d6+8外加2d6酸)|
|''全回合攻击:'' 2挥击+17近战 (1d6+8外加2d6酸)|
|''面宽/触及:'' 15尺/ 10尺|
|''特殊攻击:'' 腐蚀粘液|
|''特性:'' 黑暗视觉60尺,对酸免疫,塑石,颤动感知60尺|
|''豁免:'' 强韧+12,反射+6,意志+11|
|''属性:'' 力量27,敏捷13,体质21,智力14,感知14,魅力12|
|''技能:'' 知识 (地下城)+14,知识 (自然)+4,聆听+20,潜行+17,侦察+20,生存+14 (+16地底)|
|''专长:'' 警觉,盲斗,强韧加强,精通先攻,猛力攻击,健壮|
|''环境:'' 地底|
|''组织:'' 单独|
|''挑战等级:'' 9|
|''宝物:'' 无|
|''阵营:'' 通常是中立|
|''进化:'' 16-30HD (超大型) ;31-45HD (巨型)|
|''等级调整:'' -|


遁地怪大约有15尺长,10尺宽。它重约6000磅。

遁地怪说土族语和地底通用语。

!!! 战斗
遁地兽喜欢在它的地道里作战,如此以来,它用鳍状肢挥打敌人时,侧翼就会受到保护。

在遁地兽预料到会有麻烦的时候,会在一个区域内构筑蜂巢般的地道,并将其中大部分用1到2寸后的石头堵住。如此它就可以迅速分解石头掩体,出其不意的出来攻击。

''腐蚀粘液 (Ex) :''遁地兽会分泌一种具有强烈腐蚀性的粘液。这种粘液对石头特别有效。

遁地兽只要触碰一下,就可以对有机的生物或物体造成2d6的伤害。对付金属的生物或物体时,它的粘液会制造4d8的伤害,在对付石头组成的生物 (包括土元素) 或物体时,则可制造8d10的伤害。遁地兽的挥击攻击会留下一滩能制造2d6伤害的粘液,而且这滩粘液在后续的两轮中会分别再制造2d6的伤害。大量 (至少一夸脱)的清水或者弱酸,比如醋,可以将粘液洗去。

对手的盔甲和衣服会遭到分解而变成废物,除非穿戴者能通过DC22的反射检定。攻击遁地兽的武器也会立刻分解除非持用者能通过DC22的反射检定。

使用天生武器攻击遁地兽的生物在每次击中的时候都会受到粘液带来的伤害,除非该生物能通过DC22的反射检定。这些豁免DC基于体质调整值。

''塑石 (Ex) :''遁地兽可以用它的粘液使石头暂时软化,而不是分解。每10分钟一次,遁地兽可以软化并塑造25立方尺的石头,其效果如同塑石术 (施法等级15) 。 
!!!短讯暗示(Demand)
|惑控系(胁迫)[影响心灵]|
|''等级:''术士/法师 8|
|''豁免检定:''意志,通过则部分生效|
|''法术抗力:''可|
|与短讯术(sending)相同,但讯息内可含暗示术(suggestion)(见暗示术),目标会尽力执行该暗示。意志检定成功,则无暗示效果,但联系本身不会受影响。即使生物智力只有1,也能正确理解短讯暗示。若在受术者接收到短讯暗示的环境中命令不可达成,或者毫无意义,则信息会被理解,但是暗示术无效。|
|此法术发出的讯息不能超过25个字,包括暗示内容。对方可立即做出简短答复。|
|//材料成分://一小段铜线和对象的一小部分,如一根头发、一片指甲之类。|
''恶魔甲:''这套盔甲使穿戴者看上去就像恶魔。头盔的形状就像长了角的恶魔头颅,穿戴者从长满牙齿的嘴部向外看出。这件+4全身铠甲允许穿戴者进行爪抓攻击,造成1d10伤害,视同+1武器,并造成疫病术(contagion)的效果(强韧检定DC14)。要造成此效果,使用者必须使用爪抓完成一次近战攻击。“爪”安装在盔甲的前臂部分和手套上。

任何非邪恶阵营的生物穿戴此盔甲时会遭受1个负向等级。只要穿着盔甲,负向等级就一直存在,脱掉盔甲后就移除。这个负向等级并没有造成真正的等级下降,但它也不能被以任何方式(包括复原术(restoration))恢复,除非脱掉盔甲。

强烈死灵系灵光[邪恶阵营];CL13;制造魔法武器和防具,疫病术(contagion);价格52260金币;制造花费26130金币+2090经验值
恶魔生活在混乱邪恶位面,他们是凶残的化身。仅仅为了取乐,恶魔就会攻击其他任何生物——甚至包括他们的同类。

''恶魔特性:''除非另有说明,绝大多数的恶魔都拥有以下特性。

*免疫电击和毒素。
*强酸抗力10,冻寒抗力10,火焰抗力10。
*召唤(Sp):许多恶魔都拥有召唤同类的能力(召唤的类型和成功几率见生物具体描述部分)。但通常他们只有在万不得已的情况下才会使用这一能力。
*心灵感应。

除非另有说明,几乎所有恶魔都能说深渊语,天界语和龙语。

!!!Babau(巴布魔)

''中型异界生物(混乱,跨位面,邪恶)''

|''生命骰:'' 7d8+35(66hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格)|
|''防御等级:'' 19(+1敏捷,+8天然),接触11,措手不及18|
|''基本攻击/擒抱:'' +7/+12|
|''攻击:'' 爪击+12近身(1d6+5)|
|''全回合攻击:'' 2爪击+12近身(1d6+5),外加咬+7近身(1d6+2)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 偷袭+2d6,类法术能力,召唤恶魔|
|''特性:'' 伤害减免10/寒铁或善良,黑暗视觉60尺,免疫电击和毒素,护体黏液,强酸、冻寒、火焰抵抗10,法术抗力14,心灵感应100尺。|
|''豁免:'' 强韧+10,反射+6,意志+6|
|''属性:'' 力量21,敏捷12,体质20,智力14,感知13,魅力16|
|''技能:'' 攀爬+15,解除装置+12,易容+13,脱逃+11,躲藏+19,聆听+19,潜行+19,开锁+11,搜索+20,手上功夫+11,生存+1(跟踪轨迹+3),绳技+1(捆绑+3)|
|''专长:'' 顺势劈,多重攻击,猛力攻击|
|''环境:'' 混乱邪恶位面|
|''组织:'' 单独,或成队(3~6个)|
|''挑战等级:'' 6|
|''宝物:'' 标准|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 8~14HD(大型),15~21HD(超大型)|
|''等级调整:'' —|


巴布魔通常有6尺高,重140磅。

!!!!战斗
巴布魔鬼鬼祟而狡诈。他们通常会毫不迟疑的率先进攻对手中最具威胁性的一个。当他们决定伏击对手的时候,巴布魔通常都会纯熟的使用他们精湛的多重攻击和偷袭技术。
巴布魔的天然武器可以一如任何锋利的武器一般挥舞。在对抗具有伤害减免的对手时,巴布魔的天然武器被视为具有“混乱”和“邪恶”属性。

''偷袭(Ex):''巴布魔可以如同游荡者一样偷袭对手。在任何情况下,只要巴布魔处于夹击位或者被他进攻的目标丧失了敏捷调整值,那么巴布魔就可以在伤害上获得额外2d6点奖励。

''类法术能力:''随意施展—黑暗术,解除魔法,识破隐形,高等传送术(自身加上额外最多50磅重的物体)。施法等级7。

''护身黏液(Su):''一层果冻状的红色粘稠液体包裹着巴布魔全身皮肤。任何接触到巴布魔的武器都会被这种腐蚀性物质造成1d8点强酸伤害,并且无法被武器本身的硬度抵消。只有魔法武器可以尝试通过一个DC18的反射鉴定来避免受到伤害。除此之外,任何使用徒手攻击、徒手击打、法术接触、以及天然武器击中巴布魔的生物也同样会被护身黏液所伤,但同样可以通过一次DC18的反射鉴定来避免受伤。该豁免DC基于体质。

''召唤恶魔(Sp):''每天一次,巴布魔可以尝试用40%的成功几率召唤另外一只巴布魔。这个能力相当于一个三级法术。

''技能:''巴布魔在躲藏,聆听,潜行和搜索鉴定上具有+8种族奖励。



!!!Balor(巴洛炎魔)

''大型异界生物(混乱,跨位面,邪恶)''

|''生命骰:'' 20d8+200(290hp)|
|''先攻权:'' +11|
|''速度:'' 40尺(8格),飞行90尺(良好机动性)|
|''防御等级:'' 35(-1体型,+7敏捷,+19天然),接触16,措手不及28|
|''基本攻击/擒抱:'' +20/+36|
|''攻击:'' +1斩首长剑+33近身(2d6+8/19-20)|
|''全回合攻击:'' +1斩首长剑+31/+26/+21/+16近身(2d6+8/19-20)外加+1火焰长鞭+30/+25近身(1d4+4外加1d6火焰并外加缠绕)或2挥击+31近身(1d10+7)|
|''面宽/触及:'' 10尺/10尺(持握+1火焰长鞭时20尺)|
|''特殊攻击:'' 焚身爆,缠绕,类法术能力,召唤恶魔,斩首剑|
|''特性:'' 伤害减免15/寒铁和善良,黑暗视觉60尺,火焰身躯,免疫电击、火焰和毒素,强酸、冻寒抵抗10,法术抗力28,心灵感应100尺,真知术。|
|''豁免:'' 强韧+22,反射+19,意志+19|
|''属性:'' 力量35,敏捷25,体质31,智力21,感知24,魅力26|
|''技能:'' 哄骗+31,专注+33,交涉+35,易容+10(表演用+10),躲藏+26,威吓+33,知识(任意两项)+30,聆听+38,潜行+30,搜索+30,察言观色+30,法术辨识+30(对卷轴+32),侦察+38,生存+7(跟踪痕迹+9),使用魔法装置+31(对卷轴+33)|
|''专长:'' 顺势劈,精通先攻,精通双武器战斗,猛力攻击,瞬发类法术能力(心灵遥控),双武器战斗,武器专攻(长剑)|
|''环境:'' 混乱邪恶位面|
|''组织:'' 单独,或成群(1个巴洛炎魔,1个六臂蛇魔,以及2~5个狂战魔)|
|''挑战等级:'' 20|
|''宝物:'' 标准钱币,双倍财宝,标准物品,外加+1斩首巨剑和+1火焰长鞭。|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 21~30HD(大型),31~60HD(超大型)|
|''等级调整:'' —|

站立的巴洛炎魔超过12尺高,他的皮肤通常为暗红色。巴洛炎魔重4500磅。

!!!!战斗
巴洛炎魔喜欢带着长剑和长鞭参加战斗。当遭到强烈抵抗时,他们通常会先传送到别的地方,再通过类法术能力来打击对手。

巴洛炎魔的+1火焰长鞭韧性极佳,覆满了带有倒钩的锋利突刺和坚硬的球状物,故而可以造成钝击和挥砍两种伤害,并附加火焰伤害。
巴洛炎魔的天然武器在对抗具有伤害减免的生物时候视为具有“混乱”和“邪恶”属性。

''焚身爆(Ex):''当巴洛炎魔死亡的时候,会立刻在耀眼的闪光中爆炸。周围100尺内的所有生物都会被爆炸波及受到100点伤害(反射,DC30减半)。该爆炸会自动摧毁巴洛炎魔当时持握的任何武器。这个能力的豁免DC基于体质。

''缠绕(Ex):''巴洛炎魔的+1火焰长鞭可以如同捕网攻击一样缠绕对手。长鞭拥有20点生命值并无需折叠。一旦长鞭命中目标,他就必须同巴洛炎魔进行力量鉴定对抗。如果巴洛炎魔获胜,他就可以把目标拉向自己满是火焰的身躯(见下“火焰身躯”描述)。被缠绕的目标会一直紧贴巴洛炎魔的身躯直到他挣脱长鞭缠绕为止。

''类法术能力:''施法等级20级。其豁免DC基于魅力。

|//随意施展//—渎神之语(DC25),支配怪物(DC27),高等解除魔法,高等传送术(仅限自身外加不超过50磅重的物体),摄魂术(DC25),律令:震慑,心灵遥控(DC23),邪恶灵光(DC26);|
|//每日1次//—火焰风暴(DC26),内爆术(DC27)。|

''斩首剑(Su):''每一个巴洛炎魔都随身携带着一把+1斩首长剑,它看起来就好像一束火焰或者一束耀眼的闪电。

''召唤恶魔(Sp):''每天1次,巴洛炎魔可以必然成功召唤来4d10个怯魔,1d4个狂战魔,或者1个判魂魔,迷诱魔,六臂蛇魔,或者另外1个巴洛炎魔。这个能力相当于一个9级法术。

''火焰身躯(Su):''巴洛炎魔的身躯燃烧着熊熊烈焰。任何被巴洛炎魔擒抱的生物每轮都要受到6d6点火焰伤害。

''真知术(Su):''巴洛炎魔拥有持续不断的真知术效果,就如同20级施法者施展的同名法术。

''技能:''巴洛炎魔在聆听和侦察鉴定上拥有+8种族奖励。

!!!!基本战术
巴洛炎魔拥有多样化的远程战斗能力,因此他通常喜欢使用类法术能力进行远程战斗。

//战斗之前://邪恶灵光。

//第一轮://火焰风暴或者内爆术,然后瞬发心灵遥控;或者召唤其他恶魔。假如巴洛炎魔认为他的对手并不具有真正的威胁性,那么他会节约每日1次的类法术能力改为使用渎神之语。

//第二轮://摄魂术或者律令:震慑。

//第三轮://采用近身武器发动全回合攻击,包括使用长鞭缠绕。

//第四轮://使用飞行或者传送带走被缠绕的目标,然后重复第一轮的动作。

当巴洛炎魔希望制服或者逐退对手的时候会尽量避免发动致命打击。

//战斗之前://邪恶灵光。

//第一轮://支配怪物。

//第二轮://律令:震慑。

//第三轮://采用摄魂术或者心灵遥控来制服或击退具有危险性的对手。

//第四轮://使用飞行或者传送恢复远程距离,重复第一轮的动作。


!!!Bebilith(狩魔蛛)

''超大型异界生物(混乱,跨位面,邪恶)''

|''生命骰:'' 12d8+96(150hp)|
|''先攻权:'' +5|
|''速度:'' 40尺(8格),攀爬20尺|
|''防御等级:'' 22(-2体型,+1敏捷,+13天然),接触9,措手不及21|
|''基本攻击/擒抱:'' +12/+29|
|''攻击:'' 咬+19近身(2d6+9外加毒素)或者蛛网+11远程|
|''全回合攻击:'' 咬+19近身(2d6+9外加毒素)外加2爪+14近身(2d4+4)或者蛛网+11远程|
|''面宽/触及:'' 15尺/10尺|
|''特殊攻击:'' 毒素,破甲,蛛网|
|''特性:'' 伤害减免10/善良,黑暗视觉60尺,异界传送,灵敏嗅觉,心灵感应100尺。|
|''豁免:'' 强韧+16,反射9,意志+9|
|''属性:'' 力量28,敏捷12,体质26,智力11,感知13,魅力13|
|''技能:'' 攀爬+24,交涉+3,躲藏+16,跳跃+28,聆听+16,潜行+16,搜索+15,察言观色+16,侦察+16,生存+1(跟踪痕迹+3)|
|''专长:'' 顺势劈,精通先攻,静听擒抱,猛力攻击,追踪|
|''环境:'' 混乱邪恶位面|
|''组织:'' 单独|
|''挑战等级:'' 10|
|''宝物:'' 无|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 13~18HD(超大型),19~36HD(巨型)|
|''等级调整:'' —|


狩魔蛛形同蜘蛛,体型庞大,以猎食其他恶魔为生。狩魔蛛的身躯大致和耕地用的马相当,但它的腿部向外延伸长达14英尺。狩魔蛛几乎有两吨重。

狩魔蛛不会说话,但能够听懂深渊语。他们能够运用心灵感应和其他任何生物沟通。

!!!!战斗
狩魔蛛会攻击它们看到的任何生物。通常它们会选定一名对手,然后集中力量消灭这一目标,并用蛛网将他与其他敌人隔开。一但狩魔蛛遭到强力抵抗,它们就会尝试在撤退前咬中更多的目标,让毒素来代替它们消灭对手。

狩魔蛛的天然武器在对抗具有伤害减免的生物时,视为具有“混乱”和“邪恶”属性。

''毒素(Ex):''噬咬,强韧DC24,初始造成1d6体质伤害,后续造成2d6体质伤害。狩魔蛛的毒液一旦接触盗空气就会很快被腐蚀而失去作用,变成一团只会散发臭味的黏性物质。

''破甲(Ex):''狩魔蛛的双爪击中目标的同时还会撕裂对方的护甲。这会对防具造成4d6+18点伤害,没有穿甲的目标则不会受到破甲影响。遭到攻击的护甲一旦生命值降到0点就会被损坏,直到你通过一次成功的手艺(防具锻造)鉴定来修复它为止。

''蛛网(Ex):''狩魔蛛每天可以射出4次蛛网。它的基础射程10尺,最远射程为30尺,并且最大能缠住巨型体型的生物。除此此外它和捕网攻击的效果非常相似——将受害者固定,使其无法移动。
任何被蛛网缠住的生物都可以通过一个DC24的脱逃鉴定来挣脱或者通过一个DC24的力量鉴定来撑破蛛网。该鉴定的DC基于体质。蛛网本身有14点生命并且硬度为0。此外,即使你想要用火来烧掉蛛网,它也会有75%的机率无法燃烧起来(需要每轮鉴定)。

''异界传送(Su):''这个能力仅限于狩魔蛛自身,除此之外就和同名法术完全一样(施法等级12)。

''技能:''狩魔蛛斑驳的色彩使得它们在躲藏鉴定上有+8种族奖励。



!!!Dretch(怯魔)

''小型异界生物(混乱,跨位面,邪恶)''

|''生命骰:'' 2d8+4(13hp)|
|''先攻权:'' +0|
|''速度:'' 20尺(4格)|
|''防御等级:'' 16(+1体型,+5天然),接触11,措手不及16|
|''基本攻击/擒抱:'' +2/-1|
|''攻击:'' 爪击+4近身(1d6+1)|
|''全回合攻击:'' 2爪击+4近身(1d6+1)外加噬咬+2近身(1d4)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 类法术能力,召唤恶魔|
|''特性:'' 伤害减免5/寒铁或善良,黑暗视觉60尺,免疫电击和毒素,强酸、冻寒以及火焰抗力10,心灵感应100尺。|
|''豁免:'' 强韧+5,反射+3,意志+3|
|''属性:'' 力量12,敏捷10,体质14,智力5,感知11,魅力11|
|''技能:'' 躲藏+9,聆听+5,潜行+5,侦察+5,搜索+2,生存+0(跟踪痕迹+2)|
|''专长:'' 多重攻击|
|''环境:'' 混乱邪恶位面|
|''组织:'' 单独,成双,成队(3~5),成群(6~15),或大群(10~40)|
|''挑战等级:'' 2|
|''宝物:'' 无|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 3~6HD(小型)|
|''等级调整:'' —|

怯魔通常有4尺高,重60磅。

怯魔无法说话但可以通过心灵能力沟通。

!!!!战斗
怯魔天生愚蠢而动作迟缓,战斗毫无效率可言。它们在一场又一场的战斗中依靠自己的伤害减免能力才能勉强苟存。在战斗中,怯魔依靠人海战术来阻挡敌人,并且它们召唤更多的怯魔来提高自己获胜的机会。除非有更强大的恶魔胁迫它们作战,否则它们一旦在战斗中处于下风就会立刻做鸟兽般逃散。怯魔非常害怕比它们更强大的高等恶魔,这种恐惧甚至超越了害怕死亡本身。

怯魔的天然武器在对抗具有伤害减免的生物时,视为具有“混乱”和“邪恶”属性。

''类法术能力:''

|//每天1次//—惊恐术(DC12),臭云术(DC13)。施法等级2,其豁免DC基于魅力。|

''召唤恶魔(Sp):''每天1次,怯魔可以召唤来另外一只怯魔(成功率35%)。这个能力如同1级法术。

''心灵感应(Su):''怯魔能够与100尺范围内的任何生物通过心灵感应用深渊语交谈。


!!!Glabrezu(迷诱魔)

''超大型异界生物(混乱,跨位面,邪恶)''

|''生命骰:'' 12d8+120(174hp)|
|''先攻权:'' +0|
|''速度:'' 40尺(8格)|
|''防御等级:'' 27(-2体型,+19天然),接触8,措手不及27|
|''基本攻击/擒抱:'' +12/+30|
|''攻击:'' 螯+20近身(2d8+10)|
|''全回合攻击:'' 2螯+20近身(2d8+10)外加2爪击+18近身(1d6+5)外加噬咬+18近身(1d8+5)|
|''面宽/触及:'' 15尺/15尺|
|''特殊攻击:'' 精通擒抱,类法术能力,召唤恶魔|
|''特性:'' 伤害减免10/善良,黑暗视觉60尺,免疫电击和毒素,强酸、冻寒以及火焰抗力10,法术抗力21,心灵感应100尺,真知术|
|''豁免:'' 强韧+18,反射+8,意志+11|
|''属性:'' 力量31,敏捷10,体质31,智力16,感知16,魅力20|
|''技能:'' 哄骗+22,专注+25,交涉+9,易容+5(表演用+7),威吓+24,知识(任意两项)+18,聆听+26,潜行+18,搜索+18,察言观色+18,法术辨识+18,侦察+26,生存+3(跟踪痕迹+5)|
|''专长:'' 顺势劈,高等顺势劈,多重攻击,善于说服,猛力攻击|
|''环境:'' 混乱邪恶位面|
|''组织:'' 单独,成群(1个迷诱魔,1个魅魔,外加2~5个弗洛魔)|
|''挑战等级:'' 13|
|''宝物:'' 标准钱币,双倍财宝,标准物品|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 13~18HD(超大型),19~36HD(巨型)|
|''等级调整:'' —|


魅魔挑起凡人的情欲使其堕落。迷诱魔则通过权力和财富的许诺引诱受害者走向毁灭。

迷诱魔拥有敏锐的紫罗兰色双眼和深褐与黑色相间的皮肤。站立的迷诱魔有15尺高,重5500磅。

!!!!战斗
迷诱魔喜欢诱骗胜于直接战斗。但一旦他们的蛊惑和骗诱失败,他们就会恼羞成怒的发动猛烈而恐怖的攻击。他们会逼近对手施展“困惑术”,然后靠“混沌之锤”和“不洁之击”来击伤对手结束战斗。

迷诱魔的天然武器在对抗具有伤害减免的生物时视为具有“混乱”,“邪恶”属性。

''精通擒抱(Ex):''要使用这个能力,迷诱魔必须首先用他的大螯击中中型或小型的目标。然后他可以通过一个自由动作展开擒抱。

''类法术能力:''施法等级14,其豁免DC基于魅力。

|//随意施展//—混沌之锤(DC19),困惑术(DC19),解除魔法,镜影术,反重力(DC22),高等传送术(仅限自身外加不超过50磅重的物体),不洁之击(DC19);|
|//每天一次//—律令:震慑。|

每月一次,迷诱魔可以为凡人施展一次许愿术。他可以用这个能力来满足凡人的任何一个愿望。但除非所许的愿望是在世界上创造更多的痛苦和灾难,迷诱魔都会要求极可怕的邪行或一个高贵的祭品献祭作为回报和补偿。

''召唤恶魔(Sp):''每天1次,迷诱魔能召唤来4d10个怯魔或1d2个弗洛魔(50%成功率)。或者召唤另外一个迷诱魔(20%成功率)。这个能力相当于一个4级法术。

''真知术(Su):''迷诱魔拥有持续不断的真知术效果,如同同名法术(施法等级14)。

''技能:''迷诱魔在聆听和侦察上拥有+8种族奖励。


!!!Hezrou(狂战魔)

''大型异界生物(混乱,跨位面,邪恶)''

|''生命骰:'' 10d8+93(138hp)|
|''先攻权:'' +0|
|''速度:'' 30尺(6格)|
|''防御等级:'' 23(-1体型,+14天然),接触9,措手不及23|
|''基本攻击/擒抱:'' +10/+19|
|''攻击:'' 噬咬+14近身(4d4+5)|
|''全回合攻击:'' 噬咬+14近身(4d4+5)外加2爪击+9近身(1d8+2)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 类法术能力,散发恶臭,精通擒抱,召唤恶魔|
|''特性:'' 伤害减免10/善良,黑暗视觉60尺,免疫电击和毒素,强酸、冻寒以及火焰抗力10,法术抗力19,心灵感应100尺|
|''豁免:'' 强韧+16,反射+7,意志+9|
|''属性:'' 力量21,敏捷10,体质29,智力14,感知14,魅力18|
|''技能:'' 攀爬+18,专注+22,躲藏+13,脱逃+13,威吓+17,聆听+23,潜行+13,搜索+15,法术辨识+15,侦察+23,生存+2(跟踪痕迹+4),绳技+0(捆绑+2)|
|''专长:'' 盲斗,顺势劈,猛力攻击,健壮|
|''环境:'' 混乱邪恶位面|
|''组织:'' 单独,成队(2~4个)|
|''挑战等级:'' 11|
|''宝物:'' 标准|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 11~15HD(大型),16~30HD(超大型)|
|''等级调整:'' +9|



尽管狂战魔使用四肢着地支撑行走,但他能够在战斗中直立起来。

通常狂战魔高8尺,重750磅。

!!!!战斗
狂战魔比弗洛魔更热衷于近身搏杀。他们喜欢深入敌阵中心好让自己的恶臭尽快发挥作用。在大多数的战役中,他们习惯于使用“渎神之语”,然后依照敌人的实际情况在决定是否施展“混沌之锤”或者“不洁之击”。

狂战魔的天然武器在对抗具有伤害减免的生物时视为具有“混乱”和“邪恶”属性。

''精通擒抱(Ex):''要使用这个能力,狂战魔必须首先用他的双爪击中敌人,然后他可以立刻以一个自由动作尝试展开擒抱。

''类法术能力:''施法等级13,其豁免DC基于魅力。

|//随意施展//—混沌之锤(DC18),高等传送术(仅限自身外加不超过50磅的物体),不洁之击(DC18);|
|//每天3次//—渎神之语(DC21),气化形态。|

''散发恶臭(Ex):''狂战魔的皮肤在战斗中会分泌出具有浓烈恶臭的液体。任何在狂战魔周围10尺以内的活物(其他的恶魔除外)都必须通过一个DC24的强韧鉴定,否则他们即使离开了这个范围都仍然要反胃1d4轮(如果他留在这个范围内则会持续受到影响)。成功的通过豁免鉴定的生物在24小时之内都不会再受到影响。“减缓毒发”和“中和毒性”法术能够移除这个效果。如果生物本身免疫毒素则不受恶臭影响,而本身具有抵抗毒素能力的生物则能够如常在强韧鉴定上获得应有的奖励。该豁免的DC基于体质。

''召唤恶魔(Sp):''每天1次,狂战魔能够召唤来4d10个怯魔或者另外一个狂战魔(35%成功率)。这个能力如同一个4级法术。

''技能:''狂战魔在“聆听”和“侦察”上获得+8种族奖励。


!!!Marilith(六臂蛇魔)

''大型异界生物(混乱,跨位面,邪恶)''

|''生命骰:'' 16d8+144(216hp)|
|''先攻权:'' +4|
|''速度:'' 40尺(8格)|
|''防御等级:'' 29(-1体型,+4敏捷,+16天然),接触13,措手不及29|
|''基本攻击/擒抱:'' +16/+29|
|''攻击:'' 长剑+25近身(2d6+9/19-20),挥击+24近身(1d8+9)|
|''全回合攻击:'' 主手长剑+25/+20/+15/+10近身(2d6+9/19-20)外加5长剑+25近身(2d6+4/19-20)外加尾击+22近身(4d6+4)或者6挥击+24近身(1d8+9)外加尾击+22近身(4d6+4)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 紧勒4d6+13,精通擒抱,类法术能力,召唤恶魔|
|''特性:'' 伤害减免10/善良和寒铁,黑暗视觉60尺,免疫电击和毒素,强酸、冻寒以及火焰抗力10,法术抗力25,心灵感应100尺,真知术|
|''豁免:'' 强韧+19,反射+14,意志+14|
|''属性:'' 力量29,敏捷19,体质29,智力18,感知18,魅力24|
|''技能:'' 哄骗+26,专注+28,交涉+30,易容+7(表演+9),躲藏+19,威吓+28,聆听+31,潜行+23,搜索+23,察言观色+23,法术辨识+23(辨识卷轴+24),侦察+31,生存+4(跟踪痕迹+6),使用魔法装置+26(使用卷轴+28)|
|''专长:'' 寓守于攻,战斗反射,多重攻击,多武器战斗,猛力攻击,武器专攻(长剑)|
|''环境:'' 混乱邪恶位面|
|''组织:'' 单独,成双|
|''挑战等级:'' 17|
|''宝物:'' 标准钱币,双倍财宝,标准物品,外加1d4件魔法武器|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 17~20HD(大型),21~48HD(超大型)|
|''等级调整:'' --|


六臂蛇魔通常每只手上都握有一把长剑,并且佩戴着各种手镯和珠宝。

六臂蛇魔站立起来有9尺高,从头到尾部的全长20尺,她们重4000磅。

!!!!战斗
尽管六臂蛇魔主要从事谋略和战术策划,但她们同样热切的喜好战斗而绝不愿意错过任何机会。六臂蛇魔的每一只手臂都能拿起武器挥舞,而她的主手还能进行额外三次武器攻击。她们从不仓促加入战斗。正相反,她们会首先评估局势,寻找出手的最佳时机。她们会寻找有利的地形、有利的障碍,寻找敌人的弱点或者等待目标变得虚弱的时候再下手。

六臂蛇魔的天然武器在对抗具有伤害减免的生物时视为具有“混乱”和“邪恶”属性。

''紧勒(Ex):''通过成功的擒抱鉴定,六臂蛇魔可以造成额外4d6+13点伤害。被紧勒的生物必须用过一个DC27的强韧鉴定,否则他将会陷入昏迷2d4轮。该豁免DC基于力量。

''精通擒抱(Ex):''要使用这个能力,六臂蛇魔必须首先用她的尾巴击中敌人,然后她可以通过一个自由动作展开擒抱。一旦擒抱鉴定成功,她就可以卷住对手进行紧勒。

''类法术能力:''施法等级16,其豁免DC基于魅力。

|//随意施展//—阵营武器,剑刃壁障(DC23),魔法武器,投影术(DC23),变形术,识破隐形,心灵遥控(DC22),高等传送术(仅限自身外加不超过50磅重的物体),邪恶灵光(DC25)。|

''召唤恶魔(Sp):''每天1次,六臂蛇魔能够召唤来4d10个怯魔,1d4个狂战魔,或者1个判魂魔(50%成功率);或1个迷诱魔或者另外一个六臂蛇魔(20%成功率)。这个能力如同一个5级法术。

''真知术(Su):''六臂蛇魔拥有持续的真知术效果,如同同名法术(施法等级16)。

''技能:''六臂蛇魔在“聆听”和“侦察”上拥有+8种族奖励。

''专长:''作为一个天生能力,六臂蛇魔的“多武器战斗”专长在她使用所有武器进行攻击时没有任何惩罚。



!!!Nalfeshnee(判魂魔)

''超大型异界生物(混乱,跨位面,邪恶)''

|''生命骰:'' 14d8+112(175hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格),飞行40尺(不良机动性)|
|''防御等级:'' 27(-2体型,+1敏捷,+18天然),接触9,措手不及26|
|''基本攻击/擒抱:'' +14/+29|
|''攻击:'' 噬咬+20近身(2d8+7)|
|''全回合攻击:'' 噬咬+20近身(2d8+7)外加2爪击+17近身(1d8+3)|
|''面宽/触及:'' 15尺/15尺|
|''特殊攻击:'' 邪光击,类法术能力,召唤恶魔|
|''特性:'' 伤害减免10/善良,黑暗视觉60尺,免疫电击和毒素,强酸、冻寒以及火焰抗力10,法术抗力22,心灵感应100尺,真知术|
|''豁免:'' 强韧+17,反射+10,意志+15|
|''属性:'' 力量25,敏捷13,体质27,智力22,感知22,魅力20|
|''技能:'' 哄骗+22,专注+25,交涉+26,易容+5(表演+7),躲藏+10,威吓+22,知识(神秘+23,)聆听+31,潜行+18,搜索+23,察言观色+23,法术辨识+25(辨识卷轴+27),侦察+31,生存+6(跟踪痕迹+8),使用魔法装置+22(使用卷轴+24)|
|''专长:'' 顺势劈,精通冲撞,多重攻击,猛力攻击,武器专攻(噬咬)|
|''环境:'' 混乱邪恶位面|
|''组织:'' 单独,成群(1个判魂魔,1个狂战魔,2~5个弗洛魔)|
|''挑战等级:'' 14|
|''宝物:'' 标准钱币,双倍财宝,标准物品,外加1d4件魔法武器|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 15~20HD(超大型),21~42HD(巨型)|
|''等级调整:'' —|

尽管翅膀微小,但判魂魔仍然可以靠它飞行。

判魂魔身高20尺,重8000磅。

!!!!战斗
判魂魔藐视战斗,但对鲜血的渴望却驱使他们不得不参加战斗。判魂魔喜欢用“邪光击”使敌人丧失抵抗能力,然后再屠杀这些毫无还手之力的目标。

判魂魔的天然武器在对抗具有伤害减免的生物时视为具有“混乱”和“邪恶”属性。

''邪光击(Su):''每天3次,判魂魔能够创造出一道邪恶的光环。当他使用这个能力时,彩虹般的光芒会笼罩他的全身。一轮之后,它们会扩散到60尺半径区域。在这个区域中的所有生物都必须进行一次DC22的意志鉴定,否则会看到自己心中最害怕的恐怖幻影而晕眩1d10轮。尽管这些生物在遭到攻击时仍然可以获得全部的敏捷和装甲奖励,但他们无法做出行动。其他恶魔不会受到这个效果的影响。该豁免DC基于魅力。

''类法术能力:''施法等级12,其豁免DC基于魅力。

|//随意施展//—召雷术(DC18),弱智术(DC20),高等解除魔法,缓慢术(DC18),高等传送术(仅限自身外加不超过50磅重的物体),邪恶灵光(DC23)。|

''召唤恶魔(Sp):''每天两次,判魂魔能够召唤来1d4个弗洛魔,1d4个狂战魔,或者1个迷诱魔(50%成功率),或者另外一个判魂魔(20%成功率)这个能力如同一个5级法术。

''真知术(Su):''判魂魔具有持续的真知术效果,如同同名法术(施法等级14)。

''技能:''判魂魔在“聆听”和“侦察”上拥有+8种族奖励。


!!!Quasits(夸赛魔)

''超小型异界生物(混乱,跨位面,邪恶)''

|''生命骰:'' 3d8(13hp)|
|''先攻权:'' +7|
|''速度:'' 20尺(4格),飞行50尺(完美)|
|''防御等级:'' 18(+2体型,+3敏捷,+3天然),接触15,措手不及15|
|''基本攻击/擒抱:'' +3/-6|
|''攻击:'' 爪击+8近身(1d3-1外加毒素)|
|''全回合攻击:'' 2爪击+8近身(1d3-1外加毒素)外加噬咬+3近身(1d4-1)|
|''面宽/触及:'' 2-1/2尺/0尺|
|''特殊攻击:'' 毒素,类法术能力|
|''特性:'' 变换形态,伤害减免5/寒铁或者善良,黑暗视觉60尺,快速医疗2,免疫毒素,火焰抗力10|
|''豁免:'' 强韧+3,反射+6,意志+4|
|''属性:'' 力量8,敏捷17,体质10,智力10,感知12,魅力10|
|''技能:'' 哄骗+6,交涉+2,易容+0(表演+2),躲藏+17,威吓+2,知识(任意1项)+6,聆听+7,潜行+9,搜索+6,法术辨识+6,侦察+6|
|''专长:'' 精通先攻,武器娴熟|
|''环境:'' 混乱邪恶位面|
|''组织:'' 单独|
|''挑战等级:'' 2|
|''宝物:'' 无|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 4~6HD(超小型)|
|''等级调整:'' —(强化魔宠)|


在本来面目下,夸赛魔有1又1/2尺高,8磅重。

夸赛魔能说通用语和深渊语。

!!!!战斗
尽管夸赛魔渴望胜利渴望获得如同其他恶魔般的强大力量,但它们却拥有一颗懦夫的心。它们的典型战术是通过“隐形”和“变化形态”来进行突然偷袭,然后立刻逃之夭夭。在撤退的时候,它们会施展“惊恐术”来阻止敌人追赶。

夸赛魔的天然武器在对抗具有伤害减免的生物时,视为具有“混乱”和“邪恶”属性。

''毒素(Ex):''强韧DC13,初始造成1d4点敏捷伤害,后续造成2d4点敏捷伤害。该豁免DC基于体质,再加上2点种族奖励。

''类法术能力:''施法等级6。其豁免DC基于魅力。

|随意施展—侦测善良,侦测魔法,隐形术(仅限自身);|
|每天1次—惊恐术(同同名法术,但其效果范围为夸赛魔周围30尺,DC11)。|

每周1次,夸赛魔还可以使用“通神术”问6个问题。这个能力就如同同名法术(施法等级12)。

''变化形态(Su):''夸赛魔可以通过一个标准动作改变自己的形态。这个能力如同“变形术”(施法等级12),只不过夸赛魔不能通过形态改变来恢复生命值,也不能变化成超过中型体型的生物。夸赛魔通常会变化的形体是蝙蝠,变种蜈蚣,蟾蜍,以及狼。在变化后的形态中,夸赛魔无法使用毒素攻击。


!!Retriever(猎魔蛛)

''超大型构装生物(跨位面)''

|''生命骰:'' 10d10+80(135hp)|
|''先攻权:'' +3|
|''速度:'' 50尺(10格)|
|''防御等级:'' 21(-2体型,+3敏捷,+10天然),接触11,措手不及18|
|''基本攻击/擒抱:'' +7/+25|
|''攻击:'' 爪击+15近身(2d6+10)外加魔眼射线+6远程接触。|
|''全回合攻击:'' 4爪击+15近身(2d6+10)外加噬咬+10近身(1d8+5)外加魔眼射线+8远程接触|
|''面宽/触及:'' 15尺/10尺|
|''特殊攻击:'' 魔眼射线,追寻目标,精通擒抱|
|''特性:'' 构装特性,黑暗视觉60尺,快速医疗5,昏暗视觉|
|''豁免:'' 强韧+3,反射+6,意志+3|
|''属性:'' 力量31,敏捷17,体质—,智力—,感知11,魅力1|
|''技能:'' —|
|''专长:'' —|
|''环境:'' 混乱邪恶位面|
|''组织:'' 单独|
|''挑战等级:'' 11|
|''宝物:'' 无|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 11~15HD(超大型),16~30HD(巨型)|
|''等级调整:'' —|


猎魔蛛擅长寻找丢失的物品、逃跑的奴隶或者敌人,然后把它们带回去交给主人。

猎魔蛛的身躯壮如公牛,腿部延伸出来有14尺长。狩魔蛛重6500磅。

!!!!战斗
猎魔蛛用四只爪子战斗,但它们的魔眼射线更为致命。

魔眼射线(Su):猎魔蛛的眼睛可以产生4种不同的魔法射线(射程100尺)。每一轮,它都可以以自由动作射出1道射线,但同一种射线只有每隔4轮才能使用1次。即使同一轮中的正常攻击后,猎魔蛛仍然可以使用魔眼射线。射线的豁免DC都是18,它们都基于敏捷。

四种射线分别是:

//火焰://对目标造成12d6点火焰伤害(反射减半)。

//冻寒://对目标造成12d6点冻寒伤害(反射减半)。

//电击://对目标造成12d6点电击伤害(反射减半)。

//石化://目标必须通过强韧鉴定,否则被石化。

''追寻目标(Sp):''当猎魔蛛被受命寻找某个物品和生物时,它会精准的执行。就如同受到“感知位置”的指引一样。

发出指令的存在必须看到过要寻找的生物(或者拥有一件属于该生物的物品),或者曾经接触过要定位的物体。这个能力相当于一个8级法术。

''精通擒抱(Ex):''要使用这项能力,猎魔蛛首先必须用它的牙咬中对方,然后可以通过一个自由动作展开擒抱。一旦擒抱鉴定胜出,它就能够用牙牢牢的钳住对方。猎魔蛛通常用它来带回被寻找的物件。


!!!Succubi(魅魔)

''中型异界生物(混乱,跨位面,邪恶)''

|''生命骰:'' 6d8+6(33hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格),飞行50尺(良好)|
|''防御等级:'' 20(+1敏捷,+9天然),接触11,措手不及19|
|''基本攻击/擒抱:'' +6/+7|
|''攻击:'' 爪击+7近身(1d6+1)|
|''全回合攻击:'' 2爪击+7近身(1d6+1)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 能量吸取,类法术能力,召唤恶魔|
|''特性:'' 伤害减免10/寒铁或善良,黑暗视觉60尺,免疫电击,和毒素,强酸、冻寒、火焰抗力10,法术抗力18,心灵感应100尺,巧言|
|''豁免:'' 强韧+6,反射+6,意志+7|
|''属性:'' 力量13,敏捷13,体质13,智力16,感知14,魅力26|
|''技能:'' 哄骗+19,专注+10,交涉+12,易容+17(表演+19),脱逃+10,躲藏+10,威吓+19,知识(任意1项)+12,聆听+19,潜行+10,搜索+12,侦察+19,生存+2(跟踪痕迹+4),绳技+1(捆绑+3)|
|''专长:'' 闪避,灵活移动,劝诱|
|''环境:'' 混乱邪恶位面|
|''组织:'' 单独|
|''挑战等级:'' 7|
|''宝物:'' 标准|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 7~12HD(中型)|
|''等级调整:'' +6|


在本来面目下,魅魔高6尺,重125磅。

!!!!战斗
魅魔不是战士。她们会竭尽所能的逃避战斗。如果被迫战斗,她们会用到她们的爪子。但尽管如此,她们仍然乐意让敌人倒戈。魅魔会使用“变形”能力变成类人生物的形象,并借此进行蒙骗。她们会挑起“男主角”的好感,创造出独处的机会,然后她们就会用出吸取生命的毒吻。在地下城中,魅魔通常会化身成正处于苦难中的少女出现。

魅魔的天然武器在对抗具有伤害面面的生物时,视为具有“混乱”和“邪恶”属性。

''能量吸取(Su):''魅魔引诱受害者进入亢奋,或者直接强吻受害者时可以从对方身上吸取能量。如果对方不愿意被吻,魅魔则必须展开擒抱(这会引发借机攻击)。魅魔的吻可以造成1个负向等级。魅魔的吻还带有“暗示术”效果,询问受害者是否还要接受下一个吻。受害者可以通过一个DC21的意志鉴定来抵抗暗示的效果。移除负向等级的强韧鉴定DC为21,其豁免DC基于魅力。

''类法术能力:''施法等级12,其豁免DC基于魅力。

|//随意施展//—魅惑怪物(DC22)。侦测善良,侦测思想(DC20),幻化灵体(仅限自身外加不超过50磅的物体),变形术(仅限类人生物,无时间限制),暗示(DC21),高等传送术(仅限自身外加不超过50磅的物体)。|

''召唤恶魔(Sp):''每天1次,魅魔可以召唤来1个弗洛魔(30%成功率),这个能力如同3级法术。

''巧言(Su):''魅魔拥有永久的巧言术能力(如同名法术,施法等级12)。魅魔通常使用语言同凡人交流。

''技能:''魅魔在“聆听”和“侦察”上拥有+8种族奖励。

当使用“变形”能力时,魅魔的易容鉴定获得+10环境奖励。


!!!Vrock(弗洛魔)

''大型异界生物(混乱,跨位面,邪恶)''

|''生命骰:'' 10d8+70(115hp)|
|''先攻权:'' +2|
|''速度:'' 30尺(6格),飞行50尺(普通)|
|''防御等级:'' 22(-1体型,+2敏捷,+11天然),接触11,措手不及20|
|''基本攻击/擒抱:'' +10/+20|
|''攻击:'' 爪击+15近身(2d6+6)|
|''全回合攻击:'' 2爪击+15近身(2d6+6)外加噬咬+13近身(1d8+3)外加2耙抓+13近身(1d6+3)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 毁灭之舞,孢子,类法术能力,震耳尖叫,召唤恶魔|
|''特性:'' 伤害减免10/善良,黑暗视觉60尺,免疫电击和毒素,强酸、冻寒、火焰抗力10,法术抗力17,心灵感应100尺|
|''豁免:'' 强韧+14,反射+9,意志+10|
|''属性:'' 力量23,敏捷15,体质25,智力14,感知16,魅力16|
|''技能:'' 专注+20,交涉+5,躲藏+11,威吓+16,知识(任意1项)+15,聆听+24,潜行+15,搜索+15,察言观色+16,法术辨识+15,侦察+24,生存+3(跟踪痕迹+5)|
|''专长:'' 顺势劈,战斗反射,多重攻击,猛力攻击|
|''环境:'' 混乱邪恶位面|
|''组织:'' 单独,成双,成队(3~5),成群(6~10)|
|''挑战等级:'' 9|
|''宝物:'' 标准|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 11~14HD(大型),15~30HD(超大型)|
|''等级调整:'' +8|


弗洛魔身高8尺,重500磅。

!!!!战斗
弗洛魔是恶毒而凶残的战士,他们喜欢从空中俯冲敌人尽可能造成最大的伤害。在战斗中,他们腾越到空中用爪子展开攻击。尽管他们拥有机动力上的优势。但由于弗洛魔对战斗的深爱使得他们有很大机率选择和敌人近身肉搏。

弗洛魔的天然武器在对抗具有伤害减免的生物时视为具有“混乱”和“邪恶”属性。

''毁灭之舞(Su):''要施展这个能力,必须需要至少3个弗洛魔围成一圈,狂热的吟唱并跳起狂野的舞蹈。

在舞蹈开始后的第三轮,会爆发出一波爆裂般的能量,在弗洛魔周围100尺范围内的所有生物(除了其他恶魔)会受到20d6点伤害(反射,DC18,通过减半)。在舞蹈的过程中,如果有任何一个参与舞蹈的弗洛魔被震慑,瘫痪,或者死亡,毁灭之舞就会中止。其豁免DC基于魅力。

''类法术能力:''施法等级12,其豁免DC基于魅力。

|//随意施展//—镜影术,心灵遥控(DC18),高等传送术(仅限自身外加不超过50磅重的物体);|
|//每天1次//—英雄气概。|

''孢子(Ex):''每3轮一次,弗洛魔的身体可以以一个自由动作释放出大量的孢子。这些孢子会给任何靠近它们的生物造成1d8点伤害,然后孢子会刺破受害者的皮肤开始生长,并且在接下来的10轮内每轮造成1d4点伤害。在这10轮结束后,受害者全身会长满蔓藤状的物体(蔓藤本身无害,并且在1d4天内枯萎脱落)。“延缓毒发”可以阻止孢子的生长。“祝福术”、“中和毒性”和“移除疾病”能够杀死孢子。其效果如同在受害者身上泼洒一瓶圣水。

''震耳尖叫(Su):''每小时1次,弗洛魔可以发出震耳欲聋的尖叫。任何在弗洛魔身边30尺范围内的生物(除了其他恶魔)都必须进行一次DC22的强韧鉴定,失败则震慑1轮。该豁免DC基于魅力。

''召唤恶魔(Sp):''每天1次,弗洛魔可以召唤来2d10个怯魔或者另外一只弗洛魔(35%成功率)。这个能力如同一个3级法术。

''技能:''弗洛魔在“聆听”和“侦察”上具有+8种族奖励。 
!!Derro(迪洛矮人)

''小型人形怪物''

|''生命骰:'' 3d8+3 (16 hp)|
|''先攻权:'' +6|
|''速度:'' 20尺 (4格)|
|''防御等级:'' 19 (+1体型,+2敏捷,+2天生,+3镶嵌皮甲,+1小圆盾),接触13,措手不及17|
|''基本攻击/擒抱:'' +3/ -1|
|''攻击:'' 短剑 +4 近战 (1d4/ 19-20),或轻型连发弩 +6 远程 (1d6/ 19-20外加毒素)|
|''全回合攻击:'' 短剑 +4 近战 (1d4/ 19-20),或轻型连发弩 +6 远程 (1d6/ 19-20外加毒素)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 淬毒,类法术能力,偷袭+1d6|
|''特性:'' 疯狂,法术抗力15,畏惧阳光|
|''豁免:'' 强韧+2,反射+5,意志+6|
|''属性:'' 力量11,敏捷14,体质13,智力10,感知5*,魅力16*|
|''技能:'' 唬骗+5,躲藏+10,聆听+1,潜行+8|
|''专长:'' 盲斗,精通先攻|
|''环境:'' 地底|
|''组织:'' 小队 (2-4),中队 (5-8外加1名等级3的术士),或一大群 (11-20外加30%的非战斗人员,3名等级3的术士以及1名等级5-8的术士)|
|''挑战等级:'' 3|
|''宝物:'' 标准钱币,双倍工艺品,标准物品|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 视人物职业而定|
|''等级调整:'' - (+2如果心智健全)|


迪洛矮人受种族性的疯狂折磨,最经常的表现是夸大妄想结合着要折磨其他生物的强烈欲望。迪洛矮人有能力在短时间内控制其谋杀欲望与其他种族的生物合作,但是这种关系持续不了几周。当然,任何迪洛矮人都不会认识到自己已经疯了。

!!! 战斗
迪洛矮人鬼祟而嗜血。他们喜欢小心地设置好残忍的陷阱和致命的埋伏,然后从躲藏的地方野蛮地杀出来。他们喜欢俘虏敌人并在后面将其折磨致死,同时也热衷于能使人瘫痪而不致死的陷阱和毒药。

''疯狂 (Ex):''迪洛矮人在进行意志豁免检定时使用其魅力调整值来取代感知调整值,同时对困惑术及精神错乱的效果免疫。迪洛矮人不能被除奇迹术或祈愿术之外的任何方式变得心智健全。

*迪洛矮人的种族性疯狂使其魅力属性值获得+6的加值,同时感知属性值获得-6的罚值。迪洛矮人若变得心智健全则获得6点感知同时失去6点魅力。

''淬毒 (Ex):''迪洛矮人通常携带2d4剂绿血油或中型蜘蛛毒,将其用于他们的弩矢之上。迪洛矮人在处理毒药的时候没有中毒的危险。

''偷袭 (Ex):''任何时候,如果迪洛矮人的对手在防御等级上失去了敏捷加值,或者迪洛矮人正在夹击他的对手,那么迪洛矮人会制造额外的1d6点伤害。此能力就如同游荡者的偷袭并且也受同样的限制。

''类法术能力:''施法等级3。该豁免检定DC基于魅力调整值。

|随意施展 - 黑暗术,幻音术;|
|每天1次 - 晕眩术 (DC 13),音鸣爆 (DC 15)。|

''畏惧阳光 (Ex):''暴露在日光下的迪洛矮人每小时会受到1点体质伤害,当其体质属性值降到0则死亡。失去的体质点数在地下或其他遮挡日光的地方会以每24小时1点的速度回复。

''技能:''迪洛矮人在进行躲藏及潜行检定时可获得+4的种族加值。
!!!亵渎术(Desecrate)
|塑能系[邪恶]|
|''等级:''牧师 2,邪恶 2|
|''法术成分:''言语,姿势,材料,法器|
|''施法时间:'' 一个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''区域:''半径20英尺弥漫范围|
|''持续时间:'' 2小时/等级|
|''豁免检定:''无|
|''法术抗力:''可|
|此法术将负能量渗透到一个地区。用于驱散区域内不死生物的魅力检定受到-3的亵渎减值,进入亵渎区域的不死生物在攻击、伤害、豁免检定上得到+1的亵渎加值。在此区域内被创造或召唤的不死生物每HD可多1点生命值。|
|若被亵渎的区域内有你信奉的神祗(或同盟的高阶力量)的祭坛、神殿或其他永久物,以上调整值翻倍(驱散减值为-6,+2的亵渎调整值、不死生物每HD+2生命值)。|
|此外,任何人在此区域内施展操纵死尸(animate dead)都可以创造出比通常情况多一倍的不死生物(这就是说,每施法者等级可以招出4HD的不死生物,而非2HD)。|
|若被亵渎的区域内有非你信奉的神祗的祭坛、神殿或其他永久物,亵渎术可以更改用来诅咒该区域,削弱其与神的联系。这一效果一旦被起用,则之前和不死生物相关的加值、减值不再起作用。|
|亵渎术可反制并解除祝圣术(consecrate)。|
|//材料成分://一瓶邪水,价值25金币(5磅)的银粉,所有材料必须洒在影响区域周围。|
!!Destrachan(暗音盲怪)

''大型异怪''

|''生命骰:'' 8d8+24(60hp)|
|''先攻权:'' +5|
|''速度:'' 30英尺(6格)|
|''防御等级:'' 18(-1体型,+1敏捷,+8天生),接触10,措手不及17|
|''基本攻击/擒抱:'' +6/+14|
|''攻击:'' 爪抓+9近战(1d6+4)|
|''全回合攻击:'' 2爪抓+9近战(1d6+4)|
|''面宽/触及:'' 10英尺/5英尺|
|''特殊攻击:'' 毁灭共鸣|
|''特性:'' 盲视100英尺,免疫,防护音波|
|''豁免:'' 强韧+5,反射+5,意志+10|
|''属性:'' 力量18,敏捷12,体质16,智力12,感知18,魅力12|
|''技能:'' 躲藏+8,聆听+25,潜行+7,野外求生+9|
|''专长:'' 闪避,精通先攻,闪电反射|
|''环境:'' 地底|
|''组织:'' 单独或成群(3-5)|
|''挑战等级:'' 8|
|''宝物:'' 无|
|''阵营:'' 通常是中立邪恶|
|''进化:'' 9-16HD(大型);17-24HD(超大型)|
|''等级调整:'' -|

擅长挖掘地道的暗音盲怪,外表看起来像是一种怪异而没有智力的生物,但它实际上是个极为邪恶狡猾的虐待狂。暗音盲怪有一对构造复杂、分成三个部分的耳朵,它们能够作调整,以增加或降低对某种声音的敏感程度。暗音盲怪看不见东西,但它们通过声音猎食的本事比大多数依赖视觉的生物高明得多。

暗音盲怪管子形状的嘴壳产生精确控制的共鸣,发出的音波威力之强,足以震碎石壁。暗音盲怪能够控制这种声音,可选择此音波攻击会影响到何种类型的材质。

暗音盲怪从头到尾约有10英尺长,重约4000磅。

暗音盲怪不会说话,但听得懂通用语。当它们需要沟通时,通过身体动作来表达。

!!! 战斗
暗音盲怪通常会先用音波攻击削弱敌人,再用爪抓攻击作为解决对方的最后手段。在战斗中暗音盲怪会尽量采用突袭。它们起初会将音波攻击集中在摧毁金属盔甲和武器上,然后再转换成破坏肉体的共鸣频率。

''毁灭共鸣(Su):''暗音盲怪能发出远达80英尺的锥状音波能量。它也可以用这种攻击影响半径30英尺内的任何生物或物体。暗音盲怪可以调整共鸣的频率,借此影响不同类型的目标。所有的豁免DC都基于魅力。

''肉体:''这种音波会撕裂血肉、拆散骨架,任何在其锥状范围内的目标都会遭受4d6点伤害(以DC=15通过反射检定则伤害减半)。
''神经:''暗音盲怪客将共鸣频率调整为压迫敌人,而非杀死对方。任何在其锥状范围内的目标都会遭受6d6点瘀伤(以DC=15通过反射检定则伤害减半)。
物质:使用此种共鸣时,暗音盲怪可选择的物质包括木材、石材、金属以及玻璃。任何由选定的材质所做成的物体,一旦在音波的范围内,就必须通过强韧检定(DC=15),否则就会粉碎。所有生命值不超过30的物体(或物体的一部分)都有可能受到这种攻击的影响。

''盲视(Ex):''暗音盲怪可利用听力分辨周围100英尺内的敌人,如同具有视力的生物一样。

''免疫:''暗音盲怪免疫凝视攻击、幻影、幻像以及其他依赖于视觉的攻击形式。

''防护音波(Ex):''尽管暗音盲怪会受到巨大声响及音波类法术(如“幻音术”及“沉默术”)的影响,音波类攻击不太容易对它们产生作用(所有检定可获得+4环境加值),这是因为它们可以掩护自己的耳朵。暗音盲怪的听觉一旦受损,就如同目盲一般,所有目标对它而言都是完全隐蔽。

''技能:''暗音盲怪在聆听检定上具有+10种族加值。 

!!!灰飞烟灭(Destruction)
|死灵系[死亡]|
|''等级:''牧师 7,死亡 7|
|''法术成分:''言语,姿势,器材|
|''施法时间:'' 一个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''目标:''一个生物|
|''持续时间:''立即|
|''豁免检定:''强韧,通过则效果减半|
|''法术抗力:''是|
|此法术可在瞬间杀死目标并摧毁遗体(但不包括其装备、物品)。若目标通过强韧检定,则受到10d6点伤害。对于检定失败的生物,要复活只能通过完全复生术(true resurrection),措辞严谨的祈愿术(wish)外加复生术(resurrection),或者神迹术(miracle)。|
|//器材://刻有诅咒韵文的特制银圣徽(或邪徽)(价值500金币)。|
!!!侦测动植物(Detect Animals Or Plants)
|预言系|
|''等级:''德鲁伊 1,巡林客1|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''远距 (400英尺+40英尺/等级)|
|''区域:''锥形弥漫范围|
|''持续时间:'' 专注,最多10 分钟/等级(可解消)|
|''豁免检定:''无|
|''法术抗力:''不可|
|你可以侦测你面前锥形弥漫范围内的特定动植物种类。你在施法时必须确定一种动植物种类,但每一轮都可以改变种类。你能获得的信息取决于你研究该区域或此种动植物的时间。|
|//第一轮://确定是否有这种动植物。|
|//第二轮://区域内该特定种类动植物的数量,及其中最健康生物的状况。|
|//第三轮://每一个个体的状况(见下文)和位置。若它处于你的视线外,则你只能知晓它的方向,而非确切位置。|
|//状况://此法术能察知的状况如下:|
|正常(Normal):有至少90%的生命值,无疾病。|
|尚可(Fair):有30%-90%的生命值|
|欠佳(Poor):生命值少于30%,疾病或因伤衰弱。|
|衰弱(Weak):生命值不高于0,病入膏肓,或残废|
|若生物有多种以上状态,此法术会显示出较糟糕的状态。|
|每一轮你都可以侦测一个新的区域,此法术可穿透障碍,不过1英尺厚的岩石,1英寸厚的普通金属,薄铅片或3英尺厚的木头或泥土都可以挡住它。|
!!!侦测混乱(Detect Chaos)
|预言系|
|''等级:''牧师 1|
|此法术作用类似侦测邪恶(detect evil),不过此法术察知混乱生物、混乱神祗的牧师,混乱法术以及混乱魔法物品的灵光,若你属于守序阵营,你可能被刺目的混乱灵光所伤。|
!!!侦测邪恶(Detect Evil)
|预言系|
|''等级:''牧师 1|
|''法术成分:''言语,姿势,法器|
|''施法时间:'' 一个标准动作|
|''距离:''60英尺|
|''区域:'' 锥形弥漫范围|
|''持续时间:''专注,最多10分钟/每等级(可解消)|
|''豁免检定:''无|
|''法术抗力:''不可|
|你可以侦测邪恶的灵光。你能获得的信息取决于你研究该区域或物品的时间。|
|//第一轮://确定是否有邪恶灵光。|
|//第二轮://察知邪恶灵光(生物,物体或法术)的数量,以及最强者的亮度。|
|若你属于善良阵营,且最强的邪恶灵光强度是刺目(见下),且光源的HD或等级至少达到你人物等级的两倍,那么你被震慑一轮,且法术结束。|
|//第三轮://每个灵光强度和所在位置。若灵光在你的视线外,则你只能知道该生物的方向而非具体位置|
|灵光强度:邪恶灵光的强度取决于邪恶生物或物体的种类和HD、施法者等级或(若是牧师)职业等级,见下表。若一道灵光可归类于多种强度,则此法术可察知其中最强的两种|

|!		 |!	———————— 灵光强度 ————————	 |<|<|<|
|!	生物/物体	 |!	昏暗(Faint)	 |!	中等(Moderate)	 |!	强烈(Strong)	 |!	刺目(Overwhelming)	 |
|^	邪恶生物^^1^^ (HD)	 |^	10或更低	 |^	11–25	 |^	26–50	 |^	51或更高	 |
|^	不死生物 (HD)	 |^	2或更低	 |^	3–8	 |^	9–20	 |^	21或更高	 |
|^	邪恶异界生物 (HD)	 |^	1或更低	 |^	2–4	 |^	5–10	 |^	11或更高	 |
|^	邪恶神祗的牧师 ^^2^^(职业等级)	 |^	1	 |^	2–4	 |^	5–10	 |^	11或更高	 |
|^	邪恶魔法物品或法术(施法者等级)	 |^	2级或更低	 |^	3–8级	 |^	9–20级	 |^	21级或更高	 |
|^	1// 除不死生物和异界生物,它们在此表中有自己的归类//	 |<|<|<|<|
|^	2 //一些非牧师的角色也会发出同样的灵光,职业描述将决定此表是否适用。//	 |<|<|<|<|

|//残存的灵光://邪恶灵光源被驱散(法术)后或摧毁(生物或魔法物品)后,会留下残存的灵光。若以侦测邪恶观察这一区域,则可发现此处有暗淡(dim)的灵光(比昏暗的灵光更暗)。灵光的残存时间取决于该魔法物品的力量。|

|!	原来的强度	 |!	灵光残存时间	 |
|^	昏暗	 |^	1d6 轮	 |
|^	中等	 |^	1d6 分钟	 |
|^	强烈	 |^	1d6x10 分钟	 |
|^	刺目	 |^	1d6 天	 |


|动物,陷阱、毒素以及其他潜在威胁都不是邪恶的,因此不会被此法术侦测到。|
|每一轮你都可以侦测一个新区域。此法术可穿透障碍,不过1英尺厚的岩石,1英寸厚的普通金属,铅薄片或3英尺厚的木头或泥土都可以挡住它。|
!!!侦测混乱(Detect Chaos)
|预言系|
|''等级:''牧师 1|
|此法术作用类似于侦测邪恶(detect evil),不过此法术察知善良生物,善良神祗的牧师或圣武士,善良法术以及善良魔法物品的灵光,若你属于邪恶阵营,你可能被刺目的善良灵光所伤。医疗药剂、解毒剂及类似物品不是善良物品。|
!!!侦测混乱(Detect Chaos)
|预言系|
|''等级:''牧师 1|
|此法术作用类似于侦测邪恶(detect evil),不过此法术察知守序生物,守序神祗的牧师,守序法术以及守序魔法物品的灵光,若你属于混乱阵营,你可能被刺目的守序灵光所伤。|
!!!侦测魔法(Detect Magic)
|预言系|
|''等级:''吟游诗人 0,牧师 0,德鲁伊 0,术士/法师 0|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''60英尺|
|''区域:''锥形弥漫区域|
|''持续时间:''专注,最多 1 分钟/等级(可解消)|
|''豁免检定:''无|
|''法术抗力:''不可|
|你可以侦测魔法的灵光。你能获得的信息取决于你研究该区域或物品的时间。|
|//第一轮://确定是否有魔法灵光。|
|//第二轮://察知魔法灵光的数量,以及最强者的强度。|
|//第三轮://每处灵光的位置和强度。若物品或生物在视线内,你可以通过辨识法术检定来得知那些法术所属的学派。(每道灵光进行一次检定;DC=15+法术等级,若是非法术效果则为15加施法者等级的一半)。|
|魔法区域,多种法术效果或强大的区域法术可能会歪曲或掩盖较弱的魔法灵光。|
|//灵光强度://灵光强度与作用中的法术等级或物品的施法者等级有关。若一道灵光包含了多个类型,则此法术会显示其中较强者。|

|!		 |!	————————— 灵光强度 —————————	 |<|<|<|
|!	法术或物体	 |!	昏暗(Faint)	 |!	中等(Moderate)	 |!	强烈(Strong)	 |!	刺目(Overwhelming)	 |
|^	作用中的法术(法术等级)	 |^	3级或更低	 |^	4–6级	 |^	7–9级	 |^	10+ (神级)	 |
|^	魔法物品(施法者等级)	 |^	5级或更低	 |^	6–11级	 |^	12–20级	 |^	21+ (神器)	 |

|//残存的灵光://魔法灵光被摧毁(魔法物品)或消失(法术)后,会留下残存的灵光。若以侦测魔法观察,则可发现此处有暗淡(dim)的灵光(比昏暗灵光更暗)。灵光的残存时间取决于该魔法物品的力量。|

|!	原来的强度	 |!	灵光残存时间	 |
|^	昏暗	 |^	1d6 轮	 |
|^	中等	 |^	1d6 分钟	 |
|^	强烈	 |^	1d6x10 分钟	 |
|^	刺目	 |^	1d6 天	 |


|异界生物和元素生物本身不是魔法物品,但如果它们是被召唤来的,可以侦测到咒法系法术。|
|每一轮你都可以侦测一个新区域。此法术可穿透障碍,不过1英尺厚的岩石,1英寸厚的普通金属,铅薄片或3英尺厚的木头或泥土都可以挡住它。|
|侦测魔法可以用魔法恒定术(permanency)来永久化。|

!!!侦测毒素(Detect Poison)
|预言系|
|''等级:''牧师 0,德鲁伊 0,圣武士 1,巡林客1,术士/法师 0|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''目标或区域:''一个生物、物品或5立方英尺空间|
|''持续时间:''立即|
|''豁免检定:''无|
|''法术抗力:''不可|
|你可以察知一个生物、一个物体、空间是否中毒或有毒。你可以通过DC20的感知检定来察知毒素的种类。角色若有手艺(炼金),则在感知检定失败时可以尝试DC 20的手艺(炼金)检定,或者在感知检定之前进行DC 20的手艺(炼金)技能检定。|
|此法术可穿透障碍,不过1英尺厚的岩石,1英寸厚的普通金属,铅薄片或3英尺厚的木头或泥土都可以挡住它。|
!!!侦测探知(Detect Scrying)
|预言系|
|''等级:''吟游诗人 4术士/法师 4|
|''法术成分:''言语,姿势,材料|
|''施法时间:'' 一个标准动作|
|''距离:''40英尺|
|''区域:''以你为中心,半径40英尺弥漫范围|
|''持续时间:'' 24小时|
|''豁免检定:''无|
|''法术抗力:''不可|
|当你被任何预言系(探知)法术或效果观测时,你会立即知晓。这个法术法术区域以你为中心,并随你移动。你可以知道法术范围内任何魔法传感器。|
|若有人试图在法术区域内侦测你,你会知道它的位置;同时,你和侦测者立刻进行施法者等级对抗(1d20+施法者等级)。若你的结果不低于对方,则你立即看到对方的影像,并确知其方向及距离。|
|//材料成分://一小片镜子和一个微缩的黄铜助听器。|
!!!侦测密门(Detect Secret Doors)
|预言系|
|''等级:''吟游诗人 1,知识 1,术士/法师 1|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''60英尺|
|''区域:''锥状弥漫范围|
|''持续时间:''专注,至多1分钟/等级(可解消)|
|''豁免检定:''无|
|''法术抗力:''不可|
|你可以侦测出密门、密室、地窖等。此法术只能侦测出那些刻意隐藏、想要不被人发现的通道、门或出入口。你能获得的信息取决于你研究该区域的时间。|
|//第一轮://确定是否有密门。|
|//第二轮://密门数量,及每一个的位置。若陷阱在视线外,则你只能知晓它的方向,而非确切位置。|
|//之后的每一轮://由近到远依次知道每个密门的机械装置或触发机关。|
|每一轮你都可以侦测一个新的区域,此法术可穿透障碍,不过1英尺厚的岩石,1英寸厚的普通金属,铅薄片或3英尺厚的木头或泥土都可以挡住它。|
!!!侦测陷阱(Detect Snares and Pits)
|预言系|
|''等级:''德鲁伊 1,巡林客1|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''60英尺|
|''区域:''锥形弥漫区域|
|''持续时间:''专注,最多10 分钟/等级(可解消)|
|''豁免检定:''无|
|''法术抗力:''不可|
|你可以侦测出简单的陷坑、陷阱、圈套,以及由天然材料制成的机械陷阱。此法术无法侦测出复杂陷阱,包括活板门陷阱。|
|侦测陷阱可以侦测出某些天然险情——流沙(如同圈套),岩石坑洞(如同陷坑),或濒临倒塌的石墙(如同砸物陷阱)。但是它无法发现其他潜在的危机。此法术无法侦测魔法陷阱(除了通过陷坑、陷阱、圈套起作用的,见圈套术(snare)),也无法发现复杂的机械陷阱,同时也无法发现已经是安全或无效的陷阱。|
|你能获得的信息取决于你研究该区域的时间。|
|//第一轮://确定是否有陷阱。|
|//第二轮://陷阱数量,及每一个的位置。若陷阱在视线外,则你只能知晓它的方向,而非确切位置。|
|//之后的每一轮://由近到远依次知道每个陷阱的种类和触发方式。|
|每一轮你都可以侦测一个新的区域,此法术可穿透障碍,不过1英尺厚的岩石,1英寸厚的普通金属,铅薄片或3英尺厚的木头或泥土都可以挡住它。|
!!!侦测思想(Detect Thoughts)
|预言系[影响心灵]|
|''等级:''吟游诗人 2,知识 2,术士/法师 2|
|''法术成分:''言语,姿势,器材/法器|
|''施法时间:'' 一个标准动作|
|''距离:''60英尺|
|''区域:''锥形弥漫范围|
|''持续时间:''专注,最多 1 分钟/等级(可解消)|
|''豁免检定:''意志,通过则无效;见说明|
|''法术抗力:''不可|
|你可以侦测表层思想。你可以取得的信息量取决于你研究该地区或对象的时间。|
|//第一轮://得知是否有思想的存在(来自智力1或更高的清醒生物)。|
|//第二轮://思想者的数量,以及它们的智力值。若最高者的智力达到26或更高(且至少比你高10点),你被震慑一轮且法术结束。若你不能看见对方,则你无法得知思想者的位置。|
|//第三轮://察知区域内的所有表层思想。目标若通过意志检定则你无法得知它在想些什么,必须再次施法才再有机会得知对方思想。你只能从动物智力(智力1或2)的生物身上得知其简单本能的思想。|
|每一轮你都可以侦查一个新区域。此法术可穿透障碍,不过1英尺厚的岩石,1英寸厚的普通金属,铅薄片或3英尺厚的木头或泥土都可以挡住它。|
|奥术器材:一个铜币。|
!!!侦测死灵(Detect Undead)
|预言系|
|''等级:''牧师 1,圣武士 1,术士/法师 1|
|''法术成分:''言语,姿势, 材料/法器|
|''施法时间:'' 一个标准动作|
|''距离:'' 60英尺|
|''区域:''锥形弥漫范围|
|''持续时间:''专注,最多1分钟/等级(可解消)|
|''豁免检定:''无|
|''法术抗力:''不可|
|你可以找到周围的不死生物。你可获得的信息量取决于你对该区域研究了多久。|
|//第一轮://得知是否有不死生物灵光的存在。|
|//第二轮://得知不死生物的数量,以及其中最强者的灵光强度。若你属善良阵营,且最强的不死生物的灵光强度是刺目(见下文),且该生物的HD至少两倍于你的人物等级,则你被震慑一轮,法术结束。|
|//第三轮://每个不死生物的灵光强度和所在位置。若生物在你的视线外,则你只能知道该生物的方向而非具体位置|
|灵光强度:每个不死生物的灵光强度取决于它们的HD,如下表所示:|

|!	HD	 |!	强度	 |
|^	1或更低	 |^	昏暗	 |
|^	2–4	 |^	中等	 |
|^	5–10	 |^	强烈	 |
|^	11或更高	 |^	刺目	 |


|残存的灵光:不死生物被摧毁后,会留下残存的灵光。若以侦测死灵观察,则可发现此处有暗淡(dim)的灵光(比昏暗灵光更暗)。灵光的残存时间取决于该不死生物的力量。|

|!	原来的强度	 |!	灵光残存时间	 |
|^	昏暗	 |^	1d6 轮	 |
|^	中等	 |^	1d6 分钟	 |
|^	强烈	 |^	1d6x10 分钟	 |
|^	刺目	 |^	1d6 天	 |


|每一轮,你都可以转向侦测新的地区。此法术可穿透障碍,不过1英尺厚的岩石,1英寸厚的普通金属,铅薄片或3英尺厚的木头或泥土都可以挡住它。|
|//奥术材料成分://一点墓地里的泥土|
魔鬼是来自于守序邪恶位面的炼狱生物。

多数魔鬼身体周围都环绕著邪恶灵气,它们会利用这个灵气打散战力很强的敌人队伍,然后再逐一击败各个对手。拥有类法术能力的魔鬼会使用它们的幻术能力尽可能地欺骗和迷惑对手。它们最喜欢玩的把戏是创造一支由幻像构成的增援部队,敌人永远无法确定这威胁仅仅是虚假幻觉还是被召唤来加入战斗的真正魔鬼。

''魔鬼特性:''绝大多数的魔鬼拥有以下的特性(除非生物描述中另有注明) 。

*对火焰及毒素免疫。
*对酸及寒冷抗力10。
*黑暗中视物 (Su) :一些魔鬼无论在任何形式形成的黑暗中都可清楚的看清东西,即使那黑暗是幽深黑暗术造成的也一样。
*召唤 (Sp) :一些魔鬼拥有召唤它们同类的能力(成功率和可召唤的魔鬼种类会在各个怪物的详述中注明) 。
*心灵感应。

除非另有注明,魔鬼说炼狱语,天界语,和龙语。


!!!Barbed Devil (Hamatula)尖刺魔 (哈玛魔) 

''中型异界生物 (邪恶,跨位面,守序)''

|''生命骰:'' 12d8+72(126hp)|
|''先攻权:'' +6|
|''速度:'' 30尺(6格)|
|''防御等级:'' 29(+6敏捷,+13天生),接触16,措手不及23|
|''基本攻击/擒抱:'' +12/+22|
|''攻击:'' 爪抓+18近战(2d8+6外加恐惧)|
|''全回合攻击:'' 2爪抓+18近战(2d8+6外加恐惧)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 恐惧,精通攫抓,刺穿3d8+9,召唤魔鬼|
|''特性:'' 尖刺防御,伤害减免10/善良,黑暗视觉60尺,对火焰及毒素免疫,对酸及寒冷抗力10,黑暗中视物,法术抗力23,类法术能力,心灵感应100尺|
|''豁免:'' 强韧+14,反射+14,意志+12|
|''属性:'' 力量23,敏捷23,体质23,智力12,感知14,魅力18|
|''技能:'' 专注+21,交涉+6,躲藏+21,威吓+19,知识(任意1种)+16,聆听+19,潜行+21,搜索+16,察言观色+17,侦察+19,生存+2(追随踪迹+4)|
|''专长:'' 警觉,顺势斩,精通擒抱,钢铁意志,猛力攻击|
|''环境:'' 守序邪恶位面|
|''组织:'' 单独,成对,成队(3-5),或成群(6-10)|
|''挑战等级:'' 11|
|''宝物:'' 标准|
|''阵营:'' 总是守序邪恶|
|''进化:'' 13-24HD(中型);25-36HD(大型)|
|''等级调整:'' -|

尖刺魔约有7尺高,约300磅重。

!!!!战斗
尖刺魔喜好用它们的爪子攻击,试图来刺穿它们的对手。它们对躲开了它们攻击的对手使用人类定身术来使其失去行动能力。

在对抗伤害减免时,尖刺魔的天生武器以及它所持有的任何武器,都被视为具有邪恶和守序阵营。

''恐惧 (Su):''被尖刺魔击中的生物必须通过一个DC 20的意志豁免检定否则会受到如同被恐惧术所影响的效果(施法等级9)。无论是否通过此豁免检定,该生物在24小时内都不会再被同一个尖刺魔的恐惧能力影响。该豁免检定DC基于魅力调整值。

''刺穿 (Ex):''尖刺魔在成功擒抱对手时会对其制造3d8+9点的穿刺伤害。

''精通攫抓 (Ex):''在使用这项能力之前,尖刺魔必须用它的爪抓攻击命中目标。然后它就可以通过一个即时动作来尝试擒抱对手,该动作不会引发借机攻击。它一旦将对手定身,就可以用它带刺的身体刺穿对手。

''召唤魔鬼 (Sp):''尖刺魔每天有1次机会召唤1d6个倒钩魔或另外一个尖刺魔,成功率为35%。该能力相当于一个4级法术。

''尖刺防御 (Su):''任何使用握持武器或天生武器攻击尖刺魔的生物都会因为尖刺魔的尖刺而受到1d8+6点的穿刺和挥砍伤害。拥有异常触及范围的武器,比如长矛,不会因此使其使用者受伤。

''类法术能力:''施法等级12。该豁免检定DC基于魅力调整值。

|//随意施展// - 高等传送术 (仅限自身外加50磅重的物品),人类定身术 (DC 16),强效幻影 (DC 17),灼热射线 (仅2条射线)。|
|//每日1次// - 秩序之怒 (DC 18),邪影击 (DC 18)。|


!!!Bearded Devil (Barbazu)倒钩魔 (巴霸魔) 

''中型异界生物 (邪恶,跨位面,守序)''

|''生命骰:'' 6d8+18(45hp)|
|''先攻权:'' +6|
|''速度:'' 40尺(8格)|
|''防御等级:'' 19(+2敏捷,+7天生),接触12,措手不及17|
|''基本攻击/擒抱:'' +6/+8|
|''攻击:'' 大砍刀+9近战(1d10+3外加炼狱创伤),或爪抓+8近战(1d6+2)|
|''全回合攻击:'' 大砍刀+9/+4近战(1d10+3外加炼狱创伤),或2爪抓+8近战(1d6+2)|
|''面宽/触及:'' 5尺/5尺(大砍刀10尺)|
|''特殊攻击:'' 炼狱创伤,倒钩,狂战,召唤魔鬼|
|''特性:'' 伤害减免5/银或善良,黑暗视觉60尺,对火焰及毒素免疫,对酸及寒冷抗力10,黑暗中视物,法术抗力17,心灵感应100尺|
|''豁免:'' 强韧+8,反射+7,意志+5|
|''属性:'' 力量15,敏捷15,体质17,智力6,感知10,魅力10|
|''技能:'' 攀爬+11,交涉+2,躲藏+11,聆听+9,潜行+9,察言观色+9,侦察+9|
|''专长:'' 精通先攻,猛力攻击,专功武器(大砍刀)|
|''环境:'' 守序邪恶位面|
|''组织:'' 单独,成对,成队(3-5),或成群(6-10)|
|''挑战等级:'' 5|
|''宝物:'' 标准|
|''阵营:'' 总是守序邪恶|
|''进化:'' 7-9HD(中型);10-18HD(大型)|
|''等级调整:'' +6|


每个倒钩魔都带有一把带锯齿的大砍刀。

倒钩魔站立时约6尺高,重约225磅。

!!!!战斗
倒钩魔攻击性很强而且好斗。它们沉迷于它们的狂战能力,将伤害散布到它们的敌人身上。

在对抗伤害减免时,倒钩魔的天生武器以及它所持有的任何武器,都被视为具有邪恶和守序阵营。

''类法术能力:''施法等级12。

|随意施展 - 高等传送术 (仅限自身及50磅重的物品)。|

''炼狱创伤 (Su):''被倒钩魔的大砍刀击中会造成一个持久的伤口。受到伤害的生物每轮额外损失2点生命。这伤口不能被自然治愈而且会抵抗医疗法术。持续性的损失生命可以通过一个DC 16的医疗检定,一个治疗法术,或一个医疗术来终止。不管用哪种方法,尝试释放治疗法术或医疗术在倒钩魔的大砍刀制造出的伤口的人物必须通过一个DC 16的施法等级检定,否则法术将对受伤人物无效。一个成功的医疗检定会如恢复生命值一样自动停止持续的生命值损失。炼狱创伤属于倒钩魔的超自然能力,而非武器能力。该豁免检定DC基于体质调整值。

''倒钩 (Ex):''如果倒钩魔的两次爪抓都命中了同一目标,那么该目标自动被倒钩魔的倒钩击中。受影响的生物受到1d8+2点伤害同时必须通过一个DC 16的强韧豁免检定否则会得一种被称作魔鬼寒的可怕疾病 (潜伏期1d4天,造成1d4点的力量伤害)。被传染的生物每天都会受到一次伤害,直到她连续通过3次强韧豁免检定,该疾病就会被奇迹般的治愈,或者直到该生物死亡为止。该豁免检定DC基于体质调整值。

''狂战 (EX):''每天2次,倒钩魔能进入类似于野蛮人狂暴的狂战状态 (力量+4,体质+4,意志豁免获得+2士气加值,AC获得-2罚值)。狂战持续6轮,在此之后倒钩魔不会承受任何不良效果。

''召唤魔鬼 (Sp):''倒钩魔每天有1次机会召唤2d10个劣魔,成功率为50%;或召唤另一个倒钩魔,成功率为50%。该能力相当于一个3级法术。


!!!Bone Devil (Osyluth)骨魔 (奥塞魔) 

''大型异界生物 (邪恶,跨位面,守序)''

|''生命骰:'' 10d8+50(95hp)|
|''先攻权:'' +9|
|''速度:'' 40尺(8格)|
|''防御等级:'' 25(-1体型,+5敏捷,+11天生),接触14,措手不及20|
|''基本攻击/擒抱:'' +10/+19|
|''攻击:'' 啮咬+14近战(1d8+5)|
|''全回合攻击:'' 啮咬+14近战(1d8+5)及2爪抓+12近战(1d4+2)及螯刺+12近战(3d4+2外加毒素)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 类法术能力,恐惧灵气,毒素,召唤魔鬼|
|''特性:'' 伤害减免10/善良,黑暗视觉60尺,对火焰及毒素免疫,对酸及寒冷抗力10,黑暗中视物,法术抗力21,心灵感应100尺|
|''豁免:'' 强韧+12,反射+12,意志+11|
|''属性:'' 力量21,敏捷21,体质21,智力14,感知14,魅力14|
|''技能:'' 唬骗+15,专注+18,交涉+6,易容+2(演技+4),躲藏+14,威吓+17,知识(任意1种)+15,聆听+17,潜行+18,搜索+15,察言观色+15,侦察+17,生存+2(追随踪迹+4)|
|''专长:'' 警觉,精通先攻,钢铁意志,多重攻击|
|''环境:'' 守序邪恶位面|
|''组织:'' 单独,成队(2-4),或成群(6-10)|
|''挑战等级:'' 9|
|''宝物:'' 标准|
|''阵营:'' 总是守序邪恶|
|''进化:'' 11-20HD(大型);21-30HD(超大型)|
|''等级调整:'' -|


骨魔站立约9尺高,重约500磅。

!!!!战斗
骨魔憎恨一切其他生物并且会展开无情的攻击。它们可以随意地使用冰墙术来分隔敌人。

在对抗伤害减免时,骨魔的天生武器以及它所持有的任何武器,都被视为具有邪恶和守序阵营。

''恐惧灵气 (Su):''骨魔能以一个即时动作展开一道5英尺半径的恐惧灵气。受影响的生物必须通过一个DC 17的意志豁免检定,否则会受到如同被恐惧术所影响的效果(施法等级7)。成功通过豁免检定的生物在24小时内将不再受到同一个骨魔的恐惧灵气影响。其他魔鬼对此灵气免疫。该豁免检定DC基于魅力调整值。

''毒素 (Ex):''伤害,强韧豁免检定DC 20,初始伤害为1d6点力量伤害,后续伤害2d6点力量伤害。该豁免检定DC基于体质调整值。

''类法术能力:''施法等级12。该豁免检定DC基于魅力调整值。

|//随意施展// - 高等传送术 (仅限自身及50磅重的物品),次元锚,飞行术,隐形术 (仅限自身),强效幻影 (DC 15),冰墙术。|

''召唤魔鬼 (Sp):''骨魔每天有1次机会召唤2d10个劣魔,成功率为50%;或者召唤另一个骨魔,成功率为35%。该能力相当于一个4级法术。


!!!Chain Devil (Kyton)链魔 (基顿魔) 

''中型异界生物 (邪恶,跨位面,守序)''

|''生命骰:'' 8d8+16(52hp)|
|''先攻权:'' +6|
|''速度:'' 30尺(6格)|
|''防御等级:'' 20(+2敏捷,+8天生),接触12,措手不及18|
|''基本攻击/擒抱:'' +8/+10|
|''攻击:'' 链条挥扫+10近战(2d4+2/19-20)|
|''全回合攻击:'' 2链条挥扫+10近战(2d4+2/19-20)|
|''面宽/触及:'' 5尺/5尺(链条10尺)|
|''特殊攻击:'' 舞动链条,胆怯凝视|
|''特性:'' 伤害减免5/银或善良,黑暗视觉60尺,对寒冷免疫,再生,法术抗力18|
|''豁免:'' 强韧+8,反射+8,意志+6|
|''属性:'' 力量15,敏捷15,体质15,智力6,感知10,魅力12|
|''技能:'' 攀爬+13,手艺(铁匠)+17,逃脱术+13,威吓+12,聆听+13,侦察+13,绳技+2(捆绑+4)|
|''专长:'' 警觉,精通重击(链条),精通先攻|
|''环境:'' 守序邪恶位面|
|''组织:'' 单独,成队(2-4),成群(6-10),或一大群(11-20)|
|''挑战等级:'' 6|
|''宝物:'' 标准|
|''阵营:'' 总是守序邪恶|
|''进化:'' 9-16HD(中型)|
|''等级调整:'' +6|

链魔是看起来像人类,全身被链条而非衣服包裹的魔鬼。链魔有6尺高,包括链条重约300磅。

链魔说炼狱语和通用语。

!!!!战斗
链魔通过挥舞带刺的链条来攻击对手,那些链条同时也是它的衣服,盔甲,以及武器。

在对抗伤害减免时,链魔的天生武器以及它所持有的任何武器,都被视为具有邪恶和守序阵营。

''舞动链条 (Su):''链魔最可怕的攻击就是它能通过一个标准动作控制20尺范围内4根链条,并且按其意愿挥舞或移动的能力。除此之外,链魔可以增加这些链条的长度最多达15尺并且使其长出锐利的尖刺。这些链条在攻击时就如同链魔自己一样有效。如果一根链条被另一个生物所拥有,那么该生物必须通过一个DC 15的意志豁免检定来打破链魔对该链条的控制。如果此豁免检定成功,那么链魔在24小时内将不能再尝试控制那根链条除非该链条不在为那生物所有。该豁免检定DC基于魅力调整值。

链魔能以正常速度沿着它所控制的链条攀爬,而且不需要做攀爬技能检定。

''胆怯凝视 (Su):''距离30尺,通过DC 15的意志豁免检定则无效。链魔可以让自己的脸看起来像是对手昔日的爱人和死敌。在豁免检定中失败的对手在接下来的1d3轮中会在其攻击检定上获得-2的罚值。该豁免检定DC基于魅力调整值。

''再生 (Ex):''银制武器,善良阵营武器,以及被描述为善良的法术或效果会对链魔造成正常伤害。

链魔若失去身体的一部分,可在2d6*10分钟内长回来。如果把断肢放在残干上面则会立刻接好。

''技能:''在进行与金属制造有关的手艺技能检定时,链魔会获得+8的种族加值。



!!!Erinyes(欲魔)

''中型异界生物 (邪恶,跨位面,守序)''

|''生命骰:'' 9d8+45(85hp)|
|''先攻权:'' +5|
|''速度:'' 30尺(6格),飞行50尺(良好)|
|''防御等级:'' 23(+5敏捷,+8天生),接触15,措手不及18|
|''基本攻击/擒抱:'' +9/+14|
|''攻击:'' 长剑+14近战(1d8+5/19-20),或+1火焰复合长弓(+5力量)+15远程(1d8+6/*3外加1d6火焰),或绳索+14远程(纠缠)|
|''全回合攻击:'' 长剑+14/+9近战(1d8+5/19-20),或+1火焰复合长弓(+5力量)+15/+10远程(1d8+6/*3外加1d6火焰),或绳索+14远程(纠缠)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 纠缠,类法术能力,召唤魔鬼|
|''特性:'' 伤害减免5/善良,黑暗视觉60尺,对火焰及毒素免疫,对酸及寒冷抗力10,黑暗中视物,法术抗力20,心灵感应100尺,真知术|
|''豁免:'' 强韧+11,反射+11,意志+10|
|''属性:'' 力量21,敏捷21,体质21,智力14,感知18,魅力20|
|''技能:'' 专注+17,交涉+7,逃脱术+17,躲藏+17,知识(任意2种)+14,聆听+16,潜行+17,搜索+14,察言观色+16,侦察+16,生存+4(追随踪迹+6),绳技+5(捆绑+7)|
|''专长:'' 闪避,灵活移动,近程射击,精准射击,快速射击,移动射击|
|''环境:'' 守序邪恶位面|
|''组织:'' 单独|
|''挑战等级:'' 8|
|''宝物:'' 标准,外加绳索和+1火焰复合长弓(+5力量)|
|''阵营:'' 总是守序邪恶|
|''进化:'' 10-18HD(中型)|
|''等级调整:'' +7|


与其他魔鬼不同,欲魔对人类来说极具吸引力,看起来很像非常清秀的女人(或男人)。欲魔站立约6尺高,重约150磅。

欲魔说炼狱语,天界语,龙语。

!!!!战斗
欲魔喜欢拉开距离展开战斗。它们使用魅惑怪物来扰乱对手,然后在空中射出炽热的箭雨。

在对抗伤害减免时,欲魔的天生武器以及它所持有的任何武器,都被视为具有邪恶和守序阵营。

''纠缠 (Ex):''每个欲魔都携带着一条50尺长的结实绳子,可如活化绳一样纠缠任意体型的对手 (施法等级16)。欲魔可以把它的绳子掷出30尺,且不会受到距离罚值。代表性的,欲魔会用绳子纠缠住一个敌人,提着它到空中,然后从很高的地方把它丢下。

''类法术能力:''施法等级12。该豁免检定DC基于魅力调整值。

|i随意施展 - 高等传送术 (仅限自身及50磅重的物品),魅惑怪物 (DC 19),弱效幻影 (DC 17),邪影击 (DC 19)。|

''召唤魔鬼 (Sp):''每天1次,欲魔每天有1次机会召唤2d10个劣魔或1d4个倒钩魔,成功率为50%。该能力相当于一个3级法术。

''真知术 (Su):''欲魔处于持续使用的真知术效果中,如同名法术 (施法等级14)。


!!!Hellcat (Bezekira)地狱猫 (巴泽吉亚斯) 

''大型异界生物 (邪恶,跨位面,守序)''

|''生命骰:'' 8d8+24(60hp)|
|''先攻权:'' +9|
|''速度:'' 40尺(8格)|
|''防御等级:'' 21(-1体型,+5敏捷,+7天生),接触14,措手不及16|
|''基本攻击/擒抱:'' +8/+18|
|''攻击:'' 爪抓+13近战(1d8+6)|
|''全回合攻击:'' 2爪抓+13近战(1d8+6)及啮咬+8近战(2d8+3)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 精通攫抓,猛扑,耙抓1d8+3|
|''特性:'' 伤害减5/善良,黑暗视觉60尺,隐于光亮,对火焰抗力10,灵敏嗅觉,法术抗力19,心灵感应100尺|
|''豁免:'' 强韧+9,反射+11,意志+8|
|''属性:'' 力量23,敏捷21,体质17,智力10,感知14,魅力10|
|''技能:'' 平衡+16,攀爬+17,躲藏+13,跳跃+21,聆听+17,潜行+20,侦察+13,游泳+17|
|''专长:'' 闪避,精通先攻,追踪|
|''环境:'' 守序邪恶位面|
|''组织:'' 单独,成对,或成群(6-10)|
|''挑战等级:'' 7|
|''宝物:'' 无|
|''阵营:'' 总是守序邪恶|
|''进化:'' 9-10HD(大型);11-24HD(超大型)|
|''等级调整:'' -|


当它的外貌使它看起来像是虚体生物,但地狱猫的身体确是实体而且能被物理攻击所伤害。

地狱猫能用天生的心灵感应能力彼此沟通,或与它们遇到的生物交谈。地狱猫约9尺长,约900磅重。

!!!!战斗
地狱猫在战斗中保有优势全是拜其利爪及尖牙所赐。它喜欢扑击对手,就好像狮子一样。

在对抗伤害减免时,欲魔的天生武器以及它所持有的任何武器,都被视为具有邪恶和守序阵营。

''精通攫抓 (Ex):在''使用这项能力之前,地狱猫必须用它的啮咬攻击命中目标。然后它就可以通过一个即时动作来尝试擒抱对手,该动作不会引发借机攻击。它一旦将对手定身,就可以展开耙抓。

''猛扑 (Ex):''在地狱猫展开冲锋攻击时,它可以做出全回合攻击,包括两次耙抓攻击。

''耙抓 (Ex):''攻击加值+13近战,伤害1d8+3。

''隐于光亮 (Ex):''地狱猫在任何亮度足以让人类看见事物的区域内都是隐形的。在昏暗区域内,它会以一个在30尺范围内可视的微微发光的轮廓出现 (如果拥有昏暗视觉那么在60尺距离内就能看见它)。魔法造成的黑暗可以抑制住地狱猫的光亮并且将其轮廓隐蔽起来。

''技能:''在进行聆听及潜行技能检定时,地狱猫可获得+4的种族加值。

!!!Horned Devil (Cornugon)角魔 (恐纳魔) 

''大型异界生物 (邪恶,跨位面,守序)''

|''生命骰:'' 15d8+105(172hp)|
|''先攻权:'' +7|
|''速度:'' 20尺(4格)|
|''防御等级:'' 35(-1体型,+7敏捷,+19天生),接触16,措手不及28|
|''基本攻击/擒抱:'' +15/+29|
|''攻击:'' 刺链+25近战(2d6+15外加震慑),或爪抓+24近战(2d6+10),或尾击+24近战(2d6+10外加炼狱创伤)|
|''全回合攻击:'' 刺链+25/+20/+15近战(2d6+15外加震慑)及啮咬+22近战(2d8+5)及尾击+22近战(2d6+5外加炼狱创伤);或2爪抓+24近战(2d6+10)及啮咬+22近战(2d8+5)及尾击+22近战(2d6+5外加炼狱创伤)|
|''面宽/触及:'' 10尺/10尺(刺链20尺)|
|''特殊攻击:'' 恐惧灵气,炼狱创伤,类法术能力,震慑,召唤魔鬼|
|''特性:'' 伤害减免10/善良和银,黑暗视觉60尺,对火焰及毒素免疫,对酸及寒冷抗力10,再生5,黑暗中视物,法术抗力28,心灵感应100尺|
|''豁免:'' 强韧+16,反射+16,意志+15|
|''属性:'' 力量31,敏捷25,体质25,智力14,智慧18,魅力22|
|''技能:'' 唬骗+24,攀爬+28,专注+24,交涉+10,易容+6(演技+8),躲藏+21,威吓+26,聆听+22,潜行+23,搜索+20,察言观色+22,侦察+22,生存+4(追随踪迹+6)|
|''专长:'' 顺势斩,精通击破武器,钢铁意志,多重攻击,猛力攻击,专攻武器(刺链)|
|''环境:'' 守序邪恶位面|
|''组织:'' 单独,成队(2-4),或成群(6-10)|
|''挑战等级:'' 16|
|''宝物:'' 标准钱币,双倍工艺品,标准物品|
|''阵营:'' 总是守序邪恶|
|''进化:'' 16-20HD(大型);21-45HD(超大型)|
|''等级调整:'' -|


角魔有9尺高,重约600磅。

!!!!战斗
角魔是勇敢的战士。它们很少撤退,即使面对强敌也一样。它们喜欢用它们的刺链战斗,通常会挑选最强的敌人加以震慑,然后迅速解决掉对方。

在对抗伤害减免时,角魔的天生武器以及它所持有的任何武器,都被视为具有邪恶和守序阵营。

''类法术能力:''施法等级15。该豁免检定DC基于魅力调整值。

|//随意施展// - 反制混乱 (DC 21),反制善良 (DC 21),反善良法阵,高等传送术 (仅限自身及50磅重的物品),长驻幻影 (DC 21);|
|//每日3次// - 火球术 (DC 19),闪电束 (DC 19)。|

''恐惧灵气 (Su):''角魔能以一个即时动作展开一道5英尺半径的恐惧灵气。受影响的生物必须通过一个DC 23的意志豁免检定,否则会受到如同被恐惧术所影响的效果(施法等级15)。成功通过豁免检定的生物在24小时内将不再受到同一个角魔的恐惧灵气影响。其他魔鬼对此灵气免疫。该豁免检定DC基于魅力调整值。

''震慑 (Su):''每当角魔的刺链攻击命中时,对手必须通过一个DC 27的强韧豁免检定否则会被震慑1d4轮。该豁免检定DC基于力量调整值。此能力属于角魔本身,而非属于刺链。

''炼狱创伤 (Su):''被角魔的尾击击中会造成一个持久的伤口。受到伤害的生物每轮额外损失2点生命。这伤口不能被自然治愈而且会抵抗医疗法术。持续性的损失生命可以通过一个DC 24的医疗检定,一个治疗法术,或一个医疗术来终止。不管用哪种方法,尝试释放治疗法术或医疗术在角魔的尾击制造出的伤口的人物必须通过一个DC 24的施法等级检定,否则法术将对受伤人物无效。一个成功的医疗检定会如恢复生命值一样自动停止持续的生命值损失。该豁免检定DC基于体质调整值。

''召唤魔鬼 (Sp):''每天1次,角魔每天有1次机会5召唤2d10个劣魔或1d6个倒钩魔,成功率为50%;或召唤1d6个尖刺魔,成功率为35%;或召唤另一个角魔,成功率为20%。该能力相当于一个6级法术。

''再生 (Ex):''银制的善良阵营武器,以及被描述为善良的法术或效果会对角魔造成正常伤害。


!!!Ice Devil (Gelugon)冰魔 (奇鲁魔) 

''大型异界生物 (邪恶,跨位面,守序)''

|''生命骰:'' 14d8+84(147hp)|
|''先攻权:'' +5|
|''速度:'' 40尺(8格)|
|''防御等级:'' 32(-1体型,+5敏捷,+18天生),接触14,措手不及27|
|''基本攻击/擒抱:'' +14/+24|
|''攻击:'' 矛+20近战(2d6+9/*3外加缓慢),或爪抓+19近战(1d10+6)|
|''全回合攻击:'' 矛+20/+15/+10近战(2d6+9/*3外加缓慢)及啮咬+14近战(2d6+3)及尾击+14近战(3d6+3外加缓慢);或2爪抓+19近战(1d10+6)及啮咬+14近战(2d6+3)及尾击+14近战(3d6+3外加缓慢)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 恐惧灵气,缓慢,类法术能力,召唤魔鬼|
|''特性:'' 伤害减免10/善良,黑暗视觉60尺,对火焰及毒素免疫,对酸及寒冷抗力10,再生5,黑暗中视物,法术抗力25,心灵感应100尺|
|''豁免:'' 强韧+15,反射+14,意志+15|
|''属性:'' 力量23,敏捷21,体质23,智力22,感知22,魅力20|
|''技能:'' 唬骗+22,攀爬+23,专注+23,交涉+9,易容+5(演技+7),威吓+24,跳跃+27,知识(任意3种)+23,聆听+25,潜行+22,搜索+23,察言观色+23,法术辨识+23,侦察+25,生存+6(追随踪迹+8)|
|''专长:'' 警觉,顺势斩,战斗反射,猛力攻击,专攻武器(矛)|
|''环境:'' 守序邪恶位面|
|''组织:'' 单独,成队(2-4),成群(6-10),或一大群(1-2冰魔,7-12倒钩魔,及1-4骨魔)|
|''挑战等级:'' 13|
|''宝物:'' 标准钱币,双倍工艺品,标准物品|
|''阵营:'' 总是守序邪恶|
|''进化:'' 15-28HD(大型);29-42HD(超大型)|
|''等级调整:'' -|


冰魔约12尺高,重约700磅。

!!!!战斗
冰魔一般只有在任务需要时才会参与战斗,但一旦它们认为有必要战斗或它们一定会胜利时就会毫不犹豫的展开攻击。

在对抗伤害减免时,冰魔的天生武器以及它所持有的任何武器,都被视为具有邪恶和守序阵营。

''恐惧灵气 (Su):''冰魔能以一个即时动作展开一道10英尺半径的恐惧灵气。受影响的生物必须通过一个DC 22的意志豁免检定,否则会受到如同被恐惧术所影响的效果(施法等级13)。成功通过豁免检定的生物在24小时内将不再受到同一个冰魔的恐惧灵气影响。其他魔鬼对此灵气免疫。该豁免检定DC基于魅力调整值。

''缓慢 (Su):''冰魔的尾巴或矛击中对手时会引发令人麻木的寒冷。对手必须通过一个DC 23的强韧豁免检定否则会受到如同缓慢术的效果所影响达1d6轮。该豁免检定DC基于体质调整值。

''类法术能力:''施法等级13。该豁免检定DC基于魅力调整值。

|//随意施展// - 寒冰锥 (DC 20),飞行术,冰风暴 (DC 19),高等传送术 (仅限自身及50磅重的物品),长驻幻影 (DC 20),邪恶灵光 (DC 23),冰墙术 (DC 19)。|

''召唤魔鬼 (Sp):''每天1次,冰魔每天有1次机会召唤2d10个劣魔或1d6个倒钩魔或2d4个骨魔,成功率为50%;或召唤另一个冰魔,成功率为20%。该能力相当于一个4级法术。

''再生 (Ex):''善良阵营武器,以及被描述为善良的法术或效果会对角魔造成正常伤害。


!!!Imp(小魔鬼)

''超小型异界生物 (邪恶,跨位面,守序)''

|''生命骰:'' 3d8(13hp)|
|''先攻权:'' +3|
|''速度:'' 20尺(4格),飞行50尺(完美)|
|''防御等级:'' 20(+2体型,+3敏捷,+5天生),接触15,措手不及17|
|''基本攻击/擒抱:'' +3/-5|
|''攻击:'' 螯刺+8近战(1d4外加毒素)|
|''全回合攻击:'' 螯刺+8近战(1d4外加毒素)|
|''面宽/触及:'' 2-1/2尺/0尺|
|''特殊攻击:'' 毒素,类法术能力|
|''特性:'' 变化形态,伤害减免5/善良或银,黑暗视觉60尺,快速痊愈2,对毒素免疫,对火焰抗力5|
|''豁免:'' 强韧+3,反射+6,意志+4|
|''属性:'' 力量10,敏捷17,体质10,智力10,感知12,魅力14|
|''技能:'' 交涉+8,躲藏+17,知识(任意1种)+6,聆听+7,潜行+9,搜索+6,法术辨识+6,侦察+7,生存+1(追随踪迹+3)|
|''专长:'' 闪避,武器娴熟|
|''环境:'' 守序邪恶位面|
|''组织:'' 单独|
|''挑战等级:'' 2|
|''宝物:'' 无|
|''阵营:'' 总是守序邪恶|
|''进化:'' 4-6HD(超小型)|
|''等级调整:'' -(增强魔宠)|


在它的天生形态下,小魔鬼站立约2尺高,重约8磅。

!!!!战斗
小魔鬼很胆小,但不致于胆小到会错过利用它们的隐形和变化形态能力发动突袭的机会。在它的天生形态下,小魔鬼用它尾巴上的尖刺攻击。如果敌人要展开反击,它会立刻飞出敌人的触及范围。

在对抗伤害减免时,小魔鬼的天生武器以及它所持有的任何武器,都被视为具有邪恶和守序阵营。

''毒素 (Ex):''伤害,强韧豁免检定DC 13,初始伤害为1d4点敏捷伤害,后续伤害2d4点敏捷伤害。该豁免检定DC基于体质调整值且包括+2的种族加值。

''类法术能力:''施法等级6。该豁免检定DC基于魅力调整值。

|//随意施展// - 侦测善良,侦测魔法,隐形术 (仅限自身);|
|//每日1次// - 暗示术 (DC 15)。|

每周1次,小魔鬼可以使用通神术问6个问题。此能力其他方面与同名法术一样 (施法等级12)。

''变化形态 (Su):''小魔鬼可以通过一个标准动作变化成另外的形态。每个小魔鬼都可以变成下列形态中的一或两种:小型或中型变种蜘蛛,渡鸦,老鼠及野猪。


!!!Lemure(劣魔)

''中型异界生物 (邪恶,跨位面,守序)''

|''生命骰:'' 2d8(9hp)|
|''先攻权:'' +0|
|''速度:'' 20尺(4格)|
|''防御等级:'' 14(+4天生),接触10,措手不及14|
|''基本攻击/擒抱:'' +2/+2|
|''攻击:'' 爪抓+2近战(1d4)|
|''全回合攻击:'' 2爪抓+2近战(1d4)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' -|
|''特性:'' 伤害减免5/善良或银,黑暗视觉60尺,对火焰及毒素免疫,无心智,对酸及寒冷抗力10,黑暗中视物|
|''豁免:'' 强韧+3,反射+3,意志+3|
|''属性:'' 力量10,敏捷10,体质10,智力-,感知11,魅力5|
|''技能:'' 交涉+8,躲藏+17,知识(任意一种)+6,聆听+7,潜行+9,搜索+6,法术辨识+6,侦查+7,生存+1(追随踪迹+3)|
|''专长:'' 闪避,武器娴熟|
|''环境:'' 守序邪恶位面|
|''组织:'' 单独,成对,成队(3-5),成群(6-15),或一大群(10-40)|
|''挑战等级:'' 1|
|''宝物:'' 无|
|''阵营:'' 总是守序邪恶|
|''进化:'' 3-6HD(中型)|
|''等级调整:'' -|


劣魔高约5尺,重约100磅。

劣魔没有大脑也不能交流,但是它们能感应到其他魔鬼传递的心灵感应信息,而且会服从对方的命令。

!!!!战斗
劣魔会如潮水一般冲向它们的遇到的生物,并尝试用爪子撕碎对方。除非有其他魔鬼用心灵感应传来命令或者劣魔全部被毁灭,否则它们不会停止。

在对抗伤害减免时,劣魔的天生武器以及它所持有的任何武器,都被视为具有邪恶和守序阵营。

''无心智 (Ex):''对影响心灵的效果免疫 (魅惑,胁迫,魅影幻觉,心灵幻觉及士气效果)。


!!!Pit Fiend(深狱炼魔)

''大型异界生物 (邪恶,跨位面,守序)''

|''生命骰:'' 18d8+144(225hp)|
|''先攻权:'' +12|
|''速度:'' 40尺(8格),飞行60尺(普通)|
|''防御等级:'' 40(-1体型,+8敏捷,+23天生),接触17,措手不及32|
|''基本攻击/擒抱:'' +18/+35|
|''攻击:'' 爪抓+30近战(2d8+13)|
|''全回合攻击:'' 2爪抓+30近战(2d8+13)及2翼击+28近战(2d6+6)及啮咬+28近战(4d6+6外加毒素及疾病)及尾击+28近战(2d8+6)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 紧勒2d8+26,恐惧灵气,精通攫抓,类法术能力,召唤魔鬼|
|''特性:'' 伤害减免15/善良和银,黑暗视觉60尺,对火焰及毒素免疫,对酸及寒冷抗力10,再生5,黑暗中视物,法术抗力32,心灵感应100尺|
|''豁免:'' 强韧+19,反射+19,意志+21|
|''属性:'' 力量37,敏捷27,体质27,智力26,感知26,魅力26|
|''技能:'' 平衡+10,唬骗+29,攀爬+34,专注+29,交涉+10,易容+29(演技+31),躲藏+25,威吓+31,跳跃+40,知识(神秘)+29,知识(自然)+10,知识(位面)+29,知识(宗教)+29,聆听+29,潜行+29,搜索+29,法术辨识+31,侦察+29,生存+8(在其他位面+10,追随踪迹+10),翻滚+31|
|''专长:'' 顺势斩,大顺势斩,精通先攻,钢铁意志,多重攻击,猛力攻击,类法术能力瞬发(火球术)|
|''环境:'' 守序邪恶位面|
|''组织:'' 单独,成对,成队(3-4),或一大群(1-2深渊炼魔,2-5角魔,及2-5尖刺魔)|
|''挑战等级:'' 20|
|''宝物:'' 标准钱币,双倍工艺品,标准物品|
|''阵营:'' 总是守序邪恶|
|''进化:'' 19-36HD(大型);37-54HD(超大型)|
|''等级调整:'' -|


深狱炼魔通常用它的翅膀将自己包住,看起来好像一件风格怪异的斗篷。它出现时通常会环绕着火焰。

深狱炼魔有12尺高,800磅重。

!!!!战斗
深狱炼魔是狡猾机智的战士,它们会利用隐形术取得上风,然后啮咬那些似乎看得见自己的敌人。它们会毫不犹豫地用火球术笼罩一个区域,以及使用流星爆唤来炼狱怒火。

在对抗伤害减免时,深狱炼魔的天生武器以及它所持有的任何武器,都被视为具有邪恶和守序阵营。

''紧勒 (Ex):''深狱炼魔一旦在擒抱检定中胜出就会制造2d8+26点伤害。

''疾病 (Su):''被深狱炼魔啮咬中的生物必须通过一个DC 27的强韧豁免检定否则会得一种被称作魔鬼寒的可怕疾病 (潜伏期1d4天,造成1d4点的力量伤害)。该豁免检定DC基于体质调整值。

''恐惧灵气 (Su):''深狱炼魔能以一个即时动作展开一道20英尺半径的恐惧灵气。受影响的生物必须通过一个DC 27的意志豁免检定,否则会受到如同被恐惧术所影响的效果(施法等级18)。成功通过豁免检定的生物在24小时内将不再受到同一个深狱炼魔的恐惧灵气影响。其他魔鬼对此灵气免疫。该豁免检定DC基于魅力调整值。

''精通攫抓 (Ex):''在使用这项能力之前,深狱炼魔必须用它的尾击攻击攻击命中目标。然后它就可以通过一个即时动作来尝试擒抱对手,该动作不会引发借机攻击。

它一旦将对手定身,就可以展开紧勒。

''毒素 (Ex):''伤害,强韧豁免检定DC 27,初始伤害为1d6点体质伤害,后续伤害会造成死亡。该豁免检定DC基于体质调整。

''类法术能力:''施法等级18。该豁免检定DC基于魅力调整值。

|//随意施展// - 渎神之语 (DC 25),唤起死灵,火球术 (DC 21),高等解除魔法,高等传送术 (仅限自身及50磅重的物品),隐形术,反善良法阵,群体怪物定身术 (DC 27),长驻幻影 (DC 23),律令:震慑,邪恶灵光 (DC 27);|
|//每日1次// - 流星爆 (DC 27)。|

每年1次,深狱炼魔可以如施展同名法术一般施展祈愿术 (施法等级20)。

''召唤魔鬼 (Sp):''每天2次,深狱炼魔每天有2次机会召唤2个劣魔、骨魔或倒钩魔,或者1个欲魔、角魔或冰魔。该能力相当于一个8级法术。

''再生 (Ex):''银制的善良阵营武器,以及被描述为善良的法术或效果会对深狱炼魔造成正常伤害。

!!!!每轮战术

深狱炼魔通常用它的类法术能力来开始战斗,试图在展开近战之前解决危险的对手。

//开战之前://邪恶灵光;展开恐惧灵气,召唤魔鬼。

//第1轮://如果面对3个或3个以上可视的、正在行动的对手,会使用瞬发火球术和群体怪物定身术;否则会使用律令:震慑来对付未穿盔甲的对手 (倾向于施法者)。

//第2轮://使用流星爆来攻击尽可能多的敌人,尽量给敌人造成最大限度的伤害。

//第3轮://全回合攻击受伤的敌人。

//第4轮://继续与受伤的敌人近战,或者使用律令:震慑来对付讨厌的施法者。

//第5轮://重复第1轮的行动,如果有危险就用高等传送术传送到安全的地方。
!!Devourer(囚魂魔)

''大型不死生物(跨位面)''

|''生命骰:'' 12d12(78hp)|
|''先攻权:'' +4|
|''速度:'' 30英尺(6格)|
|''防御等级:'' 24(-1体型,+15天生),接触9,措手不及24|
|''基本攻击/擒抱:'' +6/+19|
|''攻击:'' 爪抓+15近战(1d6+9)|
|''全回合攻击:'' 2爪抓+15近战(1d6+9)|
|''面宽/触及:'' 10英尺/10英尺|
|''特殊攻击:'' 能量吸取,囚禁本体,类法术能力|
|''特性:'' 黑暗视觉60英尺,法术失能,法术抗力21,不死生物特性|
|''豁免:'' 强韧+4,反射+4,意志+11|
|''属性:'' 力量28,敏捷10,体质-,智力16,感知16,魅力17|
|''技能:'' 攀爬+24,专注+18,交涉+5,跳跃+24,聆听+18,潜行+15,搜索+10,察言观色+11,侦查+18,野外求生+3(+5追踪)|
|''专长:'' 盲斗,战斗施法,寓守于攻,精通先攻,专攻武器(爪抓)|
|''环境:'' 任何|
|''组织:'' 单独|
|''挑战等级:'' 11|
|''宝物:'' 无|
|''阵营:'' 总是中立邪恶|
|''进化:'' 13-24HD(大型);25-36HD(超大型)|
|''等级调整:'' -|

囚魂魔潜伏在星界和灵界,跟踪当地生物和旅行者,伺机展开攻击。

囚魂魔大约有9英尺高,500磅重。

囚魂魔说通用语。

!!! 战斗
即使没有任何特殊能力,囚魂魔也是一个可怕的对手;它的骨爪可活剥了敌人的皮。

''能量吸取(Su):''被囚魂魔爪抓攻击或“幽灵手”能力击中的活物将受到1个负向等级。该生物如果通过强韧检定(DC=19),可移除该负向等级。此豁免DC基于魅力。

''囚禁本体(Su):''囚魂魔得名于它那能够囚禁敌人生命本体的能力。为做到这一点,囚魂魔须放弃自己的一般近战攻击,改用“囚禁本体”攻击。这需要作一次一般攻击检定来判断是否命中,而命中时不会造成任何伤害。受影响的生物必须通过强韧检定(DC=19)否则立即死亡。此豁免基于魅力。被杀生物的本体会被囚禁在囚魂魔的肋骨里,而其微小的体型会显示出受害者的外貌特征。被囚禁的本体既无法复活也无法复生,但“有限祈愿术”、“奇迹术”和“祈愿术”可将其释放出来,如此也会摧毁囚魂魔。囚魂魔一次只能囚禁一个本体。
被囚禁的本体提供囚魂魔足够的能量来使用类法术能力,被囚禁生物的每个生命骰或等级可让其使用5次。当能量被消耗掉之后,被囚禁的灵魂也会逐渐消失,直到完全消散为止。每使用5次类法术能力,被囚禁的本体就承受1个负向等级;当负向等级树木等于受害者的最大生命骰数或等级时,该本体就被摧毁了。如本体获得释放,背负元的生物必须对每个负向等级进行一次强韧检定(DC=19),失败则永久失去这个等级。

''类法术能力:''每次遭遇战开始时,囚魂魔所囚禁的本体假设拥有3d4+3的等级(足够使用30到75次)。每轮1次,囚魂魔可使用下列类法术能力,其效果如同一名18级术士施展的同名法术(豁免检定的DC基于魅力):“困惑术”(DC17)、“操控死灵”(DC20)、“食尸鬼之触”(DC15)、“次级异界誓盟”、“衰弱射线”(DC14)、“幽灵手”、“暗示术”(DC16)、“真实目光”。

''法术失能(Su):''被囚禁的本体提供了一种法术保护。当下列任何一个法术对囚魂魔施展并克服其法术抗力时,它会作用在被囚禁的本体,而非囚魂魔本身:“放逐术”、“混沌之锤”、“困惑术”、“极度绝望”、“侦测思想”、“反制邪恶”、“支配人类”、“恐惧术”、“指示术”、“圣言”、“催眠术”、“禁锢术”、“魔魂壶”、“迷宫术”、“暗示术”、“锢魂术”以及任何形式的魅惑或胁迫。许多情况下,这项能力可有效地抵消法术效果。有些法术效果可能会消灭被囚禁的本体,囚魂魔的类法术能力也就被夺走,直到它再囚禁其它本体为止。 

!!!律言(Dictum)
|塑能系[秩序,音波]|
|''等级:''牧师 7,秩序 7|
|''法术成分:''言语|
|''施法时间:''一个标准动作|
|''距离:''40 英尺|
|''区域:''以你为中心,半径40英尺扩散范围内的非守序生物|
|''持续时间:''立即|
|''豁免检定:''无,或意志通过则无效;见说明|
|''法术抗力:''可|
|律言区域内的所有非守序生物都会经受以下效果。|

|!	HD	 |!	效果	 |
|^	等于施法者等级	 |^	耳聋	 |
|^	至多为施法者等级-1	 |^	缓慢,变聋	 |
|^	至多为施法者等级-5	 |^	麻痹, 缓慢, 耳聋	 |
|^	至多为施法者等级-10	 |^	被杀,麻痹,缓慢,耳聋	 |

|^	这些效果可叠加,且同时发生。这些效果无豁免检定。	 |
|//耳聋(Deafened)://生物耳聋1d4轮|
|//缓慢(Slowed)://生物如同受到缓慢术(slow),减缓2d4轮。|
|//麻痹(Paralyzed)://生物麻痹,陷入无助状态1d10分钟。|
|//被杀(Killed)://活物死亡。不死生物被摧毁。|
|此外,若施法时你处于自己的原属位面,则非守序的跨位面生物会被立即逐回自己的位面。被驱逐的生物24小时内不可返回。不论该生物是否听见律言,此效果都可发生。若通过意志检定(受-4惩罚),则不会被驱逐。|
|HD超过你施法者等级的生物不受律言影响。|

!!! 顽强(DIEHARD)[一般专长]

''先决条件:''坚忍。

''效果:''当生命值降到-1至-9时,你的伤势自动稳定。你不需要掷百分骰来决定是否每轮失去一点生命值。

当生命值降到负值,你可以选择有如陷入瘫痪而不是濒死状态一样行动。生命值一旦降到负值,你就必须立刻对此作出选择(即便那不是你的回合)。如果你不选择如同瘫痪状态般行动,你立即陷入昏迷。

使用该专长时,你每轮可进行单移动或做一个标准动作,但两者不可并存,且你不可做整轮动作。你可以做一个移动动作,它不会使你受到进一步伤害,但是如果你做了任何标准动作(或是任何其他视为费力的动作,包括一些即时动作,比如施展一个瞬发法术),动作完成后,你受到一点伤害。如果生命值达到-10,你立即死亡。

''正常:''没有该专长的人物在生命值达到-1至-9时会昏迷且进入濒死状态。

!!Digester(恐兽)

''中型魔法兽''

|''生命骰:'' 8d10+24 (68 hp)|
|''先攻权:'' +6|
|''速度:'' 60尺 (12格)|
|''防御等级:'' 17 (+2敏捷,+5天生) ,接触12,措手不及15|
|''基本攻击/擒抱:'' +8/ +11|
|''攻击:'' 爪抓 +11 近战 (1d8+4)|
|''全回合攻击:'' 爪抓 +11 近战 (1d8+4)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 喷吐酸液|
|''特性:'' 黑暗视觉60尺,对酸免疫,昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+9,反射+10,意志+3|
|''属性:'' 力量17,敏捷15,体质17,智力2,感知12,魅力10|
|''技能:'' 躲藏+9,聆听+6,跳跃+21,侦察+6|
|''专长:'' 警觉,精通先攻,闪电反射|
|''环境:'' 温暖的森林|
|''组织:'' 单独或成群 (3-6)|
|''挑战等级:'' 6|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 9-12HD (中型) ;13-24HD (大型)|
|''等级调整:'' -|


恐兽站立约5尺高,从口鼻部到尾端有7尺长。它重约350磅。

!!! 战斗
恐兽是个猎食机器。当它不感到饥饿时 (这种情况很罕见) ,它会低伏身影以避开其他生物。进行狩猎时,它会四处张望寻找合适的目标,然后会立刻冲锋上前并吐出酸液。如果初次攻击不足以杀死猎物,恐兽会用它的后腿继续攻击,直到它能再次吐出酸液为止。

''喷吐酸液 (Ex) :''恐兽能喷吐出范围为20尺锥形的酸液,能对此范围内任何物体造成4d8点伤害。恐兽每用一次这种能力,必须要间隔1d4轮才能再次使用。恐兽也能喷射出一道紧密的酸柱,会对5尺范围内的单一目标造成8d8点伤害。无论上述哪种攻击方式,对手只要通过DC 17的反射豁免检定则伤害减半。该豁免检定DC基于体质调整值。

''技能:''在恐兽进行躲藏检定时它的肤色带给它+4的种族加值。它在进行跳跃检定时也会获得+4的种族加值。
!!! 细致(DILIGENT)[一般专长]

''效果:''在估价和解读文书检定上获得+2的加值。
!!!任意门(Dimension Door)
|咒法系(传送)|
|''等级:''吟游诗人 4,术士/法师 4,旅行 4|
|''法术成分:''言语|
|''施法时间:'' 一个标准动作|
|''距离:''远距 (400英尺+40英尺/等级)|
|''目标:''你和你接触到的物品,或其他被接触的自愿生物。|
|''持续时间:''立即|
|''豁免检定:''无,以及意志通过则无效(物体)|
|''法术抗力:''不可与可(物体)|
|你可瞬间将自己传送到法术距离内的任何地方。你总是可以到达你想到达的位置——不管你是看到那地方还是仅仅声明了方向。使用完此法术后,直到下一轮之前不能再做任何动作。你可以携带不超过你最大负载能力的物品,每三级施法者等级可以带一个自愿的中体型或小体型生物(携带不超过其最大负载能力的装备、物品)或相当于此的生物。一个大型生物视作两个中型生物,一个超大型生物视作两个大型生物。被传送的生物之间必须相互接触,并且它们中至少有一个与你接触。|
|若你传送到一个由固体占据的位置,你和随你旅行的每个生物都受到1d6点伤害,并被挤到100英尺内的固体表面的随机开放空间开口处。|
|若100英尺内没有空地,你和随你旅行的生物都会受到额外的2d6点伤害,并被随机挤到1000英尺内的空地。若1000英尺内没有空地,你和随你旅行的生物都受到额外的4d6点伤害,并且施法失败。|
!!!次元锚(Dimensional Anchor)
|防护系|
|''等级:''牧师 4,术士/法师 4|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''中距 (100英尺+10英尺/等级)|
|''效果:''射线|
|''持续时间:''1 分钟/等级|
|''豁免检定:''无|
|''法术抗力:''可(物体)|
|一道绿色的射线从你伸展的手中喷射而出。你必须通过远程接触攻击来命中目标。任何被射线击中的生物都会被泛着翠绿色微光的力场所笼罩,该力场能完全阻止跨维度旅行。被次元锚阻止的移动形式包括星界投射(astral projection)、闪现术(blink)、任意门(dimension door)、幻化灵体(ethereal jaunt)、同游灵界(etherealness)、异界之门(gate)、迷宫术(maze)、异界传送(plane shift)、行影术(shadow walk)、传送术(teleport)以及其他类似的类法术能力和心灵异能。法术持续期间亦不可使用异界之门(gate)和传送法阵(teleportation circle)。|
|对于施法时已经处在灵体和星界状态的生物,次元锚对其移动没有影响,次元锚也不会影响跨维度感知和攻击。同时,此法术不能阻止召唤生物在召唤法术结束后消失。|
!!!次元锁(Dimensional Lock)
|防护系|
|''等级:''牧师 8,术士/法师 8|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''中距 (100英尺+10英尺/等级)|
|''区域:''以空间一点为中心,半径20英尺弥漫区域|
|''持续时间:''1天/等级|
|''豁免检定:''无|
|''法术抗力:''可|
|你创造出一个泛着微光的翠绿色屏障来阻止跨维度旅行。被阻止的形式包括星界投射(astral projection)、闪现术(blink)、任意门(dimension door)、幻化灵体(ethereal jaunt)、同游灵界(etherealness)、异界之门(gate)、迷宫术(maze)、异界传送(plane shift)、行影术(shadow walk)、传送术(teleport)以及其他类似的类法术能力和心灵异能。一旦次元锁生成,跨维度进出该区域都是不可能的。|
|对于施法时已经处在灵体和星界状态的生物,次元锁对其移动没有影响,次元锁也不会影响跨维度感知和攻击。同时,此法术不能阻止召唤生物在召唤法术结束后消失。|
''Dimensional Shackles(次元镣铐):'' 此手铐的金属表面上刻有金色符文,被铐住的生物受到如同“次元锚”法术的效果(无豁免检定)。手铐适用于小型至大型生物。破坏或脱出手铐的DC为30。

施法者等级:7。先决条件:“制造奇物”,“次元锚”。交易价格:28000金币。重量:5磅。
!!!植物凋零(Diminish Plants)
|变化系|
|''等级:''德鲁伊 3,巡林客3|
|''法术成分:''言语,姿势,法器|
|''施法时间:'' 一个标准动作|
|''距离:''见说明|
|''目标或区域:'' 见说明|
|''持续时间:''立即|
|''豁免检定:''无|
|''法术抗力:''不可|
|此法术有两种效用。|
|//修剪://这种用法使得一个范围内的植物(法术距离:长,400英尺+40英尺/等级)缩到原来的1/3体积,解开纠缠在一起的枝杈并变得更稀疏。被影响的植物看上去就好象被仔细修剪过一样。|
|你可以选择受影响区域为半径100英尺的圆,半径150英尺的半圆,或半径200英尺的四分之一圆。|
|你还可以指定区域内一些部分不受影响。|
|//阻碍生长://这种用法使得方圆1/2英里内植物的产量在来年变为原先的1/3。|
|植物凋零可反制植物滋长(plant growth)。|
|此法术对植物型生物无效。|
恐龙的状貌体型各异。较大的恐龙通常呈土褐色,而较小的肤色更具变化性。多数恐龙皮肤都纹理粗糙。

!!!战斗
恐龙在战斗中会充分发挥速度和体型的优势。这些行动迅捷的食肉动物会跟踪猎物,隐藏自己的身形直到接近目标后发动冲锋攻击。草食性恐龙通常会冲撞并跺踏目标。


!!!Deinonychus(恐爪龙)

''中型动物''

|''生命骰:'' 4d8+16(34hp)|
|''先攻权:'' +2|
|''速度:'' 60尺(12格)|
|''防御等级:'' 17(+2敏捷,+5天生),接触12,措手不及15|
|''基本攻击/擒抱:'' +3/+7|
|''攻击:'' 趾爪+7近战(1d8+4)|
|''全回合攻击:'' 趾爪+7近战(1d8+4)及2爪抓+2近战(1d3+2)及啮咬+2近战(2d4+2)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 猛扑|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+8,反射+6,意志+2|
|''属性:'' 力量19,敏捷15,体质19,智力2,感知12,魅力10|
|''技能:'' 躲藏+12,跳跃+26,聆听+10,侦察+10,野外生存+10|
|''专长:'' 飞跑,追踪|
|''环境:'' 温暖的森林|
|''组织:'' 单独,成对,成群(3-6)|
|''挑战等级:'' 3|
|''宝物:'' 无|
|''阵营:'' 总是绝对中立|
|''进化:'' 5-8HD(中型)|
|''等级调整:'' -|


恐爪龙背部和体侧的表皮呈亮绿色,腹部颜色较浅,周身遍布黑色的斑点和条纹。恐爪龙背后拖着条尾巴,但复杂的骨骼结构可以保证尾巴浮在空中,因此其重量完全由后腿负担。恐爪龙重约600磅。

!!!!战斗
恐爪龙在战斗中结合利用速度,前爪,利齿和长着利爪的后腿。恐爪龙会首先想跳跃着向猎物冲去,用前爪后爪和啮咬进行攻击。后爪视为一次攻击。恐爪龙的大脑在恐龙中相对较大,因此可以利用狡猾的战术合作狩猎。

''猛扑 (Ex):''当恐爪龙冲锋时,它可以做出全回合攻击。

''技能:''在进行躲藏,跳跃,聆听,侦察及野外生存检定时恐爪龙可获得+8的种族加值。

!!!Elasmosaurus(蛇颈龙)

''超大型动物''

|''生命骰:'' 10d8+66(111hp)|
|''先攻权:'' +2|
|''速度:'' 20尺(4格),游泳50尺|
|''防御等级:'' 13(-2体形,+2敏捷,+3天生),接触10,措手不及11|
|''基本攻击/擒抱:'' +7/+23|
|''攻击:'' 啮咬+13近战(2d8+12)|
|''全回合攻击:'' 啮咬+13近战(2d8+12)|
|''面宽/触及:'' 15尺/10尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+15,反射+9,意志+4|
|''属性:'' 力量26,敏捷14,体质22,智力2,感知13,魅力9|
|''技能:'' 躲藏-4*,聆听+4,侦察+9,游泳+16|
|''专长:'' 闪避,强韧加强,健壮(2)|
|''环境:'' 温暖的水域|
|''组织:'' 单独,成群(5-6)|
|''挑战等级:'' 7|
|''宝物:'' 无|
|''阵营:'' 总是绝对中立|
|''进化:'' 11-20HD(超大型);21-30(巨型)|
|''等级调整:'' -|

虽然蛇颈龙主要在水中生活,但需要呼吸空气。蛇颈龙全长可以达到30尺,尾巴占其中的一半,重量约为5,000磅。只看到蛇颈龙头部或是尾部的人有可能把这种生物误认成巨蛇。

!!!!战斗
蛇颈龙非常具有侵略型,会攻击任何自己注意到的生物。蛇颈龙很强壮,速度很快,也很灵活,可以迅速转向对目标发动冲锋。在狩猎时,蛇颈龙会先让头留在水面,再迅速突入水中咬住猎物。

''技能:''*在水中进行躲藏检定时蛇颈龙可获得+8的种族加值。


!!!Megaraptor(猛禽龙)

''大型动物''

|''生命骰:'' 8d8+43(79hp)|
|''先攻权:'' +2|
|''速度:'' 60尺(12格)|
|''防御等级:'' 17(体型-1,+2敏捷,+6天生),接触11,措手不及15|
|''基本攻击/擒抱:'' +6/+15|
|''攻击:'' 趾爪+10近战(2d6+5)|
|''全回合攻击:'' 趾爪+10近战(2d6+5)及2爪抓+5近战(1d4+2)及啮咬+5近战(1d8+2)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 猛扑|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+10,反射+8,意志+4|
|''属性:'' 力量21,敏捷15,体质21,智力2,感知15,魅力10|
|''技能:'' 躲藏+9,跳跃+27,聆听+12,侦察+12,野外生存+12|
|''专长:'' 飞跑,健壮,追踪|
|''环境:'' 温暖的森林|
|''组织:'' 单独,成对,成群(3-6)|
|''挑战等级:'' 6|
|''宝物:'' 无|
|''阵营:'' 总是绝对中立|
|''进化:'' 9-16HD(大型);17-24HD(超大型)|
|''等级调整:'' -|


猛禽龙是恐爪龙的强化版本,站立约高12尺,身长24尺。猛禽龙的外貌,习性和能力与恐爪龙相同。

!!!!战斗
''猛扑 (Ex):''当猛禽龙冲锋时,它可以做出全回合攻击。

''技能:''在进行躲藏,跳跃,聆听,侦察及野外生存检定时猛禽龙可获得+8的种族加值。



!!!Triceratops(三角龙)

''超大型动物''

|''生命骰:'' 16d8+124(196hp)|
|''先攻权:'' -1|
|''速度:'' 30尺(6格)|
|''防御等级:'' 18(体型-2,-1敏捷,+11天生),接触7,措手不及18|
|''基本攻击/擒抱:'' +12/+30|
|''攻击:'' 抵撞+20近战(2d8+15)|
|''全回合攻击:'' 抵撞+20近战(2d8+15)|
|''面宽/触及:'' 15尺/10尺|
|''特殊攻击:'' 强势冲锋,跺踏2d12+15|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+19,反射+9,意志+6|
|''属性:'' 力量30,敏捷9,体质25,智力1,感知12,魅力7|
|''技能:'' 聆听+13,侦察+12|
|''专长:'' 警觉,强化强韧,健壮(4)|
|''环境:'' 温暖的平原|
|''组织:'' 单独,成对,成群(5-8)|
|''挑战等级:'' 9|
|''宝物:'' 无|
|''阵营:'' 总是绝对中立|
|''进化:'' 17-32HD(超大型);33-48HD(巨型)|
|''等级调整:'' -|


三角龙身长约25尺,重约20,000磅

!!!!战斗

三角龙会冲锋任何体型至多为大型的生物,把侵犯自己领地的生物叉到空中。三角龙可以对体型比自己小的生物发动跺踏攻击。

''强势冲锋 (EX):''当三角龙冲锋时,抵撞可以造成4d8+20点伤害。

''跺踏 (EX):''反射减半,DC 28。本能力豁免DC基于力量。


!!!Tyrannosaurus(暴龙)

''超大型动物''

|''生命骰:'' 18d8+99(180hp)|
|''先攻权:'' +1|
|''速度:'' 40尺(8格)|
|''防御等级:'' 14(体型-2,+1敏捷,+5天生),接触9,措手不及13|
|''基本攻击/擒抱:'' +13/+30|
|''攻击:'' 啮咬+20近战(3d6+13)|
|''全回合攻击:'' 啮咬+20近战(3d6+13)|
|''面宽/触及:'' 15尺/10尺|
|''特殊攻击:'' 精通攫抓,囫囵活吞|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+16,反射+12,意志+8|
|''属性:'' 力量28,敏捷12,体质21,智力2,感知15,魅力10|
|''技能:'' 躲藏-2,聆听+14,侦察+14|
|''专长:'' 警觉,强化天生攻击,飞跑,健壮(3)|
|''环境:'' 温暖的平原|
|''组织:'' 单独,成对|
|''挑战等级:'' 8|
|''宝物:'' 无|
|''阵营:'' 总是绝对中立|
|''进化:'' 19-36HD(超大型);37-54HD(巨型)|
|''等级调整:'' -|

虽然体型巨大,重达6吨,但暴龙奔跑起来非常迅速。暴龙的头长达6尺,牙齿也有3到6寸长。暴龙由头到尾身长约30尺。

!!!!战斗
暴龙会吃掉所有能看见的生物。它的战术非常简单,冲锋后开始嘶咬目标。

''精通攫抓 (EX):''使用这项能力之前,暴龙必须先用它的爪抓攻击命中对手。然后它可以通过一个即时动作展开擒抱,该动作不会引发借机攻击。如果擒抱检定成功,暴龙可以维持擒抱,并在下一轮尝试活吞目标。

''囫囵活吞 (EX):''如果被暴龙擒抱的生物比暴龙小两个体型,暴龙可以通过成功的擒抱检定尝试活吞目标。被活吞的生物在暴龙的胃里每轮承受2d8+8点钝击伤害和8点酸液伤害。被活吞的生物可以通过使用轻型挥砍或穿刺武器对胃 (AC 25)造成25点伤害脱出。当生物脱出后,胃部肌肉活动会自动封闭创口,因此其他被活吞的目标必须自己脱出。

超大型暴龙的胃可以容纳2名中型生物,8名小型生物,32名超小型生物,或128名微型或更小的生物。

''技能:''在进行聆听及侦察时暴龙可获得+2的种族加值。
!! Diplomacy(交涉)(魅力)

''检定:''你可以通过一次成功的交涉检定来改变他人(非玩家人物,NPC)态度;见之后“影响NPC态度”部分来查看基本DC。在谈判中,当事人进行交涉对抗检定,胜利者获得优势。在听证会上向第三方表达观点时,两个持对立看法的提议者或外交官也需要对抗检定。

''动作:''通过交涉改变他人态度至少需要一分钟(10个连续的整轮动作)。在某些情况下,需要的时间可能会大大增加。可以以一个整轮动作进行匆忙的交涉检定,但是在此检定中你要受到-10减值。

''重试:''随意,但是并不推荐,因为重试通常不起作用。即使最初的交涉检定获得成功,其他人也至多能被说服那么多,重试带来的坏处可能比好处还多。如果最初的检定失败,他人可能更加坚定他的立场,重试是无用的。

''特别:''半精灵在交涉检定上有+2种族加值。

如果你有谈判专家(Negotiator)专长,你在交涉检定上有+2加值。

''共效:''如果在唬骗、知识(贵族和皇室),或者察言观色上级数达到5或更高,你在交涉检定上有+2加值。

 

!!!! 影响NPC态度

在使用交涉检定(或魅力检定)影响NPC态度时,或者使用荒野认同检定影响动物或魔法兽态度时,使用下表决定效果。

|!	初始态度	|!	----- 新态度(要达到的DC)-----	|<|<|<|<|
|!		|!	敌对	|!	不友善	|!	不关心	|!	友善	|!	提供帮助	|
|^	敌对	|^	低于20	|^	20	|^	25	|^	35	|^	50	|
|^	不友善	|^	低于5	|^	5	|^	15	|^	25	|^	40	|
|^	不关心	|^	-	|^	低于1	|^	1	|^	15	|^	30	|
|^	友善	|^	-	|^	-	|^	低于1	|^	1	|^	20	|
|^	提供帮助	|^	-	|^	-	|^	-	|^	低于1	|^	1	|


|!	态度	|!	含义	|!	可能的行为	|
|^	敌对(Hostile) 	|^	愿意冒风险来伤害你 	|^	攻击,妨害,辱骂,逃离	|
|^	不友善(Unfriendly) 	|^	希望你糟 	|^	误导,说你闲话,避开,怀疑的观察,侮辱	|
|^	不关心(Indifferent )	|^	不关心	|^	一般的社会关系	|
|^	友善(Friendly )	|^	希望你好 	|^	聊天,提供建议,提供有限帮助,拥护你	|
|^	提供帮助(Helpful) 	|^	愿意冒风险来帮助你	|^	保护,支持,医疗,援助	|
凶暴动物是一般动物的更大、更难缠、更好斗的版本。它们通常具有凶残的、史前的、甚至恶魔般的外貌。

!!!Dire Ape(凶暴猿 )

''大型动物''

|''生命骰:'' 5d8+13 (35 hp)|
|''先攻权:'' +2|
|''速度:'' 30尺 (6格),攀爬15尺|
|''防御等级:'' 15 (-1体型,+2敏捷,+4天生),接触11,措手不及13|
|''基本攻击/擒抱:'' +3/ +13|
|''攻击:'' 爪抓 +8 近战 (1d6+6)|
|''全回合攻击:'' 2 爪抓 +8 近战 (1d6+6) 及啮咬 +3 近战 (1d8+3)|
|''面宽/触及:'' 10尺/ 10尺|
|''特殊攻击:'' 撕扯2d6+9|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+6,反射+6,意志+5|
|''属性:'' 力量22,敏捷15,体质14,智力2,感知12,魅力7|
|''技能:'' 攀爬+14,聆听+5,潜行+4,侦察+6|
|''专长:'' 警觉,健壮|
|''环境:'' 温暖的森林|
|''组织:'' 单独或成群 (5-8)|
|''挑战等级:'' 3|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 6-15HD (大型)|
|''等级调整:'' -|


凶暴猿站立约9尺高,重约800到1200磅。

!!!!战斗
凶暴猿会攻击任何进入它们领地的生物,即使是另外的凶暴猿也一样。如果对手的盔甲阻碍了凶暴猿的攻击,它们会尝试擒抱并压制对手,然后撕扯被制住的敌人。


''撕扯 (Ex):''如果凶暴猿的两次爪抓攻击都命中对手,就可抓住对方身体并撕裂其血肉。这攻击必然会造成额外的2d6+12点伤害。

''技能:''凶暴猿在进行攀爬检定时会获得+8的种族加值,并且可以在做攀爬检定时总是取10,哪怕是在很匆忙或者受到威胁时也可以。


!!Dire Badger(凶暴獾 )

''中型动物''

|''生命骰:'' 3d8+15 (28 hp)|
|''先攻权:'' +3|
|''速度:'' 30尺 (6格),掘穴10尺|
|''防御等级:'' 16 (+3敏捷,+3天生),接触13,措手不及13|
|''基本攻击/擒抱:'' +2/ +4|
|''攻击:'' 爪抓 +4 近战 (1d4+2)|
|''全回合攻击:'' 2 爪抓 +4 近战 (1d4+2) 及啮咬 -1 近战 (1d6+1)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 凶暴|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+7,反射+6,意志+4|
|''属性:'' 力量14,敏捷17,体质19,智力2,感知12,魅力10|
|''技能:'' 聆听+6,侦察+6|
|''专长:'' 警觉,健壮,追踪|
|''环境:'' 温带森林|
|''组织:'' 单独或一窝 (2-5)|
|''挑战等级:'' 2|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 4-9HD (大型)|
|''等级调整:'' -|

这种危险的生物无法容忍任何侵扰。它们挖不穿石头,但却可以在其他任何比那软的物质中穿行。凶暴獾在掘穴的时候通常会在身后留下一条直径5尺的便于使用的地道,除非它正在穿行的物质十分的不牢固。

凶暴獾有5到7尺长,体重最大可达500磅。

!!!战斗
凶暴獾用它的利爪和尖牙进行攻击。

''凶暴 (Ex):''凶暴獾如果在战斗中受伤,那么下一轮它就会进入凶暴状态,疯狂地用爪抓和啮咬攻击,直到对手或自己死亡为止。凶暴状态中的凶暴獾力量+4,体质+4,防御等级-2。凶暴獾无法自行终止它的凶暴状态。


!!!Dire Bat(凶暴蝙蝠 )

''大型动物''

|''生命骰:'' 4d8+12 (30 hp)|
|''先攻权:'' +6|
|''速度:'' 20尺 (4格),飞行40尺 (良好)|
|''防御等级:'' 20 (-1体型,+6敏捷,+5天生),接触15,措手不及14|
|''基本攻击/擒抱:'' +3/ +10|
|''攻击:'' 啮咬 +5 近战 (1d8+4)|
|''全回合攻击:'' 啮咬 +5 近战 (1d8+4)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 盲感40尺|
|''豁免:'' 强韧+7,反射+10,意志+6|
|''属性:'' 力量17,敏捷22,体质17,智力2,感知14,魅力6|
|''技能:'' 躲藏+4,聆听+12*,潜行+11,侦察+8*|
|''专长:'' 警觉,隐秘|
|''环境:'' 温带沙漠|
|''组织:'' 单独或成群 (5-8)|
|''挑战等级:'' 2|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 5-12HD (大型)|
|''等级调整:'' -|

!!!!战斗
凶暴蝙蝠由上俯冲而下,突袭没有准备的猎物。

''盲感 (Ex):''凶暴蝙蝠能使用回声来定位40尺范围内的生物。除非凶暴蝙蝠能看见对手,否则对手仍然拥有全隐蔽。

''技能:''在进行侦察和聆听检定时凶暴蝙蝠获得+4的种族加值。如果盲感失去作用那么它也会失去这些加值。

!!!Dire Bear(凶暴熊 )

''大型动物''

|''生命骰:'' 12d8+51 (105 hp)|
|''先攻权:'' +1|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 17 (-1体型,+1敏捷,+7天生),接触10,措手不及16|
|''基本攻击/擒抱:'' +9/ +23|
|''攻击:'' 爪抓 +19 近战 (2d4+10)|
|''全回合攻击:'' 2 爪抓 +19 近战 (2d4+10) 及啮咬 +13 近战 (2d8+5)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' 精通攫抓|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+12,反射+9,意志+9|
|''属性:'' 力量31,敏捷13,体质19,智力2,感知12,魅力10|
|''技能:'' 聆听+10,侦察+10,游泳+13|
|''专长:'' 警觉,坚忍,飞跑,健壮,专攻武器 (爪抓)|
|''环境:'' 寒冷的森林|
|''组织:'' 单独或成对|
|''挑战等级:'' 7|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 13-16HD (大型);17-36HD (超大型)|
|''等级调整:'' -|

杂食性的凶暴熊通常不会去理睬那些试图躲避它的生物,但是会因自卫或食物而极负侵略性。它会毫不犹豫地撕开可能装有食物的任何东西。

凶暴熊有12尺长,差不多8000磅重。

!!!!战斗
凶暴熊在攻击时会用爪子撕裂对手。

''精通攫抓 (Ex):''使用这项能力之前,凶暴熊必须先用它的爪抓攻击命中对手。然后它可以通过一个即时动作展开擒抱,该动作不会引发借机攻击。

!!!Dire Boar(凶暴野猪 )

''大型动物''

|''生命骰:'' 7d8+21 (52 hp)|
|''先攻权:'' +0|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 15 (-1体型,+6天生),接触9,措手不及15|
|''基本攻击/擒抱:'' +5/ +17|
|''攻击:'' 抵撞 +12 近战 (1d8+12)|
|''全回合攻击:'' 抵撞 +12 近战 (1d8+12)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' 凶猛|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+8,反射+5,意志+8|
|''属性:'' 力量27,敏捷10,体质17,智力2,感知13,魅力8|
|''技能:'' 聆听+8,侦察+8|
|''专长:'' 警觉,坚忍,钢铁意志|
|''环境:'' 温带森林|
|''组织:'' 单独或成群 (5-8)|
|''挑战等级:'' 4|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 8-16HD (大型);17-21HD (超大型)|
|''等级调整:'' -|

凶暴野猪是什么都吃而且绝大多数时间都在拱土,就好像普通的猪一样。然而,它们会凶残地攻击接近的生物。

凶暴野猪可长至12尺长,体重最大可到2000磅。

!!!!战斗
凶暴野猪会向对手发起冲锋,试图用獠牙将对手撕裂。

''凶猛 (Ex):''凶暴野猪是一种极为顽强的生物,它们甚至可以在瘫痪或濒死的状态下不带罚值的持续战斗。

!!!Dire Lion(凶暴狮 )

''大型动物''

|''生命骰:'' 8d8+24 (60 hp)|
|''先攻权:'' +2|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 15 (-1体型,+2敏捷,+4天生),接触11,措手不及13|
|''基本攻击/擒抱:'' +6/ +17|
|''攻击:'' 爪抓 +13 近战 (1d6+7)|
|''全回合攻击:'' 2 爪抓 +13 近战 (1d6+7) 及啮咬 +7 近战 (1d8+3)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' 精通攫抓,猛扑,耙抓1d6+3|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+9,反射+8,意志+7|
|''属性:'' 力量25,敏捷15,体质17,智力2,感知12,魅力10|
|''技能:'' 躲藏+2*,聆听+7,潜行+5,侦察+7|
|''专长:'' 警觉,飞跑,专攻武器 (爪抓)|
|''环境:'' 温暖的平原|
|''组织:'' 单独,成对,或成群 (6-10)|
|''挑战等级:'' 5|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 9-16HD (大型);17-24HD (超大型)|
|''等级调整:'' -|

凶暴狮如比它体型小的表亲一样是耐心的猎人,但是易于捕捉更大的猎物。

凶暴狮可长至15尺长,可重达3500磅。

!!!!战斗
凶暴狮在攻击时会奔向猎物,扑向对方之后会展开爪抓及啮咬,同时会用后腿耙抓对手。它经常会跳向体型比自己大的生物。

''精通攫抓 (Ex):''在使用这项能力之前,凶暴狮必须用它的啮咬攻击命中对手。然后它可通过一个即时动作展开擒抱,该动作不会引发借机攻击。如果它成功将对手定身,便可展开耙抓。

''猛扑 (Ex):''当凶暴狮冲锋时,它可以做出全回合攻击,包括两次耙抓攻击。

''耙抓 (Ex):''攻击加值 +12 近战,伤害 1d6+3。

''技能:''在进行躲藏及潜行检定时凶暴狮可获得+4的种族加值。
*在长草区或浓密树丛中时,躲藏加值可提升为+8。


!!!Dire Rat(凶暴鼠 )

''小型动物''

|''生命骰:'' 1d8+1 (5 hp)|
|''先攻权:'' +3|
|''速度:'' 40尺 (8格),攀爬20尺|
|''防御等级:'' 15 (+1体型,+3敏捷,+1天生),接触14,措手不及12|
|''基本攻击/擒抱:'' +0/ -4|
|''攻击:'' 啮咬 +4 近战 (1d4外加疾病)|
|''全回合攻击:'' 啮咬 +4 近战 (1d4外加疾病)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 疾病|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+3,反射+5,意志+3|
|''属性:'' 力量10,敏捷17,体质12,智力1,感知12,魅力4|
|''技能:'' 攀爬+11,躲藏+8,聆听+4,潜行+4,侦察+4,游泳+11|
|''专长:'' 警觉,武器娴熟|
|''环境:'' 任意|
|''组织:'' 单独或成群 (11-20)|
|''挑战等级:'' 1/3|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 2-3HD (小型);4-6HD (中型)|
|''等级调整:'' -|


凶暴鼠是杂食性的食腐动物,但是会为保卫巢穴和领土而展开攻击。

凶暴鼠可长到4尺长,体重超过50磅。

!!!!战斗
成群的凶暴鼠在攻击时极为凶猛,用它们尖利的门牙啮咬并嚼碎对手。

''疾病 (Ex):''腐热症 - 啮咬,强韧豁免检定DC 11,潜伏期1d3天,1d3点敏捷伤害和1d3点体质伤害。该豁免检定DC基于体质调整值。

''技能:''在进行游泳检定时凶暴鼠可获得+8的种族加值。在进行攀爬检定时凶暴鼠可获得+8的种族加值,并且可以在做攀爬检定时总是取10,哪怕是在很匆忙或者受到威胁时也可以。

在进行攀爬及游泳检定时凶暴鼠使用敏捷调整值代替力量调整值。




!!!Dire Shark(凶暴鲨 )

''超大型动物 (水生)''

|''生命骰:'' 18d8+66 (147 hp)|
|''先攻权:'' +2|
|''速度:'' 游泳60尺 (12格)|
|''防御等级:'' 14 (-2体型,+2敏捷,+7天生),接触10,措手不及15|
|''基本攻击/擒抱:'' +13/ +27|
|''攻击:'' 啮咬 +18 近战 (2d8+9)|
|''全回合攻击:'' 啮咬 +18 近战 (2d8+9)|
|''面宽/触及:'' 15尺/ 10尺|
|''特殊攻击:'' 精通攫抓,活吞|
|''特性:'' 嗅觉异常灵敏|
|''豁免:'' 强韧+14,反射+13,意志+12|
|''属性:'' 力量23,敏捷5,体质17,智力,感知12,魅力10|
|''技能:'' 聆听+12,侦察+11,游泳+14|
|''专长:'' 强化天生攻击 (啮咬),健壮 (4),专攻武器 (啮咬)|
|''环境:'' 寒冷的水域|
|''组织:'' 单独或成群 (2-5)|
|''挑战等级:'' 9|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 19-32HD (超大型);33-54HD (巨型)|
|''等级调整:'' -|


凶暴鲨会攻击任何它认为可以吃的生物,体型大于它的也不例外。

凶暴鲨可长至25尺长,重量会超过20000磅。

!!!!战斗
凶暴鲨用它强有力的颚啮要对手,较小的生物会被一口吞下。

''精通攫抓 (Ex):''在使用这项能力之前,凶暴鲨必须用它的啮咬攻击命中对手。然后它可通过一个即时动作展开擒抱,该动作不会引发借机攻击。如果成功将对手定身,它在下一轮就可以尝试活吞对手。

''活吞 (Ex):''凶暴鲨一旦通过擒抱检定抓住体型比它小一级的对手,就可将对手活吞下去。被活吞的生物每轮将受到凶暴鲨胃部所造成的2d6+6点钝击伤害及1d8+4点酸伤害。遭遇活吞的生物可用轻型挥砍或刺击武器对其胃部 (AC13)造成25点伤害借此杀出一条血路冲到外面。当这个生物逃脱之后,凶暴鲨的肌肉动作会将伤口合起来,其他被活吞的生物必须再用上述的方法杀出来。

大型凶暴鲨的胃部可以容纳2个大型,8个中型或小型,32个超小型,128个微型,或者512个超微型或更小的生物。

''嗅觉异常灵敏 (Ex):''凶暴鲨能通过嗅觉发现半径180尺范围内的生物,并且可以侦测到1英里范围内水中的血腥味。

''技能:''在进行游泳检定来做出特殊动作或躲避危险时凶暴鲨可获得+8的种族加值。它可在游泳检定中总是取10,即使注意力被分散或处于危险中也一样。它可在游泳中使用奔跑动作,但只能游直线。


!!!Dire Tiger(凶暴虎 )

''大型动物''

|''生命骰:'' 16d8+48 (120 hp)|
|''先攻权:'' +2|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 17 (-1体型,+2敏捷,+6天生),接触11,措手不及15|
|''基本攻击/擒抱:'' +12/ +24|
|''攻击:'' 爪抓 +20 近战 (2d4+8)|
|''全回合攻击:'' 2 爪抓 +20 近战 (2d4+8) 及啮咬 +14 近战 (2d6+4)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' 精通攫抓,猛扑,耙抓2d4+4|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+13,反射+12,意志+11|
|''属性:'' 力量27,敏捷5,体质17,智力2,感知12,魅力10|
|''技能:'' 躲藏+7*,跳跃+14,聆听+6,潜行+11,侦察+7,游泳+10|
|''专长:'' 警觉,强化天生攻击 (爪抓),强化天生攻击 (啮咬),飞跑,隐秘,专攻武器 (爪抓)|
|''环境:'' 温暖的森林|
|''组织:'' 单独或成对|
|''挑战等级:'' 8|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 17-32HD (大型);33-48HD (超大型)|
|''等级调整:'' -|


凶暴虎捕食几乎所有会动的生物。它会耐心的潜伏在猎物之后,只要那生物放松警惕就发动攻击。

凶暴虎可长至12尺长,重量可达6000磅。

!!!战斗
凶暴虎在攻击时会奔向猎物,扑向对方之后会展开爪抓及啮咬,同时会用后腿耙抓对手。

''精通攫抓 (Ex):''在使用这项能力之前,凶暴虎必须用它的啮咬攻击命中对手。然后它可通过一个即时动作展开擒抱,该动作不会引发借机攻击。如果它成功将对手定身,便可展开耙抓。

''猛扑 (Ex):''当凶暴虎冲锋时,它可以做出全回合攻击,包括两次耙抓攻击。

''耙抓 (Ex):''攻击加值 +18 近战,伤害 2d4+4。

''技能:''在进行躲藏及潜行检定时凶暴虎可获得+4的种族加值。
*在长草区或浓密树丛中时,躲藏加值可提升为+8。


!!!Dire Weasel(凶暴鼬 )

''中型动物''

|''生命骰:'' 3d8 (13 hp)|
|''先攻权:'' +4|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 16 (+4敏捷,+2天生),接触14,措手不及12|
|''基本攻击/擒抱:'' +2/ +4|
|''攻击:'' 啮咬 +6 近战 (1d6+3)|
|''全回合攻击:'' 啮咬 +6 近战 (1d6+3)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 攀附,吸血|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+3,反射+7,意志+4|
|''属性:'' 力量14,敏捷19,体质10,智力2,感知12,魅力11|
|''技能:'' 躲藏+8,聆听+3,潜行+8,侦察+5|
|''专长:'' 警觉,隐秘,武器娴熟|
|''环境:'' 温带山区|
|''组织:'' 单独或成对|
|''挑战等级:'' 2|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 4-6HD (中型);7-9HD (大型)|
|''等级调整:'' -|



凶暴鼬可长至10尺长,重量可达700磅。

!!!!战斗
凶暴鼬利用黑暗跟踪它们的猎物,然后猛扑上去用爪抓和啮咬攻击。

''攀附 (Ex):''凶暴鼬的啮咬攻击命中目标时,它会依靠其有力的双颚攀附在对手身上。攀附中的凶暴鼬在防御等级上失去敏捷加值,因此它的防御等级变为12。攀附中的凶暴鼬可被武器攻击或被擒抱。想要通过擒抱挣脱攀附中的凶暴鼬,对手必须成功压制住它。

''吸血 (Ex):''凶暴鼬处于攀附状态中的每一轮都可以通过吸血来造成1d4点的体质伤害。

!!!Dire Wolf(凶暴狼 )

''大型动物''

|''生命骰:'' 6d8+18 (45 hp)|
|''先攻权:'' +2|
|''速度:'' 50尺 (10格)|
|''防御等级:'' 14 (-1体型,+2敏捷,+3天生),接触11,措手不及12|
|''基本攻击/擒抱:'' +4/ +15|
|''攻击:'' 啮咬 +11 近战 (1d8+10)|
|''全回合攻击:'' 啮咬 +11 近战 (1d8+10)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' 拌摔|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+8,反射+7,意志+6|
|''属性:'' 力量25,敏捷15,体质17,智力2,感知12,魅力10|
|''技能:'' 躲藏+0,聆听+7,潜行+4,侦察+7,生存+2*|
|''专长:'' 警觉,飞跑,追踪,专攻武器 (啮咬)|
|''环境:'' 温带森林|
|''组织:'' 单独或成群 (5-8)|
|''挑战等级:'' 3|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 7-18HD (大型)|
|''等级调整:'' -|


凶暴狼是群会杀死它们所能抓到的任何生物的高效猎人。

凶暴狼的皮毛是斑驳的灰色与黑色,约9尺长,重约800磅。

!!!!战斗
凶暴狼喜欢成群地攻击,尽可能包围和夹击对手。

''拌摔 (Ex):''凶暴狼一旦用啮咬攻击命中对手就可以用一个即时动作对对手展开拌摔 (+11检定调整值),该动作不会引发借机攻击。即使尝试失败,对手也不能反过来拌摔凶暴狼。

''技能:''在进行躲藏,聆听,潜行及侦察检定时凶暴狼可获得+2的种族加值。

*当凶暴狼以嗅觉展开追踪,进行生存检定时它可获得+4的种族加值。

!!!Dire Wolverine(凶暴狼獾 )

''大型动物''

|''生命骰:'' 5d8+23 (45 hp)|
|''先攻权:'' +3|
|''速度:'' 30尺 (6格)|
|''防御等级:'' 16 (-1体型,+3敏捷,+4天生),接触12,措手不及13|
|''基本攻击/擒抱:'' +3/ +13|
|''攻击:'' 爪抓 +8 近战 (1d6+6)|
|''全回合攻击:'' 2 爪抓 +8 近战 (1d6+6) 及啮咬 +3 近战 (1d8+3)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' 凶暴|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+8,反射+7,意志+5|
|''属性:'' 力量22,敏捷17,体质19,智力2,感知12,魅力10|
|''技能:'' 攀爬+14,聆听+7,侦察+7|
|''专长:'' 警觉,健壮,追踪|
|''环境:'' 寒冷的森林|
|''组织:'' 单独或成对|
|''挑战等级:'' 4|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 6-15HD (大型)|
|''等级调整:'' -|


凶暴狼獾可长至12尺长,可重达2000磅。

!!!!战斗
凶暴狼獾会随心情攻击对手,不惧怕其他任何生物。

''凶暴 (Ex):''凶暴狼獾如果在战斗中受伤,那么下一轮它就会进入凶暴状态,疯狂地用爪抓和啮咬攻击,直到对手或自己死亡为止。凶暴状态中的凶暴狼獾力量+4,体质+4,防御等级-2。凶暴狼獾无法自行终止它的凶暴状态。

''技能:''凶暴狼獾在进行攀爬检定时会获得+8的种族加值,并且可以在做攀爬检定时总是取10,哪怕是在很匆忙或者受到威胁时也可以。
Disable Device(解除装置)(智力;需受训)

''检定:''解除装置检定是秘密进行的,所以你不知道你是否获得成功。

DC依赖于装置的棘手程度。解除(或者是做手脚或卡住)一个相当简单的装置的DC是10;较复杂的装置有较高的DC。

如果检定成功,你解除了该装置。如果失败4或更少,你失败了,但是可以重试。如果失败5或者更高,有些事情会出错。如果该装置是一个陷阱,你触发了它。如果你打算做些破坏,你认为装置已经被解除了,但是它依然正常运作。

你同样可以对一个简单装置做手脚(例如鞍座或马车车轮),让其正常工作一小会,然后在一段时间后(通常为使用后1d4轮或分钟)就会失效或坏掉。

 
|!装置  |!	时间	|!	解除装置DC^^1^^	|!示例 |
|^	简单	|^	1轮	|^	10	|^	堵住锁	|
|^	棘手	|^	1d4轮	|^	15	|^	破坏马车车轮	|
|^	困难	|^	2d4轮	|^	20	|^	解除陷阱,重置陷阱	|
|^	非常困难	|^	2d4轮	|^	25	|^	解除复杂陷阱,巧妙的破坏一个机械装置	|
|^	1 如果你试图不留下痕迹,DC增加5。	|<|<|<|




 

''动作:''做一次解除装置检定所需时间依赖于之前提到的任务。解除一个简单的装置需要一轮,是一个整轮动作。一个较复杂的装置需要1d4或2d4轮。

''重试:''可变的。如果检定失败4或更少,你可以重试,不过要重试你必须先被告知失败过。

''特别:''如果你有灵巧手指(Nimble Fingers)专长,你在解除装置检定上有+2加值。

如果游荡者解除装置技能检定结果高过陷阱DC10或以上,他可以研究此陷阱,看出它如何运作,还可以不拆卸而通过陷阱(连同队友)。

''限制:''游荡者(以及其他具有寻找陷阱职业特性(trapfinding)的角色)可以拆卸魔法陷阱。通常魔法陷阱DC为25+创造陷阱时所用法术的法术等级。

法术火焰陷阱(fire trap),守卫结界(glyph of warding),魔法徽记(symbol),以及传送法阵(teleportation circle)也可以制造陷阱,它们制造的陷阱也可以由游荡者通过成功的解除装置检定解除。但是荆棘丛生(spike growth)和刺石术(spike stones)制造的魔法陷阱不能用解除装置解除。详见对应法术说明。

 

!!!!其他击败陷阱的方法

有可能不用解除装置检定来破坏很多陷阱。

''远程攻击型陷阱:''如果陷阱位置已经确定,要破坏它一种明显的办法就是打碎它的机械部分——如果它的机械部分可以碰到。如果无法做到,也可以堵塞那些射出弹射物的孔。这样做可以防止陷阱发射,除非它的弹药有足够伤害来穿透阻塞。

''近战攻击型陷阱:''这些装置也可以用之前的方法通过打碎它机械部分或者卡住武器的方法来破坏。不过,如果角色能研究陷阱如何被触发,他也许可以掌握闪避时机让自己正好躲开伤害。如果陷阱第一次触发时角色什么也不做只研究这个陷阱,那么在下一次触发时角色获得+4闪避加值。

''陷坑:''解除一个陷坑陷阱通常只需要破坏上面的陷阱活门即可,让陷阱变成无盖的陷坑。填满这个陷坑或者在上面搭个简易桥是人工工作,不是解除装置技能。角色可以通过攻击坑底的钉刺让其无效——折断它们就像折断匕首一样。

''魔法陷阱:''解除魔法(dispel magic)对此有帮助。在对抗陷阱制造者的施法者等级检定中胜出的角色可以压制该陷阱1d4轮。只能用目标型解除魔法来进行该项工作,不能用区域性解除魔法(见法术说明)。
''瘫痪(Disabled):''人物的生命值为0,或拥有负值的生命值但已稳定并神智清醒,这些情况为瘫痪状态。瘫痪人物每轮只能做一个移动动作或一个标准动作(不能两者都做,也不能进行全回合动作)。他只能以正常速度的一半移动。做移动动作不会招致更多的伤害,但是进行任何标准动作(或其他任何DM认为是费力的事,包括一些即时动作,例如施展瞬发法术等)会在动作完成后受到1点伤害。除非这个动作增加了瘫痪人物的生命值,否则他的生命值将降为负数并因而进入濒死状态。

有着负数生命值的瘫痪人物如果能受到帮助,他的生命值会自然回升。否则,每天他有10%的几率开始自然回复生命值(从那天开始),如果没能自然回复,他将继续失去1点生命值。如果没有援助的瘫痪人物生命值开始自然回升,他就不再有继续降低生命值的危险(即使当前生命值仍是负数)。

 

!!! 瘫痪(DISABLED)(0HP)

在你实际生命值下降到等于0的时候,你瘫痪了。

此时你每轮只能做一个移动或标准动作(但是不能同时做两个动作,也不能做整轮动作)。你可以做一个移动动作而不会继续损伤你自己,但是如果你做了任何标准动作(或者任何其他费力的动作),你都会在动作结束后受到1点伤害。除非你的动作可以增加你的生命值,否则你将成为-1HP,陷入濒死。

可以让你生命值增加到0以上的医疗可以让你恢复到正常状态,就像你从未降低到0或更低生命值的情况一样。

当你从濒死状态下恢复过来时你也是瘫痪状态。在这种情况下,这只是恢复的一个步骤,并且你的生命值可能比0更低(见之后的稳定角色伤势和恢复)。
!!! 卸除武器(DISARM)

你可以尝试通过一个近战攻击动作来卸除对手的武器。如果你是使用武器来进行卸除,那么就会将对手的武器从他手中打落在地上。如果你是尝试以徒手卸除,那么就会将对手的武器夺到自己手中。

当你尝试卸除的是对手的近战武器时,要遵循以下的几个步骤。如果你尝试卸除的物品不是近战武器,那么防御者也还是可以和你进行对抗攻击检定,但是会受到一定的减值。而且一旦你卸除失败,对方也不会有机会来对你进行反卸除武器。

''步骤 1:引发借机攻击。''你会引发来自卸除目标的一次借机攻击。(如果你有精通卸除武器专长,在尝试进行卸除的时候就不会招致目标的借机攻击)如果防御者的借机攻击造成了伤害,那么你的这次卸除尝试即宣告失败。

''步骤 2:对抗投骰。''你和防御者必须用你们各自的武器来进行对抗攻击检定投骰。在进行卸除尝试时,使用双手武器者可以在对抗检定中得到+4的加值,而使用轻武器者则会受到-4的减值。(徒手攻击视为轻武器,所以在你试图用徒手攻击来进行卸除尝试的时候,总是会受到轻武器的减值。)如果对抗双方的体型不同,那么体型较大的一方每大过其对手一级,就可以在攻击投骰上得到+4的加值。如果卸除的目标不是近战武器,那么防御者会在攻击投骰上受到-4的减值。

''步骤 3:结果。''如果你在对抗检定中胜过防御者,那么防御者即遭到卸除武器。如果你是用徒手攻击来进行这一次卸除尝试,那么现在对方的武器就已经被你夺到手里了。如果你是使用武器来进行卸除,那么现在防御者手里的武器就被击落在地上,掉在防御者所处的那个方格里。

如果你的卸除尝试失败,防御者就可以立即进行反击,通过同样的近战对抗攻击检定进行投骰来尝试反卸除你的武器。他的这次尝试不会引发你的借机攻击。如果他的这次卸除尝试失败,你也无法因此而再次得到卸除他武器的机会。

注意:如果防御者穿戴着带刺铁手套,则这种铁手套无法被当作一种武器来进行卸除。如果防御者使用的是已经被固定在带锁手套中的武器,那么在遭到卸除时,其对抗检定可以得到+10加值。

 

!!!!夺取物品

你可以通过一个卸除武器动作来夺取穿戴在目标身上的某个物品。如果你打算将该物品直接抢到手里,那么你就必须通过徒手攻击来进行卸除尝试。

如果该物品被固定得很差,或是以某种方式很容易抓到手或是割下来,那么攻击者就可以得到+4的加值。和一般的卸除尝试不同的是,尝试夺取物品如果失败,并不会导致防御者对你进行反卸除。除此以外的处理方式都和正常的卸除武器一致,如上文所述。

你无法夺取被固定得很牢固的物品,除非你已经将物品持有者压制住(参阅“擒抱”)。即使是这样,防御者还是能在对抗卸除的检定上得到+4的加值。

 
!!!辨知谎言(Discern Lies)
|预言系|
|''等级:''牧师 4,圣武士 3|
|''法术成分:''言语,姿势,法器|
|''施法时间:'' 一个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''目标:''1个生物/等级,生物两两之间不超过30英尺|
|''持续时间:''专注,最多1轮/等级|
|''豁免检定:''意志,通过则无效|
|''法术抗力:''不可|
|每一轮你都可以专注于一个有效距离内的目标。你可以知道对方是否在有意撒谎以误导他人。此法术不会揭示真相,无法发现无心的错误,或不得已的借口。|
|每一轮内你可以都专注于不同的目标。|
!!!感知位置(Discern Location)
|预言系|
|''等级:''牧师 8,知识 8,术士/法师 8|
|''法术成分:''言语,姿势, 法器|
|''施法时间:'' 10分钟|
|''距离:''无限制|
|''目标:''一个生物或物体|
|''持续时间:''立即|
|''豁免检定:''无|
|''法术抗力:''不可|
|感知位置是最强大的确定生物或物体位置的法术之一。除了法术心灵屏障(mind blank)或神力的直接干涉外没有任何途经能阻止你得知目标的确切位置。感知位置可以绕过通常的探知或定位防护方法。此法术可显示生物的名字或物体所在的位置(地点,姓名,商业名,建筑名之类),社区,郡(或其他行政区划),国家,大陆,以及位面名。|
|要用这个法术找到一个生物,你必须见过它,或有一些曾属于它的物品。要找到一件物品,你必须至少接触过它一次。|
当一个人物被脏污的攻击所伤,或接触到带有疾病源的物品,或吃下被疾病污染的食物和饮水,他必须立刻进行一次强韧检定。如果成功,疾病没产生效果--他的免疫系统击退了传染病。如果失败,在潜伏期后他将受到伤害,之后每过一天他都要进行一次成功的强韧检定来避免再次受害。两次豁免检定成功表明他击败了疾病并恢复健康,不再受伤害。

这些强韧豁免检定可以秘密进行,让玩家无法得知疾病是否得到控制。

疾病描述:

疾病有许多症状,并可经由一些传染源传播。一些典型疾病的特性在表“疾病”中作了概括说明,定义见下文。

//疾病://疾病名称用斜体印出的属于超自然能力。其它的属于特异能力。

//感染方式://疾病传播的方法--摄入(ingested)、吸入(inhaled)、伤口(injury)或接触(contact)。要注意有些伤口性的疾病可以通过一个很小的伤口传播,甚至是一个跳蚤咬的伤口,而大部分的吸入性疾病也可通过摄入而被感染(反之亦然)。

//DC://用来预防感染(假设该人物已经被感染了)、避免每次的重复伤害、恢复健康的强韧检定难度等级。

//潜伏期://伤害开始前的一段时间。

//伤害://在潜伏期结束后以及之后的每天人物将承受的属性伤害。

''疾病的种类:''疾病包括以下类型:

//失明症(Blinding Sickness)://通过被污染的水传播。

//失心热症(Cackle Fever)://症状包括高烧,意识模糊,以及经常发出阵阵狂笑。也称为“狂喊症(the shrieks)”。

//热魔症(Demon Fever)://经由老鬼婆(night hags)传染。能导致永久的属性吸取。

//寒魔症(Devil Chills)://经由巴霸魔(barbazu)和深狱炼魔(pit fiends)传染。必须经过三次成功的豁免检定才能恢复健康,而不是通常的两次。

//腐热症(Filth Fever)://经由凶暴鼠(dire rat)与食腐兽(otyughs)传染。当伤口处于肮脏的环境中时也会感染。

//脑热症(Mindfire)://患者感到脑袋焦炽般的烧热。导致昏迷。

//腐尸症(Mummy Rot)://经由木乃伊传染。成功的豁免检定也不会使感染者恢复健康(但仍能避免伤害)。

//红肿症(Red Ache)://患者肤色转红、肿胀、发热。

//颤栗症(The Shakes)://患者会不由自主的抽搐发颤和痉挛。

//胶质症(Slimy Doom)://患者会由内到外逐渐变成有感染性的粘稠物。能导致永久的属性吸取。

''表:疾病''

|!	疾病	 |!	感染方式 DC	 |!	潜伏期	 |!	伤害	 |
|^	失明症	 |^	摄入 16	 |^	1d3 天	 |^	1d4 力量^^1^^	 |
|^	失心热症	 |^	吸入 16	 |^	1 天	 |^	1d6 感知	 |
|^	热魔症	 |^	伤口 18	 |^	1 天	 |^	1d6 体质^^2^^	 |
|^	寒魔症^^3^^	 |^	伤口 14	 |^	1d4 天	 |^	1d4 力量	 |
|^	腐热症	 |^	伤口 12	 |^	1d3 天	 |^	1d3 敏捷, 1d3 体质	 |
|^	脑热症	 |^	吸入 12	 |^	1 天	 |^	1d4 智力	 |
|^	腐尸症^^4^^ |^	接触 20	 |^	1 天	 |^	1d6 体质	 |
|^	红肿症	 |^	伤口 15	 |^	1d3 天	 |^	1d6 力量	 |
|^	颤栗症	 |^	接触 13	 |^	1 天	 |^	1d8 敏捷	 |
|^	胶质症	 |^	接触 14	 |^	1 天	 |^	1d4 体质^^2^^	 |
|^	1 //当人物受到2或更高的伤害时,他必须做一次额外的强韧检定,失败则永久目盲。//	 |<|<|<|
|^	2 //当伤害发作时,他必须成功通过一次额外的强韧豁免,否则受到1点的永久属性吸取而非原来的属性伤害。//	  |<|<|<|
|^	3 //必须经过三次成功的豁免检定才能恢复健康。//	 |<|<|<|
|^	4 //成功的豁免检定也不会使感染者恢复健康。只有魔法医疗才能治愈。//	 |<|<|<|


!!!!治疗疾病

可以使用医疗(Heal)技能照看患者。在每一次患者进行豁免检定时,医护者同时进行一次医疗技能判定。如果医疗技能判定结果较高,患者可以采用医疗技能判定结果代替自己的豁免检定结果来对抗疾病效果。患者必须处于医疗者的照料下,并且必须之前休息了至少8小时。

属性伤害造成的属性值丢失会以每天一点的速率回复,即使人物依然在染病中也是这样。这意味着患有轻微疾病的人物可以抵抗住疾病而不会积累伤害。

!!!易容术(Disguise Self)
|幻术系(五官幻觉)|
|''等级:''吟游诗人 1,术士/法师 1,诡术 1|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''10 分钟/等级(可解消)|
|你使得你自己——包括服装、盔甲、武器和装备——看上去不同。你可以看起来变高或变矮了一英尺,或是变胖变瘦之类。你不能改变自己的身体类型。此外,你可以随心改变外貌。你可以添加或掩饰一些外貌特征或看起来完全变成另一个人。|
|此法术不能给你带来特别的能力或与语言习惯,也不改变你和你装备的触感(触觉)或声音(听觉)。|
|若你用此法术进行易容检定,你获得+10的加值。|
|与你发生感官互动的生物可以通过意志检定来识破幻觉。|
Disguise(易容)(魅力)

''检定:''你的易容检定值决定了这次易容有多好,并且它要和其他人的侦察检定进行对抗。如果你没有吸引注意力,其他人就不必做侦察检定。如果你吸引了有疑心人们(例如一个正在观察穿过城市大门平民的卫兵)的注意力,那么可以假定这些观察者正在在其侦察检定上取10。

你在每次使用该技能时只能进行一次易容检定,即使有多人正在用侦察检定对抗。易容检定是密投的,因此你不能知道结果到底有多好。

你易容的效果依赖于你想将自己外观改变多少。

 
|!	易容	|!	易容检定修正	|
|^	仅有次要细节	|^	+5	|
|^	装扮成不同性别^^1^^ 	|^	-2	|
|^	装扮成不同种族^^1^^ 	|^	-2	|
|^	装扮成不同年龄段^^1^^	|^	-2^^2^^	|
|^	//^^1^^ 这些修正可以累加,条件符合即可应用。//	|<|
|^	//^^2^^ 真实年龄段和要装扮的年龄段每差一级的修正。这些年龄段是:幼年(比成年年轻),成年,中年,老年,暮年。//	|<|

 

如果你正扮演成某个特定人物,知道此人外貌的人在他们侦察检定上可以按下表获得加值。此外,自动认为他们正在怀疑你,因此始终需要对抗检定。



|!	熟悉程度	|!	观察者的侦察检定奖励	|
|^	一见面就可以认出 	|^	+4	|
|^	朋友或伙伴 	|^	+6	|
|^	密友 	|^	+8	|
|^	至亲 	|^	+10	|

 

通常,他人在和你见面时要立刻做一次侦察检定来看穿你的易容,之后每小时都要做一次检定。如果你遇上多个不同的生物,而且每次遇面时间都很短,使用对方团队的侦察修正的平均值来每天或每小时做一次检定

''动作:''要做一次易容需要工作1d3x10分钟。

''重试:''可以。你可以试着补做一次失败的易容,但是一旦他人知道曾经有人易容,他们会更加多疑。

''特别:''魔法可以改变你的形态,例如变身术(alter self),变颜术(disguise self),变形术(polymorph),或形体变化术(shapechange),它们可以在你易容检定上提供+10加值(见对应法术说明)。要使用迷罩术(veil)来复制特定他人的外貌,你必须在有+10加值的情况下在易容检定中获得成功。可以让人看穿幻术的预言系法术(例如真知术(true seeing))无法洞察普通的易容,但是它能去掉经魔法增强的易容中的魔法成分。在你施展拟像术(simulacrum)时你必须做一次易容检定来决定仿造物做的有多好。

如果你有欺诈(Deceptive)专长,你在易容检定上获得+2加值。

''共效:''如果你在唬骗上级数达到5或者更高,当你试着装扮成其他人并且知道自己正在被观察时,你在易容检定上有+2加值。

!!!解离术(Disintegrate)
|变化系|
|''等级:''毁灭 7,术士/法师 6|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:'' 一个标准动作|
|''距离:''中距 (100英尺+10英尺/等级)|
|''效果:''射线|
|''持续时间:''立即|
|''豁免检定:''强韧,通过则效果减半(物体)|
|''法术抗力:''可|
|一道细细的绿色射线从你指尖射出。你必须通过远程接触攻击来命中目标。被击中的生物受到每施法者等级2d6点伤害(最多40d6)。生命值被此射线降到0或更低则立即被完全分解,只留下一点微细的灰烬痕迹。被解离的生物的装备不受影响。|
|目标为物品时,射线可解离10立方英尺的非生命物品。因此,此法术只能解离庞大物体或结构的一部分。此法术甚至对完全由力场构成的物体也有效,如飞击掌(forceful hand)或力场墙(wall of force),但对法术无效结界(globe of invulnerability)或反魔场(antimagic field)之类的法术效果无效。|
|通过强韧检定的生物或物体只受到5d6点伤害。若它们的生命值因此降到0或更低则立即被完全分解。|
|只有第一个被击中的生物或物品会被影响,这就是说,每次施法,射线只对一个目标有效。|
|//奥术材料成分 ://一块天然磁石和一小撮灰尘。|
!!!驱逐术(Dismissal)
|防护系|
|''等级:''牧师 4,术士/法师 5|
|''法术成分:''言语,姿势,法器|
|''施法时间:'' 一个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''目标:''一个跨位面生物|
|''持续时间:''立即|
|''豁免检定:''意志,通过则无效;见说明|
|''法术抗力:''可|
|此生物可将一个跨位面生物强行送回它的原属位面,前提是它意志检定失败(DC=法术豁免检定DC-生物的HD+你的施法者等级)。若法术成功,生物立即被送走,但有20%的几率将生物送至其原属位面以外的位面。|
!!!反制混乱(Dispel Chaos)
|防护系 [秩序]|
|''等级:''牧师 5,秩序 5,圣武士 4|
|此法术作用类似反制邪恶(dispel evil),不过你被稳定的蓝色守序能量包围,同时此法术将影响混乱生物和法术而非邪恶生物和法术。|
!!!反制邪恶(Dispel Evil)
|防护系 [善良]|
|''等级:''牧师 5,善良 5,圣武士 4|
|''法术成分:''言语,姿势,法器|
|''施法时间:'' 一个标准动作|
|''距离:''接触|
|''目标:''你和你接触的异界邪恶生物;或你和你接触的生物或物品上的惑控系法术或邪恶法术|
|''持续时间:''1 轮/等级或直到耗散,以第一个发生的事情为准|
|''豁免检定:''见说明|
|''法术抗力:''见说明|
|微微发光的白色圣洁能量包围着你。这力量有三种作用。|
|首先,对抗邪恶生物对你的攻击时你的AC获得+4偏斜加值|
|其次,在对来自其他位面的邪恶生物成功进行了近战攻击检定之后,你可以选择将其驱赶回本来的位面。若生物意志检定成功则无效(可使用法术抗力)。这种使用会耗散并中止此法术。|
|第三,你可以通过接触自动解除由邪恶生物施展的惑控系法术,或解除任何邪恶法术。|
|//例外://不会被解除魔法(dispel magic)解除的法术同样不会被反制邪恶解除。豁免和法术抗力对此效果无效。这种使用会耗散并中止此法术。|
|防护系 [邪恶]|
|''等级:''牧师 5,邪恶 5|
|此法术作用类似反制邪恶(dispel evil),不过你被黯淡的摇曳不洁能量包围,同时此法术将影响善良生物和法术而非邪恶生物和法术。|
!!!反制秩序(Dispel Law)
|防护系 [混乱]|
|''等级:''混乱 5, 牧师 5|
|此法术作用类似反制邪恶(dispel evil),不过你被闪烁的黄色混乱能量包围,同时此法术将影响守序生物和法术而非邪恶生物和法术。|
!!!高等解除魔法(Dispel Magic, Greater)
|防护系|
|''等级:''吟游诗人 5,牧师 6,德鲁伊 6,术士/法师 6|
|此法术作用类似解除魔法,不过此法术用于检定的最高施法者等级为+20而非+10。并且,此法术可以解除移除诅咒(remove curse)可移除的效果,即便这些效果原本不能由解除魔法消除。|
!!!解除魔法(Dispel Magic)
|防护系|
|''等级:''吟游诗人 3,牧师 3,德鲁伊 4,魔法 3,圣武士 3,术士/法师 3|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''中距 (100英尺+10英尺/等级)|
|''目标或 区域:''一个施法者、生物或物体;或半径20英尺爆发范围|
|''持续时间:''立即|
|''豁免检定:''无|
|''法术抗力:''不可|
|你可以使用解除魔法来中断施展在一个生物或物品上正在运作的法术,或是暂时压制一件魔法物品的魔法能力,或中断一个区域内正在运作的法术(或是它们的法术效果),或反制其他施法者的法术。被解除的法术立即结束,相当于他们的持续时间已到。有些法术是不可以被解除的,这在法术描述中有说明。解除魔法可以解除(但非反制)类法术能力。|
|//注意://持续时间为“立即”的法术效果不可被解除,因为在解除魔法生效前,它们就已经完成了。|
|你可以选择以以下三种方式之一来施展解除魔法:目标型解除,区域型解除,或反制法术。|
|//目标型解除(Targeted Dispel)://法术目标为一个物体、生物或法术。你对一个法术,或生物、物品上每一个正在进行中的法术进行检定(1d20+施法者等级,最多+10)。检定DC为11+该法术的施法者等级。若检定成功则该法术被解除;若失败,则那个法术仍有效。|
|若你的目标生物或物品是正在进行中法术的效果(如被怪物召唤术(monster summoning)召来的生物),你通过检定来尝试结束那个法术。|
|若目标为魔法物品,你用解除检定来对抗该物品的施法者等级。若成功,该物品的所有魔法能力将被压制1d4轮,之后该物品将回复效用。被压制的物品在持续时间内变为非魔法物品。物品的跨维度接口(如次元袋(bag of holding))暂时关闭。魔法物品的物理属性不会改变:被压制的魔法剑依旧是一把剑(还是精制品)。神器和神祗不会被这类世俗魔法影响。|
|对你自己施展的法术,你的解除检定自动成功。|
|//区域型(Area Dispel)://在此情况下,法术会影响半径20英尺范围内的一切。|
|你为区域内每个受法术影响的生物进行检定,首先对施法者等级最高的法术进行检定。若检定失败,则法术等级由高到低一个个检定,直到解除掉一个法术(同时和这个目标有关的解除魔法部分也会耗散掉)或直到全部失败。该生物的魔法物品不受影响。|
|对区域内的每一个受到一个或多个魔法影响的物品,你都要一一检定。区域内的魔法物品不受区域型解除的影响。|
|对于每个法术源发点在解除魔法区域内的进行中的区域或效果法术,你可以进行解除检定以试图解除它们。|
|对于每个区域和解除魔法重合的进行中的法术,你可以尝试解除来结束效果,但仅限于重合区域。|
|若物品和生物本身是持续中的法术效果(如怪物召唤术(monster summoning)召来的怪物)并且处于解除区域,则你可以在尝试解除它们身上的魔法的同时通过解除检定来驱散这些生物或物品(将它送回来处)。|
|你可以选择对你自己施展的法术自动检定成功。|
|//反制法术(Counterspell)://在这种情况下,法术目标是施法者,此法术如同反制法术一般施展。但是不同于真正的反制法术,解除魔法有可能无效,你必须通过解除检定才可以反制其他施法者的法术。|
!!!移位术(Displacement)
|幻术系(五官幻术)|
|''等级:''吟游诗人 3,术士/法师 3|
|''法术成分:''言语,材料|
|''施法时间:'' 一个标准动作|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:''1 轮/等级(可解消)|
|''豁免检定:''意志,通过则无效 (无害)|
|''法术抗力:''可(无害)|
|受术者出现在其实际位置的大约2英尺远处。这使得他如同全隐蔽一般,攻击者有50%的失手几率。但与全隐蔽不同,敌人仍可以受术者为目标。真知术(True seeing)可揭露受术者的真正位置。|
|//材料成分://一小条皮革,卷成环状。|
!!!打击死灵(Disrupt Undead)
|死灵系|
|''等级:''术士/法师 0|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''效果:''射线|
|''持续时间:''立即|
|''豁免检定:''无|
|''法术抗力:''可|
|你射出一股正能量射线。你必须通过远程接触攻击来命中目标,击中不死生物后可对其造成1d6点伤害。|
!!!毁灭武器(Disrupting Weapon)
|变化系|
|''等级:''牧师 5|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''接触|
|''目标:''一件近战武器|
|''持续时间:''1 轮/等级|
|''豁免检定:''意志,通过则无效(无害,物体); 见说明|
|''法术抗力:''可(无害,物体)|
|此法术可使一件近战武器成为不死生物杀手。战斗中被此武器击中的任何不死生物,只要其HD等于或低于你施法者等级就必须通过意志检定,否则会被摧毁。法术抗力对摧毁效果无效。|
''Disruption(瓦解):''瓦解武器是所有不死生物的克星。任何在战斗中被击中的不死生物必须进行一次DC14的意志豁免检定,失败则被摧毁。只有钝击型武器才能具有此能力。(如果在为穿刺或挥砍型武器随机掷特殊能力时掷出此能力,则重掷特殊能力。)

强烈防护系灵光;CL14;制造魔法武器和防具,医疗术(heal);价格+2加值。

''Distance(及远):''只有远程武器才能具有此能力。具有此能力的武器射程加倍。

中等预言系灵光;CL6;制造魔法武器和防具,锐耳术/鹰眼术(clairaudience/clairvoyance);价格+1加值。
!!!预言术(Divination)
|预言系|
|''等级:''牧师 4,知识 4|
|''法术成分:''言语,姿势,材料|
|''施法时间:'' 10 分钟|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''立即|
|和占卜术(augury)相似,但是更强大。预言术可以针对施法者一周内要从事的事情、目的或行动给与有用的建议。回答可能是一段简单的话语,或是隐晦的韵文或预兆。若你的队伍不理会讯息,则状况可能改变,因此信息也就不再有用。得到正确预言的几率为70%+1%/施法者等级,最高90%。若投骰失败,你可知道法术失败,除非受其他魔法影响而得到错误信息。|
|和占卜术相同,同一个施法者对同一个问题使用多次预言术,得到的投骰结果与第一次相同,得到的回答也一样。|
|//材料成分://奉献给你所属宗教信仰的焚香和祭品,总价值至少25金币。|
!!!神恩(Divine Favor)
|塑能系|
|''等级:''牧师 1,圣武士 1|
|''法术成分:''言语,姿势,法器|
|''施法时间:'' 一个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''1分钟 |
|呼唤神的力量与智慧,你在攻击检定和伤害检定上获得每三个施法者等级+1幸运加值(至少+1,最多+3)。法术伤害无加值。|
!!!神能(Divine Power)
|塑能系|
|''等级:''牧师 4,战争 4|
|''法术成分:''言语,姿势, 法器|
|''施法时间:'' 一个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''1 轮/等级|
|呼唤你所信仰神祗的威力,为自己注入一股战斗力量和技能。你的基本攻击加值变为等于你的人物等级(这也许可使你进行多次攻击),你的力量获得+6的增强加值,并获得每施法者等级1点暂时生命值。|
''Djinni Calling(呼唤风巨灵): ''这是一枚在许多神话中出现的最有用的“神怪戒指”,它很像特殊的异界之门,可以从风元素界召来特定的风巨灵。佩带者摩擦戒指即可呼唤风巨灵(这是一个标准动作),风巨灵将在下一轮出现。呼唤出来的风巨灵会成为佩带者的忠实仆役,但是每天只能存留一小时。如果属于此戒指的风巨灵死亡,则戒指就失去魔力。

CL:17。先决条件:锻造戒指,“异界之门”。价格 125,000 gp。
!!! 闪避(DODGE)[一般专长]

''先决条件:''敏捷13。

''效果:''在你动作中你可以指定一名对手,该对手对你攻击时,你的防御等级有+1的闪避加值。你可以在其他动作时改换新的目标。

若你失去防御等级的敏捷加值,也会同时失去闪避加值。与大多数类型加值不同,各项闪避加值可以累加。

''特殊:''战士可以选择本专长作为其战士奖励专长。


!!Dog, Riding(骑乘用犬 )

''中型动物''

|''生命骰:'' 2d8+4 (13 hp)|
|''先攻权:'' +2|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 16 (+2敏捷,+4天生),接触12,措手不及14|
|''基本攻击/擒抱:'' +1/ +3|
|''攻击:'' 啮咬 +3 近战 (1d6+3)|
|''全回合攻击:'' 啮咬 +3 近战 (1d6+3)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+5,反射+5,意志+1|
|''属性:'' 力量15,敏捷15,体质15,智力2,感知12,魅力6|
|''技能:'' 跳跃+8,聆听+5,侦察+5,游泳+3,生存+1|
|''专长:'' 警觉,追踪|
|''环境:'' 温带平原|
|''组织:'' 单独或成群 (5-12)|
|''挑战等级:'' 1|
|''进化:'' -|
|''等级调整:'' -|

此种类包括诸如牧羊犬、爱斯基摩犬及圣伯纳之类的役用犬类。

''负重能力:''对骑乘用犬而言100磅为轻载;101-200磅为中载;201-300磅为重载。骑乘用犬可以拖动1500磅重的东西。

!!!战斗
如果被训练为作战的话,这些动物可如狼一样进行绊摔攻击。骑乘用犬载着骑手时依然可以战斗,但骑手除非通过骑术检定否则将不能同时战斗。

''技能:''骑乘用犬在进行跳跃检定时可获得+4的种族加值。

*依靠嗅觉追踪进行生存检定时骑乘用犬可获得+4的种族加值。
!!Dog(犬 )

''小型动物''

|''生命骰:'' 1d8+2 (6 hp)|
|''先攻权:'' +3|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 15 (+1体型,+3敏捷,+1天生),接触14,措手不及12|
|''基本攻击/擒抱:'' +0/ -3|
|''攻击:'' 啮咬 +2 近战 (1d4+1)|
|''全回合攻击:'' 啮咬 +2 近战 (1d4+1)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+4,反射+5,意志+1|
|''属性:'' 力量13,敏捷17,体质15,智力2,感知12,魅力6|
|''技能:'' 跳跃+7,聆听+5,侦察+5,生存+1*|
|''专长:'' 警觉,追踪|
|''环境:'' 温带平原|
|''组织:'' 单独或成群 (5-12)|
|''挑战等级:'' 1/ 3|
|''进化:'' -|
|''等级调整:'' -|

这里列出的数据以体重20到50磅的小型犬为基准。这些数据可以用在诸如郊狼、豺及非洲野狗之类的小型野生犬科动物上。

!!!战斗
犬通常成群地进行狩猎,追逐猎物使其疲劳直到能击倒它们。

''技能:''在进行跳跃检定时犬可获得+4的种族加值。*依靠嗅觉追踪进行生存检定时犬可获得+4的种族加值。
!!!支配动物(Dominate Animal)
|惑控系(胁迫) [影响心灵]|
|''等级:''动物 3,德鲁伊 3|
|''法术成分:''言语,姿势|
|''施法时间:'' 1轮|
|''距离:''近距(25英尺+5英尺/2等级)|
|''目标:''一个动物|
|''持续时间:''1 轮/等级|
|''豁免检定:''意志,通过则无效|
|''法术抗力:''可|
|你可以迷住一只动物,并对它下达简单指令如“攻击”,“跑”,“取来”。自杀或自残的指令(包括攻击体型比被支配动物大两级或更多的生物)会被忽视。|
|支配动物会在你和受术生物之间建立心灵连接。只要动物待在法术有效距离内就可以接受无声的心灵指引。控制它时,你不需要看见它。你无法直接得知它的感官知觉,但可以知道它的感受。由于它受你自己的智能指引,因此它可以做一些超出它正常理解范围的事情。你不需要维持专注来控制它,除非你要它做一些它平常不会做的事。改变指令或发出新的命令相当于指引一个法术,因此是个移动动作。|
!!!支配怪物(Dominate Monster)
|惑控系(胁迫) [影响心灵]|
|''等级:''术士/法师 9|
|''目标:''一个生物|
|此法术作用类似支配人类,不过此法术不受生物类型限制|
!!!支配人类(Dominate Person)
|惑控系(胁迫) [影响心灵]|
|''等级:''吟游诗人 4,术士/法师 5|
|''法术成分:''言语,姿势|
|''施法时间:'' 1轮|
|''距离:''近距(25英尺+5英尺/2等级)|
|''目标:''一个类人生物|
|''持续时间:'' 1天/等级|
|''豁免检定:''意志,通过则无效|
|''法术抗力:''可|
|你可以通过你和目标心智之间的心灵连接来控制任何类人生物的行动。如果你和目标有共通语言,你可以强迫目标在能力范围内依你的想法行动。若没有共通语言,你只能用基本命令,如“过来”,“过去”,“战斗”,“站住”。你知道受术者的感受,但不会直接得知他的感官知觉,他也无法与你以心灵感应交流。|
|一旦你给被支配生物下了指令,他就会全力以赴去完成命令,除了日常生存必需活动(如吃饭、睡觉等)外不会分心做其它事。由于有这种活动限制,因此只需通过DC15的察言观色检定(而非25)就可看出此生物的行动是被惑控系法术所控制的(见察言观色的技能说明)|
|对被支配的生物改变指示或下达新的命令相当于指引法术,因此是一个移动动作。|
|通过专注于法术(标准动作)你可以完全感受到该生物的感官知觉,但它依旧不能与你交流,你也不可通过它的眼睛视物,所以这不如你实地观察,但你仍然可以对当地发生的一切相当了解。|
|当受术者意图抗拒控制,或强迫对方进行违背天性的行为时,受术者必须重新进行豁免检定并且有+2加值。明显的自杀命令不会被执行。一旦控制建立起来,只要你和受术者在同一位面,其有效距离就没有限制。你不需要看着受术者来控制他。|
|你每天都要花一轮时间来专注这个法术,否则受术者就可以通过豁免检定来摆脱控制。|
|当受术者被防护邪恶(Protection from evil)之类的法术保护时,可阻止你对其下令或使用心灵连接,但是不能阻止或解除已建立的支配关系。|
!!Donkey(驴 )

''中型动物''

|''生命骰:'' 2d8+2 (11 hp)|
|''先攻权:'' +1|
|''速度:'' 30尺 (6格)|
|''防御等级:'' 13 (+1敏捷,+2天生),接触11,措手不及12|
|''基本攻击/擒抱:'' +1/ +1|
|''攻击:'' 啮咬 +1 近战 (1d12)|
|''全回合攻击:'' 啮咬 +1 近战 (1d12)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+4,反射+4,意志+0|
|''属性:'' 力量10,敏捷13,体质12,智力2,感知11,魅力4|
|''技能:'' 平衡+3,聆听+3,侦察+2|
|''专长:'' 坚忍|
|''环境:'' 温带沙漠|
|''组织:'' 单独|
|''挑战等级:'' 1/ 6|
|''进化:'' -|
|''等级调整:'' -|

这些长耳朵的像马一样的生物十分稳当而健壮。这里列出的数据一样适用于驼驴。

''负重能力:''对驴而言50磅为轻载;51-100磅为中载;101-150磅为重载。驴可以拖动750磅重的东西。

!!!战斗
驴只有在无路可逃的时候才会使用其啮咬攻击。

''技能:''在进行平衡检定时驴可获得+2的种族加值。
!!!丧志术(Doom)
|死灵系 [恐惧,影响心灵]|
|''等级:''牧师 1|
|''法术成分:''言语,姿势,法器|
|''施法时间:'' 一个标准动作|
|''距离:''中距(100英尺+10英尺/等级)|
|''目标:''一个活物|
|''持续时间:''1 分钟/等级|
|''豁免检定:''意志,通过则无效|
|''法术抗力:''可|
|此法术使一个受术者满怀绝望与恐惧,从而进入[[战栗(shaken)|Shaken(战栗)]]状态。|
!!Doppelganger(变形怪)

''中型人形怪(变形)''

|''生命骰:'' 4d8+4 (22 hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格)|
|''防御等级:'' 15 (+1 敏捷, +4 天生), 接触 11, 措手不及14|
|''基本攻击/擒抱:'' +4/+5|
|''攻击:'' 挥击+5(1d6+1)|
|''全回合攻击:'' 挥击+5(1d6+1)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 侦测思想|
|''特性:'' 变身,免疫睡眠和魅惑效果|
|''豁免:'' 强韧+4,反射+5,意志+6|
|''属性:'' 力量12,敏捷13,体质12,智力13,感知14,魅力13|
|''技能:'' 哄骗+10*, 交涉+3, 易容+9* (+11对表演), 恐吓+3, 聆听+6, 察言观色+6, 侦查+6|
|''专长:'' 闪避,加强坚韧|
|''环境:'' 任意|
|''组织:'' 单独,成双或成群(2-4)|
|''挑战等级:'' 3|
|''宝物:'' 双倍标准|
|''阵营:'' 通常是混中立|
|''进化:'' 视人物等级而定|
|''等级调整:'' +4|


变形怪是一种奇怪的生物,可以任意它们变成所见过的生物。以真实面目出现时,它们看起来多少有点像人类,但更纤细柔弱,有着细长的肢体和毫无特征的脸孔。皮肤苍白没有毛发。肿胀的黄色大眼睛里有个长条形的瞳孔。就算处于本来面目变形怪依然试图欺骗对方。变形怪的样子虽然看起来虚弱不堪但却有和这种外表不相称的力量。

变形怪很擅长利用它们天生的模仿能力组织伏击,设置陷阱,或对人形生物社会展开渗透。尽管通常天性并不邪恶,但它们通常只管自己并把其它生物当成欺骗和愚弄的对象。

变形怪的本来面目大约有5又1/2英尺高重约150磅。

!!! 战斗
以本来面目出现的变形怪通常使用强力而有力的拳头做战。当变成战士或其它武装人员,它会使用任何合适其身份的武器战斗。这种情况下,他会使用侦测思想能力,采取和他模仿的人物相同的战术和战略。

''侦测思想(超自然):''变形怪可以持续将侦测思想作为法术使用(施法者等级18,意志鉴定DC13)。它能以即时动作开启或隐藏此能力。此项豁免DC基于魅力。

''变化形体(超自然):''变形怪可以变成任意小型或中型人形生物。变成人形后,变形怪将失去天生攻击。变形怪可以持续保持此人形直到变成一个新形态。此项变形不能被驱散,但如果变形怪被杀则自然恢复原始形态。真视术或类似能力能揭穿它们的本来面目。

''技能:''变形怪在进行哄骗和易容检定时获得+4种族加值。

*使用变化形体能力后,变形怪在易容上获得+10环境加值。如果成功读取对方的思想,则在哄骗和易容上再获得+4环境加值。

!!! 变形怪作为人物

变形怪人物拥有以下种族特征

*+2力量,+2敏捷,+2体质,+2智力,+4感知,+2魅力
*中型体型
*变形怪基本速度为30尺
*黑暗视觉:变形怪能在黑暗中看到60尺远。
*种族生命骰:变形怪拥有4个级类怪物等级,这使它拥有4d8生命骰,+4基本攻击加值,以及强韧+1,反射+4和意志+1的基本豁免加值。
*种族技能:变形怪的类人生物等级将使它拥有7x(2+智力调整值)的技能点数。它的本职技能为哄骗, 交涉, 易容, 恐吓, 聆听,潜行和侦查
*种族专长:变形怪的类人生物等级将给与它2个专长
*+4天生防御等级
*哄骗和易容技能检定获得+4 种族加值。使用变化形体能力后,变形怪在易容上获得+10环境加值。如果成功读取对方的思想,则在哄骗和易容上再获得+4环境加值。
*特殊攻击(见上):侦测思想。
*特殊能力(见上):变化形体,免疫睡眠和魅惑效果。
*天生使用语言:通用语。额外语言:气族语,矮人语,精灵语,侏儒语,半身人语,巨人语,土族语。
*天赋职业:游荡者。
*等级调整+4

一般来说,魔法防具能给穿戴者提供比普通防具更好的防护效果。魔法防具的加值属于增强加值,永远不会超过+5,并能与常规盔甲加值累计(还能再与常规盾牌加值和魔法盾牌增加加值累计)。所有的魔法防具都是精制品防具,防具检定减值比一般防具少1。

除了增强加值,防具可能还具有特殊能力。计算交易价格时,特殊能力通常按额外的增强加值计算,但不会提高防具的AC。一件防具的有效加值(增强加值加上等价后的特殊能力)不能超过+10。防具必须至少有+1的增强加值才能具有特殊能力 。

一套盔甲或一面盾牌可能是由特殊材料制成。掷百分骰:01-95表明物品是标准材料制成,96-100表明是由特殊材料制成。

一套盔甲附带一双靴子和一副手套,但也可用更好的魔法靴子和手套替换。

 

''表:盔甲和盾牌''

|!	次级	 |!	中级	 |!	高级	 |!	物品	 |!	基础价格	 |
|^	01–60	 |^	01–05	 |^	—	 |^	+1盾牌	 |^	1,000金币	 |
|^	61–80	 |^	06–10	 |^	-	 |^	+1盔甲	 |^	1,000金币	 |
|^	81–85	 |^	11–20	 |^	—	 |^	+2盾牌	 |^	4,000金币	 |
|^	86–87	 |^	21–30	 |^	—	 |^	+2盔甲	 |^	4,000金币	 |
|^	—	 |^	31–40	 |^	01–08	 |^	+3盾牌	 |^	9,000金币	 |
|^	—	 |^	41–50	 |^	09–16	 |^	+3盔甲	 |^	9,000金币	 |
|^	—	 |^	51–55	 |^	17–27	 |^	+4盾牌	 |^	16,000金币	 |
|^	—	 |^	56–57	 |^	28–38	 |^	+4盔甲	 |^	16,000金币	 |
|^	—	 |^	—	 |^	39–49	 |^	+5盾牌	 |^	25,000金币	 |
|^	—	 |^	—	 |^	50–57	 |^	+5盔甲	 |^	25,000金币	 |
|^	—	 |^	—	 |^	—	 |^	+6盔甲/盾牌^^1^^	 |^	36,000金币	 |
|^	—	 |^	—	 |^	—	 |^	+7盔甲/盾牌^^1^^	 |^	49,000金币	 |
|^	—	 |^	—	 |^	—	 |^	+8盔甲/盾牌^^1^^	 |^	64,000金币	 |
|^	—	 |^	—	 |^	—	 |^	+9盔甲/盾牌^^1^^	 |^	81,000金币	 |
|^	—	 |^	—	 |^	—	 |^	+10盔甲/盾牌^^1^^	 |^	100,000金币	 |
|^	88–89	 |^	58–60	 |^	58–60	 |^	特殊盔甲^^2^^	 |^	—	 |
|^	90–91	 |^	61–63	 |^	61–63	 |^	特殊盾牌^^3^^	 |^	—	 |
|^	92–100	 |^	64–100	 |^	64–100	 |^	特殊能力,且重掷一次^^4^^	 |^	—	 |

|1//盔甲和盾牌实际上不可能有这么高的增强加值,具有特殊能力的物品才需要参考此值。//|
|2//参照表:特殊盔甲//|
|3//参照表:特殊盾牌//|
|4//参照表:盔甲特殊能力或表:盾牌特殊能力//|


''表:随机盔甲类别''

|!	d%	 |!	盔甲	 |!	盔甲价格^^1^^	 |
|^	1	 |^	厚布甲	 |^	+155金币	 |
|^	2	 |^	皮甲	 |^	+160金币	 |
|^	03–17	 |^	镶嵌皮甲	 |^	+175金币	 |
|^	18–32	 |^	链甲衫	 |^	+250金币	 |
|^	33–42	 |^	革甲	 |^	+165金币	 |
|^	43	 |^	鳞甲	 |^	+200金币	 |
|^	44	 |^	链甲	 |^	+300金币	 |
|^	45–57	 |^	胸甲	 |^	+350金币	 |
|^	58	 |^	板条甲	 |^	+350金币	 |
|^	59	 |^	混织铁甲	 |^	+400金币	 |
|^	60	 |^	半身铠甲	 |^	+750金币	 |
|^	61–100	 |^	全身铠甲	 |^	+1,650金币	 |

|1//与表:盔甲和盾牌的结果相加以决定交易价格//|

所有的魔法盔甲都是精致品盔甲(防具检定减值比一般盔甲少1)



表:随机盾牌类别

|!	d%	 |!	盾牌	 |!	盾牌价格1	 |
|^	01–10	 |^	小圆盾	 |^	+165金币	 |
|^	11–15	 |^	轻木盾	 |^	+153金币	 |
|^	16–20	 |^	轻钢盾	 |^	+159金币	 |
|^	21–30	 |^	重木盾	 |^	+157金币	 |
|^	31–95	 |^	重钢盾	 |^	+170金币	 |
|^	96–100	 |^	塔盾	 |^	+180金币	 |

|1//与表:盔甲和盾牌相加以决定交易价格//|

所有的魔法盾牌都是精致品盾牌(防具检定减值比一般盾牌少1)

 

盔甲和盾牌制造者的施法者等级:有特殊能力的魔法盔甲和盾牌制造者的施法者等级包含在物品说明中。对于只有增强加值的防具来说,制造者施法等级必须至少是增强加值的3倍。如果物品即有增强加值又有特殊能力,则必须符合较高的施法者等级要求。

''盾牌:''盾牌增强加值能与盔甲增强加值累计。使用盾牌攻击时,盾牌增强加值不会带来攻击检定和伤害掷骰的增加。不过,具有猛击特殊能力的盾牌会获得+1的攻击检定和伤害掷骰加值(见该特殊能力的说明)。

你可以制作一面能像魔法武器一样攻击的盾牌。用于提高攻击检定的增强加值,其花费须加在盾牌的AC增强加值的花费上。

与盔甲一样,计算盾牌的交易价格时,须把特殊能力等价为增强加值,再与原来的增强加值累计——尽管特殊能力不能提高AC。一面盾牌的有效加值(增强加值加上等价后的特殊能力)不能超过+10。盾牌必须至少有+1增强加值才能具有特殊能力。

''盾牌硬度与生命值:''每+1增强加值,盾牌获得额外2硬度和10生命值。

''启动:''通常,人物获益于魔法盔甲或盾牌的方式和从非魔法盔甲或盾牌中获益的方式相同——穿上它。如果盔甲或盾牌有特殊能力,使用者通常需要说出启动指令(一个标准动作)才能启动该特殊能力。

''特殊生物的防具:''非类人生物,以及非小体型或中体形生物的防具,其价格中的精致品和魔法增强加值的部分与上面所列一致。

 

!!!!魔法盔甲和盾牌的特殊能力说明

大部分魔法盔甲和盾牌只有增强加值,有些却还具有一个或更多的特殊能力。防具必须至少有+增强加值才能具有特殊能力。

 

''表:盔甲特殊能力''

|!	次级	 |!	中级	 |!	高级	 |!	特殊能力	 |!	基础价格调整值	 |
|^	01–25	 |^	01–05	 |^	01–03	 |^	[[无相|Glamered(无相)]]	 |^	+2,700金币	 |
|^	26–32	 |^	06–08	 |^	04	 |^	[[次级护命|Fortification(护命)]]	 |^	+1加值^^1^^	 |
|^	33–52	 |^	09–11	 |^	—	 |^	[[滑溜|Slick(滑溜)]]	 |^	+3,750金币	 |
|^	53–72	 |^	12–14	 |^	—	 |^	[[暗影|Shadow(暗影)]]	 |^	+3,750金币	 |
|^	73–92	 |^	15–17	 |^	—	 |^	[[蹑行|Silent Moves(蹑行)]]	 |^	+3,750金币	 |
|^	93–96	 |^	18–19	 |^	—	 |^	[[抗法(13)|Spell Resistance(抗法)]]	 |^	+2加值^^1^^	 |
|^	97	 |^	20–29	 |^	05–07	 |^	[[强化滑溜|Slick, Improved(强化滑溜)]]	 |^	+15,000金币	 |
|^	98	 |^	30–39	 |^	08–10	 |^	[[强化暗影|Shadow, Improved(强化暗影)]]	 |^	+15,000金币	 |
|^	99	 |^	40–49	 |^	11–13	 |^	[[强化蹑行|Silent Moves, Improved(强化蹑行)]]	 |^	+15,000金币	 |
|^	—	 |^	50–54	 |^	14–16	 |^	[[抗酸|Acid Resistance(抗酸)]]	 |^	+18,000金币	 |
|^	—	 |^	55–59	 |^	17–19	 |^	[[抗寒|Cold Resistance(抗寒)]]	 |^	+18,000金币	 |
|^	—	 |^	60–64	 |^	20–22	 |^	[[抗电|Electricity Resistance(抗电)]]	 |^	+18,000金币	 |
|^	—	 |^	65–69	 |^	23–25	 |^	[[抗火|Fire Resistance(抗火)]]	 |^	+18,000金币	 |
|^	—	 |^	70–74	 |^	26–28	 |^	[[抗音|Sonic Resistance(抗音)]]	 |^	+18,000金币	 |
|^	—	 |^	75–79	 |^	29–33	 |^	[[幽冥|Ghost Touch(幽冥) 防具]]	 |^	+3加值^^1^^	 |
|^	—	 |^	80–84	 |^	34–35	 |^	[[坚韧|Invulnerability(坚韧)]]	 |^	+3加值^^1^^	 |
|^	—	 |^	85–89	 |^	36–40	 |^	[[中级护命|Fortification(护命)]]	 |^	+3加值^^1^^	 |
|^	—	 |^	90–94	 |^	41–42	 |^	[[抗法(15)|Spell Resistance(抗法)]]	 |^	+3加值^^1^^	 |
|^	—	 |^	95–99	 |^	43	 |^	[[野性|Wild(野性)]]	 |^	+3加值^^1^^	 |
|^	—	 |^	—	 |^	44–48	 |^	[[高等滑溜|Slick, Greater(高等滑溜)]]	 |^	+33,750金币	 |
|^	—	 |^	—	 |^	49–53	 |^	[[高等暗影|Shadow, Greater(高等暗影)]]	 |^	+33,750金币	 |
|^	—	 |^	—	 |^	54–58	 |^	[[高等蹑行|Silent Moves, Greater(高等蹑行)]]	 |^	+33,750金币	 |
|^	—	 |^	—	 |^	59–63	 |^	[[强化抗酸|Acid Resistance, Improved(强化抗酸)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	64–68	 |^	[[强化抗寒|Cold Resistance, Improved(强化抗寒)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	69–73	 |^	[[强化抗电|Electricity Resistance, Improved(强化抗电)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	74–78	 |^	[[强化抗火|Fire Resistance, Improved(强化抗火)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	79–83	 |^	[[强化抗音|Sonic Resistance, Improved(强化抗音)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	84–88	 |^	[[抗法(17)|Spell Resistance(抗法)]]	 |^	+4加值	 |
|^	—	 |^	—	 |^	89	 |^	[[灵化|Etherealness(灵化)]]	 |^	+49,000金币	 |
|^	—	 |^	—	 |^	90	 |^	[[操灵|Undead Controlling(操灵)]]	 |^	+49,000金币	 |
|^	—	 |^	—	 |^	91–92	 |^	[[高级护命|Fortification(护命)]]	 |^	+5加值^^1^^	 |
|^	—	 |^	—	 |^	93–94	 |^	[[抗法(19)|Spell Resistance(抗法)]]	 |^	+5加值^^1^^	 |
|^	—	 |^	—	 |^	95	 |^	[[高等抗酸|Acid Resistance, Greater(高等抗酸)]]	 |^	+66,000金币	 |
|^	—	 |^	—	 |^	96	 |^	[[高等抗寒|Cold Resistance, Greater(高等抗寒)]]	 |^	+66,000金币	 |
|^	—	 |^	—	 |^	97	 |^	[[高等抗电|Electricity Resistance, Greater(高等抗电)]]	 |^	+66,000金币	 |
|^	—	 |^	—	 |^	98	 |^	[[高等抗火|Fire Resistance, Greater(高等抗火)]]	 |^	+66,000金币	 |
|^	—	 |^	—	 |^	99	 |^	[[高等抗音|Sonic Resistance, Greater(高等抗音)]]	 |^	+66,000金币	 |
|^	100	 |^	100	 |^	100	 |^	重新掷骰两次^^2^^	 |^	—	 |



|1//与表:盔甲和盾牌的增强加值相加以决定总交易价格。//|
|2//如果重新掷骰两次得到的特殊能力相同,就只能得到该种特殊能力;若掷不到同等级的同一种特殊能力,则只能得到等级较高者。//|


''表:盾牌特殊能力''

|!	次级	 |!	中级	 |!	高级	 |!	特殊能力	 |!	基础价格调整值	 |
|^	01–20	 |^	01–10	 |^	01–05	 |^	[[吸矢|Arrow Catching(吸矢)]]	 |^	+1加值^^1^^	 |
|^	21–40	 |^	11–20	 |^	06–08	 |^	[[猛击|Bashing(猛击)]]	 |^	+1加值^^1^^	 |
|^	41–50	 |^	21–25	 |^	09–10	 |^	[[目盲|Blinding(目盲)]]	 |^	+1加值^^1^^	 |
|^	51–75	 |^	26–40	 |^	11–15	 |^	[[次级护命|Fortification(护命)]]	 |^	+1加值^^1^^	 |
|^	76–92	 |^	41–50	 |^	16–20	 |^	[[辟矢|Arrow Deflection(辟矢)]]	 |^	+2加值^^1^^	 |
|^	93–97	 |^	51–57	 |^	21–25	 |^	[[活化|Animated(活化)]]	 |^	+2加值^^1^^	 |
|^	98–99	 |^	58–59	 |^	—	 |^	[[抗法(13)|Spell Resistance(抗法)]]	 |^	+2加值^^1^^	 |
|^	—	 |^	60–63	 |^	26–28	 |^	[[抗酸|Acid Resistance(抗酸)]]	 |^	+18,000金币	 |
|^	—	 |^	64–67	 |^	29–31	 |^	[[抗寒|Cold Resistance(抗寒)]]	 |^	+18,000金币	 |
|^	—	 |^	68–71	 |^	32–34	 |^	[[抗电|Electricity Resistance(抗电)]]	 |^	+18,000金币	 |
|^	—	 |^	72–75	 |^	35–37	 |^	[[抗火|Fire Resistance(抗火)]]	 |^	+18,000金币	 |
|^	—	 |^	76–79	 |^	38–40	 |^	[[抗音|Sonic Resistance(抗音)]]	 |^	+18,000金币	 |
|^	—	 |^	80–85	 |^	41–46	 |^	[[幽冥|Ghost Touch(幽冥) 防具]]	 |^	+3加值^^1^^	 |
|^	—	 |^	86–95	 |^	47–56	 |^	[[中级护命|Fortification(护命)]]	 |^	+3加值^^1^^	 |
|^	—	 |^	96–98	 |^	57–58	 |^	[[抗法(15)|Spell Resistance(抗法)]]	 |^	+3加值^^1^^	 |
|^	—	 |^	99	 |^	59	 |^	[[野性|Wild(野性)]]	 |^	+3加值^^1^^	 |
|^	—	 |^	—	 |^	60–64	 |^	[[强化抗酸|Acid Resistance, Improved(强化抗酸)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	65–69	 |^	[[强化抗寒|Cold Resistance, Improved(强化抗寒)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	70–74	 |^	[[强化抗电|Electricity Resistance, Improved(强化抗电)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	75–79	 |^	[[强化抗火|Fire Resistance, Improved(强化抗火)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	80–84	 |^	[[强化抗音|Sonic Resistance, Improved(强化抗音)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	85–86	 |^	[[抗法(17)|Spell Resistance(抗法)]]	 |^	+4加值^^1^^	 |
|^	—	 |^	—	 |^	87	 |^	[[操灵|Undead Controlling(操灵)]]	 |^	+49,000金币	 |
|^	—	 |^	—	 |^	88–91	 |^	[[高级护命|Fortification(护命)]]	 |^	+5加值^^1^^	 |
|^	—	 |^	—	 |^	92–93	 |^	[[镜映|Reflecting(镜映)]]	 |^	+5加值^^1^^	 |
|^	—	 |^	—	 |^	94	 |^	[[抗法(19)|Spell Resistance(抗法)]]	 |^	+5加值^^1^^	 |
|^	—	 |^	—	 |^	95	 |^	[[高等抗酸|Acid Resistance, Greater(高等抗酸)]]	 |^	+66,000金币	 |
|^	—	 |^	—	 |^	96	 |^	[[高等抗寒|Cold Resistance, Greater(高等抗寒)]]		 |^	+66,000金币	 |
|^	—	 |^	—	 |^	97	 |^	[[高等抗电|Electricity Resistance, Greater(高等抗电)]]	 |^	+66,000金币	 |
|^	—	 |^	—	 |^	98	 |^	[[高等抗火|Fire Resistance, Greater(高等抗火)]]	 |^	+66,000金币	 |
|^	—	 |^	—	 |^	99	 |^	[[高等抗音|Sonic Resistance, Greater(高等抗音)]]	 |^	+66,000金币	 |
|^	100	 |^	100	 |^	100	 |^	重新掷骰两次^^2^^	 |^	—	 |

 


|1//与表:盔甲和盾牌的增强加值相加以决定总交易价格。//|
|2//如果重新掷骰两次得到的特殊能力相同,就只能得到该种能力。若掷不到同等级的同一种能力,则只得到等级较高者。//|



 <<list-links "[tag[魔法物品]]+[tag[盔甲]][tag[盾牌]]-[tag[特殊盾牌]]-[tag[特殊盔甲]]+[tag[核心]]+[sort[title]]>>
































''表:特殊盔甲''

|!	次级	 |!	中级	 |!	高级	 |!	特殊盔甲	 |!	交易价格	 |
|^	01–50	 |^	01–25	 |^	—	 |^	[[秘银衫|Mithral Shirt(秘银衫)]]	 |^	1,100金币	 |
|^	51–80	 |^	26–45	 |^	—	 |^	[[龙皮甲|Dragonhide Plate(龙皮甲)]]	 |^	3,300金币	 |
|^	81–100	 |^	46–57	 |^	—	 |^	[[精灵链甲|Elven Chain(精灵链甲)]]	 |^	4,150金币	 |
|^	—	 |^	58–67	 |^	—	 |^	[[犀牛革甲|Rhino Hide(犀牛革甲)]]	 |^	5,165金币	 |
|^	—	 |^	68–82	 |^	01–10	 |^	[[精金胸甲|Adamantine Breastplate(精金胸甲)]]	 |^	10,200金币	 |
|^	—	 |^	83–97	 |^	11–20	 |^	[[矮人铠甲|Dwarven Plate(矮人铠甲)]]	 |^	16,500金币	 |
|^	—	 |^	98–100	 |^	21–32	 |^	[[机运混织甲|Banded Mail of Luck(机运混织甲)]]	 |^	18,900金币	 |
|^	—	 |^	—	 |^	33–50	 |^	[[天翔甲|Celestial Armor(天翔甲)]]	 |^	22,400金币	 |
|^	—	 |^	—	 |^	51–60	 |^	[[伏波铠甲|Plate Armor of the Deep(伏波铠甲)]]	 |^	24,650金币	 |
|^	—	 |^	—	 |^	61–75	 |^	[[号令胸甲|Breastplate of Command(号令胸甲)]]	 |^	25,400金币	 |
|^	—	 |^	—	 |^	76–90	 |^	[[秘银全身加速甲|Mithral Full Plate of Speed(秘银加速全身铠甲)]]	 |^	26,500金币	 |
|^	—	 |^	—	 |^	91–100	 |^	[[恶魔甲|Demon Armor(恶魔甲)]]	 |^	52,260金币	 |

 

!!!!特殊盔甲

以下是特殊盔甲的说明。



 <<list-links "[tag[魔法物品]]+[tag[盔甲]]+[tag[特殊盔甲]]+[tag[核心]]+[sort[title]]>>

''表:特殊盾牌''

|!	次级	 |!	中级	 |!	高级	 |!	特殊盾牌	 |!	交易价格	 |
|^	01–30	 |^	01–20	 |^	—	 |^	[[轻黑木盾|Darkwood Buckler(轻黑木盾)]]	 |^	205金币	 |
|^	31–80	 |^	21–45	 |^	—	 |^	[[重黑木盾|Darkwood Shield(重黑木盾)]]	 |^	257金币	 |
|^	81–95	 |^	46–70	 |^	—	 |^	[[重秘银盾|Mithral Heavy Shield(重秘银盾)]]	 |^	1,020金币	 |
|^	96–100	 |^	71–85	 |^	01–20	 |^	[[法咒盾|Caster’s Shield(法咒盾)]]	 |^	3,153金币	 |
|^	—	 |^	86–90	 |^	21–40	 |^	[[棘刺盾|Spined Shield(棘刺盾)]]	 |^	5,580金币	 |
|^	—	 |^	91–95	 |^	41–60	 |^	[[狮头盾|Lion’s Shield(狮头盾)]]	 |^	9,170金币	 |
|^	—	 |^	96–100	 |^	61–90	 |^	[[飞翼盾|Winged Shield(飞翼盾)]]	 |^	17,257金币	 |
|^	—	 |^	—	 |^	91–100	 |^	[[吞噬盾|Absorbing Shield(吞噬盾)]]	 |^	50,170金币	 |


!!!!特殊盾牌

以下是特殊盾牌的说明。


 <<list-links "[tag[魔法物品]]+[tag[盾牌]]+[tag[特殊盾牌]]+[tag[核心]]+[sort[title]]>>
''生命骰:''d12。

!!!!先决条件

要具备龙脉术士的资格,人物必须符合以下全部条件。

''种族:''任意非龙类生物(不能已经是半龙生物)。

''技能:''知识(神秘)8级。

''语言:''龙语。

''施法:''必须能够不经事先准备施展奥术。

''特殊:''在进阶前,角色必须选择一种龙类特征。

!!!!本职技能
龙脉术士的本职技能如下(括号中为该技能的关键属性):专注(体质),手艺(智力),交涉(魅力),脱逃术(敏捷),搜集信息(魅力),知识(所有方面,需逐个选择)(智力),聆听(感知),专业(感知),搜索(智力),语言(智力),辨识法术(智力),和侦察(感知)。

''升级技能点数:''2+智力调整值。

 

''表:龙脉术士''

|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!特殊能力	 |!	额外法术	|
|^	1	|^	+0	|^	+2	|^	+0	|^	+2	|^	天然防护增加(+1)	|^	1	|
|^	2	|^	+1	|^	+3	|^	+0	|^	+3	|^	属性增强(力量+2),利爪及啮咬	|^	1	|
|^	3	|^	+2	|^	+3	|^	+1	|^	+3	|^	喷吐攻击(2d8)	|^	0	|
|^	4	|^	+3	|^	+4	|^	+1	|^	+4	|^	属性增强(力量+2),天然防护等级(+2)	|^	1	|
|^	5	|^	+3	|^	+4	|^	+1	|^	+4	|^	盲感30英尺	|^	1	|
|^	6	|^	+4	|^	+5	|^	+2	|^	+5	|^	属性增强(体质+2)	|^	1	|
|^	7	|^	+5	|^	+5	|^	+2	|^	+5	|^	喷吐攻击(4d8),天然防护等级(+3)	|^	0	|
|^	8	|^	+6	|^	+6	|^	+2	|^	+6	|^	属性增强(智力+2)	|^	1	|
|^	9	|^	+6	|^	+6	|^	+3	|^	+6	|^	龙翼	|^	1	|
|^	10	|^	+7	|^	+7	|^	+3	|^	+7	|^	盲感60英尺,龙化	|^	0	|

 

!!!!职业特性

下述均为龙脉术士进阶职业的职业特性:

''武器和防具擅长:''龙脉术士不获得任何武器或防具的擅长。

''额外法术(Bonus Spells):''龙脉术士升级时,可以按上表获得额外法术。本能力与高属性值带来的额外法术相同,但可以被附加在龙脉术士所能施展的所有等级法术上。

若角色在进阶前拥有多个施法职业,则必须选择要将额外法术附加到哪种职业的法术栏位上。额外法术的等级一旦确定,则无法变更。

''天然防护提升(Natural Armor Increase,特异能力):''当龙脉术士达到1级,4级和7级时,角色的已有天然防护等级(如有)将会得到提升,数值如上表所示(此数字为总的增加值)。随着皮肤的增厚,龙脉术士将呈现出越来越多的龙类祖先的身体特征。

''利爪及啮咬(Claws and Bite,特异能力):''当龙脉术士达到2级时,如果之前没有利爪和啮咬攻击能力,那么他将获得这两项攻击。在下表中的伤害值和龙脉术士的基础利爪和啮咬攻击伤害中取较高的一项。

|!	体形	|!	啮咬伤害	|!	利爪伤害	|
|^	小型	|^	1d4	|^	1d3	|
|^	中型	|^	1d6	|^	1d4	|
|^	大型	|^	1d8	|^	1d6	|


 

龙脉术士视为擅长使用本类武器。当进行全力攻击时,龙脉术士可以使用最高攻击加值进行啮咬攻击,但在使用利爪攻击时则在攻击加值上承受-5的减值。若角色拥有多重攻击(Multiattack)这项专长,则减值降低为-2。

''属性增强(Ability Boost,特异能力):''龙脉术士升级时,可以按照上表增强属性。这些增强可以叠加,就如同升级时获得的增强一样。

''喷吐攻击(Breath Weapon,超自然能力):''当龙脉术士达到3级时,龙族血脉可以使角色获得一种较弱的喷吐攻击,喷吐攻击的类型和形状则取决于龙类祖先的种类(见下表)。但无论龙类祖先的种类,喷吐攻击都可以造成2d8点相应能量类型的伤害。

当龙脉术士达到7级时,喷吐攻击的伤害提升至4d8点,而当龙脉术士达到10级时,喷吐攻击可以发挥出全部威力,造成6d8点伤害。无论威力大小,龙脉术士每日可以使用1次喷吐攻击。除了以下的差别外,喷吐武器的规则和龙类喷吐武器相同。

喷吐武器的豁免DC等于10+职业等级+体质调整值。

线型喷吐攻击5尺高, 5尺宽, 60尺长;锥形喷吐攻击距离30尺。

|!龙族祖先* |!	喷吐武器	 |
|^	黑龙	|^	线型酸液	|
|^	蓝龙	|^	线形闪电	|
|^	绿龙	|^	锥形腐蚀气(酸液)	|
|^	红龙	|^	锥形火焰	|
|^	白龙	|^	锥形寒冷	|
|^	黄铜龙	|^	线形火焰	|
|^	青铜龙	|^	线形闪电	|
|^	红铜龙	|^	线形酸液	|
|^	金龙	|^	锥形火焰	|
|^	银龙	|^	锥形寒冷	|
|*其他类型的龙脉术士同样有可能存在,他们有对应的龙族祖先。|<|
 

 

''盲感(Blindsense,特异能力):''当龙脉术士达到5级时,角色获得30尺盲感能力。通过非视力感官,龙脉术士可以感觉到自己无法看到的目标。角色不需要进行侦察或是聆听检定就可以注意并精确定位到盲感距离内目标的位置,前提是他和目标之间有效果线存在。

角色无法看到的目标仍视为全隐蔽,角色攻击处于隐蔽状态的目标时,仍有失手几率。而且,即使拥有盲感能力,无法视物仍然会影响角色的行动,同时角色被无法看到的生物攻击时,防护等级上仍然会丧失敏捷加值。当龙脉术士达到10级时,该能力范围扩大到60尺。

''龙翼(Wings,特异能力):''当龙脉术士达到9级时,角色的背脊生长出龙翼,获得与陆行速度相同的飞行速度,灵活性为一般。

''龙化(Dragon Apotheosis):''当龙脉术士达到10级时,角色将获得半龙模版。角色的喷吐攻击能够发挥出全部威力(见上文),力量获得+4,魅力获得+2。角色的天然防护等级提升数变为+4,获得微光视觉,60尺黑暗视觉,对睡眠(sleep)和麻痹效果免疫,并且对角色自身喷吐攻击的能量类型免疫(见上表)。

!!Dragon Turtle(龙龟)

''超大型龙类(水生)''

|''生命骰:'' 12d12+60 (138hp)|
|''先攻权:'' +0|
|''速度:'' 20尺(4格),游泳30尺|
|''防御等级:'' 25(-1体型,+17天生), 接触 8, 措手不及25|
|''基本攻击/擒抱:'' +12/+28|
|''攻击:'' 啮咬+18近战(4d6+8)|
|''全回合攻击:'' 啮咬+18近战(4d6+8)和2爪抓+13近战(2d8+4)|
|''面宽/触及:'' 15尺/10尺|
|''特殊攻击:'' 喷吐攻击, 倾覆|
|''特性:'' 黑暗视觉60尺,免疫火焰,睡眠和麻痹,低光视觉,嗅觉灵敏|
|''豁免:'' 强韧+13,反射+8,意志+9|
|''属性:'' 力量27,敏捷10,体质21,智力12,感知13,魅力12|
|''技能:'' 交涉+3, 躲藏+7*,恐吓+16,聆听+16,搜索+16,潜行+16,侦查+16,生存+16(+18对追踪),游泳+21|
|''专长:'' 盲斗,顺势斩,精通冲撞,猛力攻击,攫取|
|''环境:'' 温暖的水域|
|''组织:'' 单独|
|''挑战等级:'' 9|
|''宝物:'' 三倍标准|
|''阵营:'' 通常是中立|
|''进化:'' 13-24HD(超大型);25-36HD(巨型)|
|''等级调整:'' —|


龙龟粗燥的深绿色甲壳与它们最喜爱的深水颜色相同,而上面亮银色的条纹,就如同在开阔水域的跳跃的光线。它们的脚,尾巴和头是亮绿色,还夹杂了亮金色斑点。成年龙龟从头到尾20-30尺长,有一个15-25尺直径的甲壳,重约8000到32000磅。

龙龟说气族语,龙语和通用语。

!! 战斗

龙龟是个凶猛的战士,它们会攻击任何胆敢侵犯或者威胁它们领地,或者看起来像是下一餐的家伙。

''喷吐攻击(超自然):''每1d4轮喷吐一团20尺高,25尺宽,50尺长的灼热蒸汽,造成12d6伤害,反射检定DC21伤害减半。在水面和水底都可产生作用。此豁免DC基于体质。

''倾覆(特异):''潜在水中的龙龟,如果在一艘20尺长的船下浮起,将有95%的机率使它倾覆。如果船厂为20-60尺长则有50%的机率使它倾覆,如果船长超过60尺则只有20%的机会使它倾覆。 

''技能:''龙龟在进行水中特技动作和躲避危险时游泳检定获得+8种族加值。

它能够在游泳中使用奔跑动作,但只能直线前进。

*龙龟在水中进行躲藏检定时获得+8种族加值。
''龙类(Dragon):''龙是一种类爬虫生物,他们通常有翅膀、具有魔法和非凡的能力。

//特征://龙具有下列特征。

*d12生命骰。

*基本攻击奖励等于生命骰数总和(类似于战士)。

*擅长的豁免检定:强韧、反射和意志。

*技能点数等于每个生命骰(6+智力调整值,最少为1),第一个生命骰的技能点数为它的四倍。

//特性://龙拥有下列特性(除非生物描述中另有说明)。

*60尺黑暗视觉和低光视觉。

*对魔法睡眠和麻痹免疫。

*仅熟练使用它自己的天生武器,除非正处于类人形态(或可以拥有类人形态),那样它可以熟练使用所有简单武器和它的说明中所提到的任意武器。

*不熟练使用任何盔甲。

*龙需要进食、睡眠和呼吸。


真龙(而非其他属于龙类的生物)的已知种类可粗分为两个类别:五色龙及金属龙。五色龙包括黑龙、蓝龙、绿龙、红龙及白龙,它们全都非常邪恶且极为凶狠。金属龙则有黄铜龙、青铜龙、赤铜龙、金龙及银龙,它们都属于善良阵营,而且通常都很高贵,受到智者的高度尊崇。

所有龙都会随着年龄增长而获得更多的能力与更强的力量(其他属于龙类的生物并不会如此)。龙刚孵化时身长只有数英尺,而当它们成长到太古龙时可超过100英尺长。不同种类的龙体型准确的大小会根据年龄和种类有所不同。

一条龙的消化系统就像一个极高效的熔炉,甚至连无机物也能消化。有些龙还对无机物有特殊的口味。

虽然龙的目标及想法会因种类而有极大差异,但它们都十分贪婪。它们喜欢收藏财宝,收集成堆的钱币,并尽可能收集宝石、珠宝及魔法物品。那些拥有大批收藏品的龙不愿意离开这些宝藏太长时间,只有在巡视附近区域或找寻食物时才会离开巢穴。对于龙来说,财宝永远都不会足够。这些宝藏是如此赏心悦目,龙喜欢沉浸在宝藏的光辉之中。龙喜好用它们的宝藏作床铺,在上面弄出一个适合自己体型的隐蔽处。当龙成长到太古龙阶段时,它的皮肤上将会因此镶嵌上数百枚宝石。

所有龙都使用龙语。

!!!战斗

龙使用强有力的爪子及利齿来攻击对手,它们也会使用喷吐攻击或特殊的物理攻击,其类别视其体型而定。龙喜欢在空中进行战斗,在使用远距离攻击消耗对手之前并不会过分接近。更加年长、聪慧的龙善于估计对手的实力,然后优先解决最危险的敌人(或者在消灭弱势敌人时规避开危险的对手)。

下面的表格给出了龙在不同体型时的占据和触及,以及特定体型龙可使用的天然武器和所造成的伤害。

''啮咬:''啮咬攻击将造成表中的伤害附加上龙的力量修正值。如果拥有攫取专长,龙可以使用它的啮咬攻击攫取对手。

''爪抓:''爪抓攻击将造成表中的伤害附加上1/2龙的力量修正值(向下取整)。如果拥有攫取专长,龙可以使用它的爪抓攻击攫取对手。爪抓攻击是次要攻击,在攻击投骰上获得-5惩罚(很多龙选取多重攻击专长令这个惩罚降低到-2)。

''翼击:''即使在飞行中,龙也可以使用翅膀打击对手。翼击攻击造成表中的伤害附加上1/2龙的力量修正值(向下取整),并且被视为次要武器。

''尾击:''龙每轮可以用它的尾巴拍击一名敌人。一次尾击攻击造成表中的伤害附加上1又1/2龙的力量修正值(向下取整),并且被视为次要武器。

''碾压(Ex):''这个特殊攻击允许最小达到超大型的龙在飞行或者跳跃以一个标准动作降落到敌人头上,用全部身体碾压它们。碾压攻击只能对比龙小三个体型或以上的敌人使用(尽管龙可以尝试对更大的敌人使用正常的穿越或擒抱)。

一次碾压攻击可以对龙身体下面所有生物造成伤害。在影响区域内的生物必须成功通过反射检定(DC等于这条龙的喷吐武器DC),否则将被压制,下一轮将自动受到钝击伤害,除非龙将身体移开。如果龙选择维持压制,将其视为一般的擒抱攻击。被压制的敌人如果不能逃脱每轮都会受到碾压伤害。

一次碾压攻击造成表中的伤害附加上1又1/2龙的力量修正值(向下取整)。

''尾扫(Ex):''这个特殊攻击允许最小达到巨型的龙使用它的尾巴以一个标准动作扫荡敌人。尾扫影响龙占据位置任意一边上的格子交叉点为中心30尺半径(超巨型的龙为40尺)的半圆范围。范围内比龙小四个体型或以上的敌人将受到影响。一次尾扫攻击自动造成表中的伤害附加上1又1/2龙的力量修正值(向下取整)。被影响的生物可以尝试通过一次反射检定来使伤害减半(DC等于这条龙的喷吐武器DC)。

''擒抱:''龙并不喜欢使用擒抱攻击,虽然它们的碾压攻击(以及攫取专长,如果它选取了)使用通常的擒抱规则。一条龙可以在擒抱中使用它们的喷吐武器,以及通过成功的专注检定后也可以使用类法术能力和超自然能力。

''喷吐武器(Su):''使用喷吐武器是一个标准动作。一旦龙使用了喷吐武器,它在1d4轮内不能再次使用。如果一条龙有超过一种的喷吐武器,它同样只能每1d4轮喷吐一次。一次喷吐攻击总是从与龙邻接的任意格子交叉点开始,并且沿着龙选择的方向延伸,范围注明在下面的表格中。如果喷吐武器造成伤害,在范围内的生物可以尝试通过反射豁免令伤害减半,DC根据龙的年龄层有所不同,在各种龙的表格中有标明。对抗无伤害的喷吐武器使用相同DC,使用何种豁免标明在各自的描述中。对抗喷吐武器的DC等于10+1/2龙的HD+龙的体质修正值。

喷吐武器有两种基本形状,束形和锥形,根据龙的体型范围有所不同。

''龙的喷吐武器''


|!龙的体型|!线形*(长度)|!锥形**(长度)|
|超小|30尺|15尺|
|小型|40尺|20尺|
|中型|60尺|30尺|
|大型|80尺|40尺|
|超大|100尺|50尺|
|巨型|120尺|60尺|
|超巨|140尺|70尺|
|*束形通常5尺高5尺宽。|<|<|
|**锥形高和宽等于长度。|<|<|

''气势凶猛(Ex):''一条青年(young adult)或更老的龙只凭气势就可以令对手感到极度不安。这个能力在龙攻击、冲锋或者从敌人头上飞过时自动产生作用。在龙半径30尺x龙的年龄层范围内HD比龙少的生物都将受到影响。可能被影响的生物如果成功通过了意志豁免(DC10+1/2龙的HD+龙的魅力修正)将在24小时内免疫这条龙的气势凶猛能力。如果豁免失败,4或者更少HD的生物将恐慌4d6轮,5或者更高HD的生物将战栗4d6轮。所有龙对其他龙的气势凶猛能力免疫。

''法术:''龙可以如同表中所写的等级的术士那样获得及施展法术,并且可以因为它的高魅力属性获得奖励法术位。一些龙也可以如同施展奥术一般施展一些牧师法术列表或者牧师领域列表内的法术。

''类法术能力:''根据不同年龄层和种类,龙会获得不同的类法术能力。它可以获得当前年龄层以及之前所有年龄层的能力。它的年龄层或者术士等级取高者作为类法术能力的施法者等级。豁免DC为10+龙的魅力修正+法术等级。所有类法术能力除非特别注明,每天只能使用一次。

''伤害减免:''青年或更老的龙拥有伤害减免。它们的天然武器在穿透伤害减免时被视为魔法武器。

''免疫(Ex):''所有龙对睡眠及麻痹效果免疫。每种不同的龙无论年龄都对一或两种额外的攻击形式免疫,在各自的说明中给出。

''法术抗力(Ex):''随着龙的年龄增长,它们对于法术及类法术能力拥有越来越强的抗力。法术抗力在各自的说明中给出。

''盲感(Ex):''龙可以定位60尺内的生物。龙没有直接看见的对手依然对龙获得全隐蔽。

''锐利视觉(Ex):''龙在昏暗状况下的视力是人类的四倍,正常光线下是人类的两倍。它也拥有120尺的黑暗视觉。

''技能:''所有龙都有等于(6+智力修正值,最小为1)x(生命骰+3)的技能点数。大部分龙将以下几个技能购买到上限等级:聆听、搜索、侦察。剩余的技能点通常以每等级1点的花费购买专注、交涉、逃脱、威吓、知识(任意)、察颜观色和使用魔法装置。这些技能对于龙均视为本职技能(每种龙在各自的描述上都有一些额外的本职技能)。

''专长:''所有龙都拥有一项专长,以及如同其他生物一般根据额外生命骰获得专长。龙喜欢选择警觉、盲斗、顺势斩、飞越攻击、盘旋、精通先攻、精通击破武器、猛力打击、攫取、武器专攻(爪抓或者啮咬)、横转,以及一些对于术士有用的超魔专长。


''龙的年龄层''

|!年龄层 |!年龄(年) |
|1雏龙|0-5|
|2幼龙|6-15|
|3少年|16-25|
|4青少年|26-50|
|5青年|51-100|
|6成年|101-200|
|7壮年|201-400|
|8老年|401-600|
|9极老|601-800|
|10古龙|801-1000|
|11上古龙|1001-1200|
|12太古龙|1201+|

''龙的占据/触及,攻击,伤害''

|!体型|!占据/触及*|!1啮咬|!2爪抓|!2翼击|!1尾击|!1碾压|!1尾扫|
|超小|2-1/2尺/0尺(啮咬5尺)|1d4|1d3|-|-|-|-|
|小型|5尺/5尺|1d6|1d4|-|-|-|-|
|中型|5尺/5尺|1d8|1d6|1d4|-|-|-|
|大型|10尺/5尺(啮咬10尺)|2d6|1d8|1d6|1d8|-|-|
|超大|15尺/10尺(啮咬15尺)|2d8|2d6|1d8|2d6|2d8|-|
|巨型|20尺/15尺(啮咬20尺)|4d6|2d8|2d6|2d8|4d6|2d6|
|超巨|30尺/20尺(啮咬30尺)|4d8|4d6|2d8|4d6|4d8|2d8|

|*龙的啮咬攻击拥有如同大一体型生物的触及。其他所有攻击根据龙的体型拥有标准的触及范围。|

!!!!龙的陆上移动

五色龙与金属龙都是极其强壮的飞行者能够迅速飞到极远的地方。


''龙的陆上飞行速度''

|!|! 龙的飞行速度|<|<|<|
|! |!100尺|!150尺|!200尺|!250尺|
|''一小时''|<|<|<|<|
|正常|15英里|20英里|30英里|40英里|
|急行|24英里|40英里|60英里|80英里|
|''一天''|<|<|<|<|
|正常|120英里|160英里|240英里|320英里|

龙在飞越大陆时不会像其他生物那样迅速的疲劳。如果一条龙尝试急行或者强行军,将会每2小时进行一次淤伤检定而不是1小时。

!!!龙皮
盔甲匠可以利用龙皮来制作精制等级的盔甲和盾牌。 
''龙皮甲:''这套盔甲由龙皮制成,因为不是金属材料制成,所以德鲁伊也可以穿着。它等同于精制品全身铠甲。

无魔法灵光(不含魔法);价格3300金币。
!!Dragonne(龙狮)

''大型魔法兽''

|''生命骰:'' 9d10+27 (76hp)|
|''先攻权:'' +6|
|''速度:'' 40尺(8格),飞行30尺(笨拙)|
|''防御等级:'' 18(-1体型,+2敏捷,+7天生), 接触 11, 措手不及16|
|''基本攻击/擒抱:'' +9/+17|
|''攻击:'' 啮咬+12近战(2d6+4)|
|''全回合攻击:'' 啮咬+12近战(2d6+4)和2爪抓+7近战(2d8+4)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 猛扑, 怒吼|
|''特性:'' 黑暗视觉60尺,昏暗视觉,嗅觉灵敏|
|''豁免:'' 强韧+9,反射+8,意志+4|
|''属性:'' 力量19,敏捷15,体质17,智力6,感知12,魅力12|
|''技能:'' 聆听+11,侦察+11|
|''专长:'' 盲斗,战斗反射,精通先攻,追踪|
|''环境:'' 温暖的沙漠|
|''组织:'' 单独,成双或成群(5-10)|
|''挑战等级:'' 7|
|''宝物:'' 双倍标准|
|''阵营:'' 通常是中立|
|''进化:'' 10-12HD(大型);13-27HD(超大型)|
|''等级调整:'' +4(作为伙伴)|


龙狮拥有巨大爪子和尖牙,硕大的眼睛通常和鳞片的颜色相同。龙狮约有12尺长700磅重。

龙狮说龙语。

!!! 战斗

龙狮的翅膀只适合短距飞行,每次大概只能飞10到20分钟。即便如此,这在战斗中它依然能够有效地利用翅膀带来的优势。如果对方试图冲锋或者保卫它,龙狮只需简单的飞到空中寻找一个更加的防御地点即可。

''猛扑(特异):''龙狮在冲锋中依然可以在同一轮内进行全力攻击。

''怒吼(超自然):''龙狮每1d4轮就能发出令人胆寒的吼声。所有在龙狮120尺内的生物都必须通过DC15的意志检定否则将疲乏。在其30尺内的生物如果豁免检定失败则会力竭。此项豁免DC基于魅力。

''技能:''龙狮在进行聆听和侦察检定时获得+4种族加值。

''负重:''对于龙狮而言348磅为轻载,349-699磅为中载,700-1050为重载。 

五色龙是龙类的邪恶一支。它们富有攻击性,贪婪,自负而且肮脏。

!!!Black Dragon(黑龙)
''龙类 (水系)''

''区域:''温暖的沼泽

''组织:''雏龙,幼龙,少年,青少年及青年:单独或一窝 (2-5);成年,壮年,老年,极老,古龙,上古龙及太古龙:单独,成双或家庭 (1-2及2-5后代)

''挑战等级:''雏龙3;幼龙4;少年5;青少年7;青年9;成年11;壮年14;老年16;极老18;古龙19;上古龙20;太古龙22

''宝物:''三倍标准

''阵营:''总是混乱邪恶

''进化:''雏龙5-6HD;幼龙8-9HD;少年11-12HD;青少年14-15HD;青年17-18HD;成年20-21HD;壮年23-24HD;老年26-27HD;极老29-30HD;古龙32-33HD;上古龙35-36HD;太古龙38+HD

''等级调整:''雏龙+3;幼龙+3;少年+3;青少年+4;其他 -


''黑龙的各项数值依年龄列表''

|!年龄|!体型|!生命骰(hp)|!力量|!敏捷|!体质|!智力|!感知|!魅力|!基本攻击/擒抱|!攻击|!强韧|!反射|!意志|!喷吐武器DC|!气势凶猛DC|
|雏龙|超小型|4d12+4(30)|11|10|13|8|11|8|+4/-4|+6|+5|+4|+4|2d4(13)|-|
|幼龙|小型|7d12+7(52)|13|10|13|8|11|8|+7/+4|+9|+6|+5|+5|4d4(14)|-|
|少年|中型|10d12+20(85)|15|10|15|10|11|10|+10/+12|+12|+9|+7|+7|6d4(17)|-|
|青少年|中型|13d12+26(110)|17|10|15|10|11|10|+13/+16|+16|+10|+8|+8|8d4(18)|-|
|青年|大型|16d12+48(152)|19|10|17|12|13|12|+16/+24|+19|+13|+10|+11|10d4(21)|19|
|成年|大型|19d12+76(199)|23|10|19|12|13|12|+19/+29|+24|+15|+11|+12|12d4(23)|20|
|壮年|超大型|22d12+110(253)|27|10|21|14|15|14|+22/+38|+28|+18|+13|+15|14d4(26)|23|
|老年|超大型|25d12+125(287)|29|10|21|14|15|14|+25/+42|+32|+19|+14|+16|16d4(27)|24|
|极老|超大型|28d12+168(350)|31|10|23|16|17|16|+28/+46|+36|+22|+16|+19|18d4(30)|27|
|古龙|超大型|31d12+186(387)|33|10|23|16|17|16|+31/+50|+40|+23|+17|+20|20d4(31)|28|
|上古龙|巨型|34d12+238(459)|35|10|25|18|19|18|+34/+58|+42|+26|+19|+23|22d4(34)|31|
|太古龙|巨型|37d12+296(536)|37|10|27|20|21|20|+37/+62|+46|+28|+20|+25|24d4(36)|33|

''黑龙的能力依年龄列表''


|!年龄|!速度|!先攻权|!防御等级|!特殊能力|!施法等级|!法术抗力|
|雏龙|60尺,飞行100尺(普通),游泳60尺|+0|15(+2体型,+3天生),接触12,措手不及15|对酸免疫,水中呼吸|-|-|
|幼龙|60尺,飞行100尺(普通),游泳60尺|+0|17(+1体型,+6天生),接触11,措手不及17||-|-|
|少年|60尺,飞行150尺(不良),游泳60尺|+0|19(+9天生),接触10,措手不及19||-|-|
|青少年|60尺,飞行150尺(不良),游泳60尺|+0|22(+12天生),接触10,措手不及22|黑暗术|-|-|
|青年|60尺,飞行150尺(不良),游泳60尺|+0|24( -1体型,+15天生),接触9,措手不及24|伤害减免5/魔法|1级|17|
|成年|60尺,飞行150尺(不良),游泳60尺|+0|27( -1体型,+18天生),接触9,措手不及27|腐化水质|3级|18|
|壮年|60尺,飞行150尺(不良),游泳60尺|+0|29( -2体型,+21天生),接触8,措手不及29|伤害减免10/魔法|5级|21|
|老年|60尺,飞行150尺(不良),游泳60尺|+0|32( -2体型,+24天生),接触8,措手不及32|植物滋长|7级|22|
|极老|60尺,飞行150尺(不良),游泳60尺|+0|35( -2体型,+27天生),接触8,措手不及35|伤害减免15/魔法|9级|23|
|古龙|60尺,飞行150尺(不良),游泳60尺|+0|38( -2体型,+30天生),接触8,措手不及38|疫病虫群|11级|25|
|上古龙|60尺,飞行200尺(笨拙),游泳60尺|+0|39( -4体型,+33天生),接触6,措手不及39|伤害减免20/魔法|13级|26|
|太古龙|60尺,飞行200尺(笨拙),游泳60尺|+0|42( -4体型,+36天生),接触6,措手不及42|魅惑爬虫|15级|28|

因为其骷髅状的脸型,黑龙有时也被称作骷髅龙。黑龙角根处和颊骨四周的外皮会逐渐退化更加深了它带给人们的骷髅般的印象。这退化会随着年龄增长而加剧,但是不会对黑龙产生伤害。刚孵化出来的时候,黑龙的鳞片既薄又小而且光滑。随着年龄的增长,鳞片会变得大而厚,颜色也会变得灰暗有助于它在沼泽中躲藏。,

黑龙特别喜欢钱币。较老的黑龙有时会将类人生物抓来,在杀掉它们之前问出其金币,银币及白金币的存放地点。

!!!!战斗
黑龙喜欢利用其周围环境做掩护来突袭它们的目标。在密林中的沼泽区域作战时,它们会尽量待在水中或地面上;树木和茂密的枝叶会限制它们在空中的机动性。如果不能取胜的话,黑龙会飞离敌人视野,不会留下任何踪迹,然后躲藏在池塘或沼泽的深处。

''喷吐武器 (Su):''黑龙有一种喷吐武器,能喷吐出线形的酸液。

''水中呼吸 (Ex):''黑龙可以在水中呼吸,而且在潜水时可以自由地使用其喷吐武器,法术及其他能力。

''腐化水质 (Sp):''每天1次,成年或更老的黑龙可以淤塞10立方尺的水,使其变成污浊的,无法支持动物生存的死水。此能力可以使含水分的液体腐化。生物所携带的魔法物品 (如药剂)和一般物品必须通过一个意志豁免检定 (DC等同于龙的气势凶猛DC)否则就会坏掉。此能力相当于一个1级法术。其射程与此龙的气势凶猛射程一样。

''魅惑爬虫 (Sp):''太古黑龙每天可以使用此能力3次。此能力作用方式类似于群体魅惑法术,但其效果只能影响爬虫类动物。龙可以如施展了动物交谈术一般与任何被魅惑的爬虫交谈。此能力相当于一个1级法术。

''其他类法术能力:''

|//每天3次// - 黑暗术 (青少年或更老;10英尺半径每年龄层),疫病虫群 (古龙或更老);|
|//每天1次// - 植物滋长 (老年或更老)。|

''技能:''躲藏,潜行及游泳被视为黑龙的本职技能。

























!!!Blue Dragon(蓝龙)
龙类 (土系)

''区域:''温带沙漠

''组织:''雏龙,幼龙,少年,青少年及青年:单独或一窝 (2-5);成年,壮年,老年,极老,古龙,上古龙及太古龙:单独,成双或家庭 (1-2及2-5后代)

''挑战等级:''雏龙3;幼龙4;少年6;青少年8;青年11;成年14;壮年16;老年18;极老19;古龙21;上古龙23;太古龙25
''宝物:''三倍标准

''阵营:''总是守序邪恶

''进化:''雏龙7-8HD;幼龙10-11HD;少年13-14HD;青少年16-17HD;青年19-20HD;成年22-23HD;壮年25-26HD;老年28-29HD;极老31-32HD;古龙34-35HD;上古龙37-38HD;太古龙40+HD

''等级调整:''雏龙+4;幼龙+4;少年+5;其他 -


|!年龄|!体型|!生命骰(hp)|!力量|!敏捷|!体质|!智力|!感知|!魅力|!基本攻击/擒抱|!攻击|!强韧|!反射|!意志|!喷吐武器DC|!气势凶猛DC|
|雏龙|小型|6d12+6(45)|13|10|13|10|11|10|+6/+3|+8|+6|+5|+5|2d8(14)|-|
|幼龙|中型|9d12+18(76)|15|10|15|10|11|10|+9/+11|+11|+8|+6|+6|4d8(16)|-|
|少年|中型|12d12+24(102)|17|10|15|12|13|12|+12/+15|+15|+10|+8|+9|6d8(18)|-|
|青少年|大型|15d12+45(142)|19|10|17|14|15|14|+15/+23|+18|+12|+9|+11|8d8(20)|-|
|青年|大型|18d12+72(189)|23|10|19|14|15|14|+18/+28|+23|+15|+11|+13|10d8(23)|21|
|成年|超大型|21d12+105(241)|27|10|21|16|17|16|+21/+37|+27|+17|+12|+15|12d8(25)|23|
|壮年|超大型|24d12+120(276)|29|10|21|16|17|16|+24/+41|+31|+19|+14|+17|14d8(27)|25|
|老年|超大型|27d12+162(337)|31|10|23|18|19|18|+27/+45|+35|+21|+15|+19|16d8(29)|27|
|极老|超大型|30d12+180(375)|33|10|23|18|19|18|+30/+49|+39|+23|+17|+21|18d8(31)|29|
|古龙|巨型|33d12+231(445)|35|10|25|20|21|20|+33/+57|+41|+25|+18|+23|20d8(33)|31|
|上古龙|巨型|36d12+288(522)|37|10|27|20|21|20|+36/+61|+45|+28|+20|+25|22d8(36)|33|
|太古龙|巨型|39d12+312(565)|39|10|27|22|23|22|+39/+65|+49|+29|+21|+27|24d8(37)|35|

''蓝龙的能力依年龄列表''

|!年龄|!速度|!先攻权|!防御等级|!特殊能力|!施法等级|!法术抗力|
|雏龙|40尺,掘穴20尺,飞行100尺(普通)|+0|16(+1体型,+5天生),接触11,措手不及16|对电免疫,造水/腐水术|-|-|
|幼龙|40尺,掘穴20尺,飞行150尺(不良)|+0|18(+8天生),接触10,措手不及18||-|-|
|少年|40尺,掘穴20尺,飞行150尺(不良)|+0|21(+11天生),接触10,措手不及21||-|-|
|青少年|40尺,掘穴20尺,飞行150尺(不良)|+0|23( -1体型,+14天生),接触9,措手不及23|模仿声音|1级|-|
|青年|40尺,掘穴20尺,飞行150尺(不良)|+0|26( -1体型,+17天生),接触9,措手不及26|伤害减免5/魔法|3级|19|
|成年|40尺,掘穴20尺,飞行150尺(不良)|+0|28( -2体型,+20天生),接触8,措手不及28|腹语术|5级|21|
|壮年|40尺,掘穴20尺,飞行150尺(不良)|+0|31( -2体型,+23天生),接触8,措手不及31|伤害减免10/魔法|7级|22|
|老年|40尺,掘穴20尺,飞行150尺(不良)|+0|34( -2体型,+26天生),接触8,措手不及34|幻景|9级|24|
|极老|40尺,掘穴20尺,飞行150尺(不良)|+0|37( -2体型,+29天生),接触8,措手不及37|伤害减免15/魔法|11级|25|
|古龙|40尺,掘穴20尺,飞行200尺(笨拙)|+0|38( -4体型,+32天生),接触6,措手不及38|隐匿之纱|13级|27|
|上古龙|40尺,掘穴20尺,飞行200尺(笨拙)|+0|41( -4体型,+35天生),接触6,措手不及41|伤害减免20/魔法|15级|29|
|太古龙|40尺,掘穴20尺,飞行200尺(笨拙)|+0|44( -4体型,+38天生),接触6,措手不及44|海市蜃楼|17级|31|

|* 也能如施放奥术一样施放牧师法术及来自于气、邪恶和秩序领域的法术。|


蓝龙的鳞片介于灿烂的天蓝色到深邃的靛青色之间,并且因沙粒的摩擦显得十分光滑。随着蓝龙年龄的增长其鳞片大小变化并不大,但是却会变得更厚也更坚硬。它的外皮会因静电而发出嗡嗡声或细碎的爆裂声。这效果在蓝龙发怒或准备攻击时会增强,并且会在空气中产生臭氧和沙粒的味道。蓝龙鲜明的颜色使其在贫瘠的沙漠中很容易被发现。不过它们通常躲在沙子里只露出头在外面。

蓝龙喜欢在沙漠酷热的空气中飞翔,通常是在白天气温最高时飞翔。一些蓝龙的颜色与沙漠天空的颜色接近,而它们也会利用这点来保护自己。

蓝龙在地底洞穴内筑巢并存放宝物。尽管它们会收集一切看起来值钱的东西,但是它们最喜欢宝石,特别是蓝宝石。

!!!!战斗
蓝龙通常会等待猎物进入100尺范围内之后从天空或沙子底下冲出来攻击。较老的蓝龙会使用其特殊能力,如幻景,来掩饰自己配合上述战术以提高突袭敌人的机率。因为它们将撤退视为懦弱,所以蓝龙只有在身受重伤时才会退出战斗。

''喷吐武器 (Su):''蓝龙有一种喷吐武器,能喷吐出线形的闪电。

''造水/ 腐水术 (Sp):''任何年龄的蓝龙都可以每天使用此能力3次。除了蓝龙可以选择将水毁掉 (可自动使未受保护的含水分的液体腐化)之外,其效果如同造水术。生物所携带的魔法物品 (如药剂)和一般物品必须通过一个意志豁免检定 (DC等同于龙的气势凶猛DC)否则就会坏掉。此能力相当于一个1级法术。

''模仿声音 (Ex):''青少年或更老的蓝龙随时可以模仿它所听过的任何声音。聆听者必须通过一个意志豁免检定 (DC等同于龙的气势凶猛DC)否则就会上当。

''其他类法术能力:''

|//每天3次// - 腹语术 (成年或更老);|
|//每天1次// - 幻景 (老年或更老),隐匿之纱 (古龙或更老),海市蜃楼 (太古龙)。|

''技能:''唬骗,躲藏及法术辨识被视为蓝龙的本职技能。



























!!!Green Dragon(绿龙)

''龙类 (风系)''

''区域:''温带森林

''组织:''雏龙,幼龙,少年,青少年及青年:单独或一窝 (2-5);成年,壮年,老年,极老,古龙,上古龙及太古龙:单独,成双或家庭 (1-2及2-5后代)

''挑战等级:''雏龙3;幼龙4;少年5;青少年8;青年11;成年13;壮年16;老年18;极老19;古龙21;上古龙22;太古龙24

''宝物:''三倍标准

''阵营:''总是守序邪恶

''进化:''雏龙6-7HD;幼龙9-10HD;少年12-13HD;青少年15-16HD;青年18-19HD;成年21-22HD;壮年24-25HD;老年27-28HD;极老30-31HD;古龙33-34HD;上古龙36-37HD;太古龙39+HD

''等级调整:''雏龙+5;幼龙+5;少年+5;青少年+6;其他 -

''绿龙的各项数值依年龄列表''


|!年龄|!体型|!生命骰(hp)|!力量|!敏捷|!体质|!智力|!感知|!魅力|!基本攻击/擒抱|!攻击|!强韧|!反射|!意志|!喷吐武器DC|!气势凶猛DC|
|雏龙|小型|5d12+5(37)|13|10|13|10|11|10|+5/+2|+7|+5|+4|+4|2d6(13)|─|
|幼龙|中型|8d12+16(68)|15|10|15|10|11|10|+8/+10|+10|+8|+6|+6|4d6(16)|─|
|少年|中型|11d12+22(93)|17|10|15|12|13|12|+11/+14|+14|+9|+7|+8|6d6(17)|─|
|青少年|大型|14d12+42(133)|19|10|17|14|15|14|+14/+22|+17|+12|+9|+11|8d6(20)|─|
|青年|大型|17d12+68(178)|23|10|19|14|15|14|+17/+27|+22|+14|+10|+12|10d6(22)|20|
|成年|超大型|20d12+100(230)|27|10|21|16|17|16|+20/+36|+26|+17|+12|+15|12d6(25)|23|
|壮年|超大型|23d12+115(264)|29|10|21|16|17|16|+23/+40|+30|+18|+13|+16|14d6(26)|24|
|老年|超大型|26d12+156(325)|31|10|23|18|19|18|+26/+44|+34|+21|+15|+19|16d6(29)|27|
|极老|超大型|29d12+174(362)|33|10|23|18|19|18|+29/+48|+38|+22|+16|+20|18d6(30)|28|
|古龙|巨型|32d12+224(432)|35|10|25|20|21|20|+32/+56|+40|+25|+18|+23|20d6(33)|31|
|上古龙|巨型|35d12+280(507)|37|10|27|20|21|20|+35/+60|+44|+27|+19|+24|22d6(35)|32|
|太古龙|巨型|38d12+304(551)|39|10|27|22|23|22|+38/+64|+48|+29|+21|+27|24d6(37)|35|


''绿龙的能力依年龄列表''


|!年龄|!速度|!先攻权|!防御等级|!特殊能力|!施法等级|!法术抗力|
|雏龙|40尺,飞行100尺(普通),游泳40尺|+0|15(+1体型,+4天生),接触11,措手不及15|对酸免疫,水中呼吸|-|-|
|幼龙|40尺,飞行150尺(不良),游泳40尺|+0|17(+7天生),接触10,措手不及17||-|-|
|少年|40尺,飞行150尺(不良),游泳40尺|+0|20(+10天生),接触10,措手不及20||-|-|
|青少年|40尺,飞行150尺(不良),游泳40尺|+0|22( -1体型,+13天生),接触9,措手不及22||1级|-|
|青年|40尺,飞行150尺(不良),游泳40尺|+0|25( -1体型,+16天生),接触9,措手不及25|伤害减免5/魔法|3级|19|
|成年|40尺,飞行150尺(不良),游泳40尺|+0|27( -2体型,+19天生),接触8,措手不及27|暗示术|5级|21|
|壮年|40尺,飞行150尺(不良),游泳40尺|+0|30( -2体型,+22天生),接触8,措手不及30|伤害减免10/魔法|7级|22|
|老年|40尺,飞行150尺(不良),游泳40尺|+0|33( -2体型,+25天生),接触8,措手不及33|植物滋长|9级|24|
|极老|40尺,飞行150尺(不良),游泳40尺|+0|36( -2体型,+28天生),接触8,措手不及36|伤害减免15/魔法|11级|25|
|古龙|40尺,飞行200尺(笨拙),游泳40尺|+0|37( -4体型,+31天生),接触6,措手不及37|支配人类|13级|27|
|上古龙|40尺,飞行200尺(笨拙),游泳40尺|+0|40( -4体型,+34天生),接触6,措手不及40|伤害减免20/魔法|15级|28|
|太古龙|40尺,飞行200尺(笨拙),游泳40尺|+0|43( -4体型,+37天生),接触6,措手不及43|命令植物|17级|30|


雏龙期的绿龙鳞片很薄且非常小,是接近黑色的墨绿色。随着年龄增长,鳞片变大,颜色变浅变成翠绿色或橄榄绿,使其更能融入森林环境中。

!!!!战斗
绿龙被稍微激怒甚至根本没被激怒就会对无论任何体型的生物展开攻击。如果目标看起来诡计多端或很难对付,绿龙会悄悄地跟着对方以找出最适合攻击的时间及战术。如果目标看起来很弱的话,绿龙就会很迅速地出现 -- 它喜欢引发对手的恐惧。有时绿龙会利用威吓及暗示术来控制类人生物。绿龙特别喜欢逼问冒险者以了解其社会及能力,打听最近发生了什么事情以及周围是否有宝物。

''喷吐武器 (Su):''绿龙有一种喷吐武器,能喷吐出锥形的腐蚀性 (酸)气体。

''水中呼吸 (Ex):''绿龙可以在水中呼吸,而且在潜水时可以自由地使用其喷吐武器,法术及其他能力。

''类法术能力:''

|//每天3次// - 暗示术 (成年或更老),支配人类 (古龙或更老);|
|//每天1次// - 植物滋长 (老年或更老),命令植物 (太古龙)。|

''技能:''唬骗,躲藏及潜行被视为绿龙的本职技能。


















!!!Red Dragon(红龙)

''龙类 (火系)''

''区域:''温暖的山脉

''组织:''雏龙,幼龙,少年,青少年及青年:单独或一窝 (2-5);成年,壮年,老年,极老,古龙,上古龙及太古龙:单独,成双或家庭 (1-2及2-5后代)

''挑战等级:''雏龙4;幼龙5;少年7;青少年10;青年13;成年15;壮年18;老年20;极老21;古龙23;上古龙24;太古龙26

''宝物:''三倍标准

''阵营:''总是混乱邪恶

''进化:''雏龙8-9HD;幼龙11-12HD;少年14-15HD;青少年17-18HD;青年20-21HD;成年23-24HD;壮年26-27HD;老年29-30HD;极老32-33HD;古龙35-36HD;上古龙38-39HD;太古龙41+HD

''等级调整:''雏龙+4;幼龙+5;少年+6;其他 -


''红龙的各项数值依年龄列表''

|!年龄|!体型|!生命骰(hp)|!力量|!敏捷|!体质|!智力|!感知|!魅力|!基本攻击/擒抱|!攻击|!强韧|!反射|!意志|!喷吐武器DC|!气势凶猛DC|
|雏龙|中型|7d12+14(59)|17|10|15|10|11|10|+7/+10|+10|+7|+5|+5|2d10(15)|─|
|幼龙|大型|10d12+30(95)|21|10|17|12|13|12|+10/+19|+14|+10|+7|+8|4d10(18)|─|
|少年|大型|13d12+39(123)|25|10|17|12|13|12|+13/+24|+19|+11|+8|+9|6d10(19)|─|
|青少年|大型|16d12+64(168)|29|10|19|14|15|14|+16/+29|+24|+14|+10|+12|8d10(22)|─|
|青年|超大型|19d12+95(218)|31|10|21|14|15|14|+19/+37|+27|+16|+11|+13|10d10(24)|21|
|成年|超大型|22d12+110(253)|33|10|21|16|19|16|+22/+41|+31|+18|+13|+17|12d10(26)|24|
|壮年|超大型|25d12+150(312)|33|10|23|18|19|18|+25/+44|+34|+20|+14|+18|14d10(28)|26|
|老年|巨型|28d12+196(378)|35|10|25|20|21|20|+28/+52|+36|+23|+16|+21|16d10(31)|29|
|极老|巨型|31d12+248(449)|37|10|27|22|23|22|+31/+56|+40|+25|+17|+23|18d10(33)|31|
|古龙|巨型|34d12+306(527)|39|10|29|24|25|24|+34/+60|+44|+28|+19|+26|20d10(36)|34|
|上古龙|巨型|37d12+370(610)|41|10|31|24|25|24|+37/+64|+48|+30|+20|+27|22d10(38)|35|
|太古龙|超巨型|40d12+400(660)|45|10|31|26|27|26|+40/+73|+49|+32|+22|+30|24d10(40)|38|

''红龙的能力依年龄列表''

|!年龄|!速度|!先攻权|!防御等级|!特殊能力|!施法等级|!法术抗力|
|雏龙|40尺,飞行150尺(不良)|+0|16(+6天生),接触10,措手不及16|对火焰免疫,易受寒冷伤害|-|-|
|幼龙|40尺,飞行150尺(不良)|+0|18( -1体型,+9天生),接触9,措手不及18||-|-|
|少年|40尺,飞行150尺(不良)|+0|21( -1体型,+12天生),接触9,措手不及21||1级|-|
|青少年|40尺,飞行150尺(不良)|+0|24( -1体型,+15天生),接触9,措手不及24|物品定位术|3级|-|
|青年|40尺,飞行150尺(不良)|+0|26( -2体型,+18天生),接触8,措手不及26|伤害减免5/魔法|5级|19|
|成年|40尺,飞行150尺(不良)|+0|29( -2体型,+21天生),接触8,措手不及29||7级|21|
|壮年|40尺,飞行150尺(不良)|+0|32( -2体型,+24天生),接触8,措手不及32|伤害减免10/魔法|9级|23|
|老年|40尺,飞行200尺(笨拙)|+0|33( -4体型,+27天生),接触6,措手不及33|暗示术|11级|24|
|极老|40尺,飞行200尺(笨拙)|+0|36( -4体型,+30天生),接触6,措手不及36|伤害减免15/魔法|13级|26|
|古龙|40尺,飞行200尺(笨拙)|+0|39( -4体型,+33天生),接触6,措手不及39|寻找捷径|15级|28|
|上古龙|40尺,飞行200尺(笨拙)|+0|42( -4体型,+36天生),接触6,措手不及42|伤害减免20/魔法|17级|30|
|太古龙|40尺,飞行200尺(笨拙)|+0|41( -8体型,+39天生),接触2,措手不及41|感知位置|19级|32|

|* 也能如施放奥术一样施放牧师法术及来自于混乱、邪恶和火领域的法术。|

雏龙期红龙呈现出光滑鲜红色的细小鳞片使得它很容易被掠食者和猎人发现,因此它会停留在地底直到有能力照顾自己时才会出去。在少年阶段的末期,鳞片会变为深红色,光滑的纹路也会被平滑灰暗的纹路所取代。随着年龄的增长,鳞片会变大变厚,如金属般坚硬。颈部褶边和翅膀边缘呈现出灰蓝色或紫灰色,并随着年龄的增长而变深。瞳孔会随着年龄的增长而变淡,最年长的红龙的眼睛好像熔岩球一样。

!!!!战斗
因为红龙极度自信,所以它们极少因估量对手而暂停行动。一旦发现目标,它们就会立刻决定是否展开攻击,并立即选择出一个战术。红龙会使用其爪抓和啮咬攻击而不是喷吐武器来对付又小又弱的生物,这样能使其可能携带的宝物不被毁坏。

''喷吐武器 (Su):''红龙有一种喷吐武器,能喷吐出锥形的火焰。

''物品定位术 (Sp):''青少年或更老的红龙可以如使用同名法术般使用此能力,每天每年龄层一次。

''其他类法术能力:''每天3次 - 暗示术 (老年或更老);每天1次 - 寻找捷径 (古龙或更老),感知位置 (太古龙)。

''技能:''估价,唬骗及跳跃被视为红龙的本职技能。

















!!!White Dragon(白龙)

''龙类 (寒系)''


''区域:''寒冷的山脉

''组织:''雏龙,幼龙,少年,青少年及青年:单独或一窝 (2-5);成年,壮年,老年,极老,古龙,上古龙及太古龙:单独,成双或家庭 (1-2及2-5后代)

''挑战等级:''雏龙2;幼龙3;少年4;青少年6;青年8;成年10;壮年12;老年15;极老17;古龙18;上古龙19;太古龙21

''宝物:''三倍标准

''阵营:''总是混乱邪恶

''进化:''雏龙4-5HD;幼龙7-8HD;少年10-11HD;青少年13-14HD;青年16-17HD;成年19-20HD;壮年22-23HD;老年25-26HD;极老28-29HD;古龙31-32HD;上古龙34-35HD;太古龙37+HD

''等级调整:''雏龙+2;幼龙+3;少年+3;青少年+5;其他 -

''白龙的各项数值依年龄列表''

|!年龄|!体型|!生命骰(hp)|!力量|!敏捷|!体质|!智力|!感知|!魅力|!基本攻击/擒抱|!攻击|!强韧|!反射|!意志|!喷吐武器DC|!气势凶猛DC|
|雏龙|超小型|3d12+3(22)|11|10|13|6|11|6|+3/ -5|+5|+4|+3|+3|1d6(12)|─|
|幼龙|小型|6d12+6(45)|13|10|13|6|11|6|+6/+3|+8|+6|+5|+5|2d6(14)|─|
|少年|中型|9d12+18(76)|15|10|15|6|11|6|+9/+11|+11|+8|+6|+6|3d6(16)|─|
|青少年|中型|12d12+24(102)|17|10|15|8|11|8|+12/+15|+15|+10|+8|+8|4d6(18)|─|
|青年|大型|15d12+45(142)|19|10|17|8|11|10|+15/+23|+18|+12|+9|+9|5d6(20)|17|
|成年|大型|18d12+72(189)|23|10|19|10|11|12|+18/+28|+23|+15|+11|+11|6d6(23)|20|
|壮年|超大型|21d12+105(241)|27|10|21|12|13|12|+21/+37|+27|+17|+12|+13|7d6(25)|21|
|老年|超大型|24d12+120(276)|29|10|21|12|13|12|+24/+41|+31|+19|+14|+15|8d6(27)|23|
|极老|超大型|27d12+162(337)|31|10|23|14|15|14|+27/+45|+35|+21|+15|+17|9d6(29)|25|
|古龙|超大型|30d12+180(375)|33|10|23|14|15|14|+30/+49|+39|+23|+17|+19|10d6(31)|27|
|上古龙|巨型|33d12+231(445)|35|10|25|14|15|16|+33/+57|+41|+25|+18|+20|11d6(33)|29|
|太古龙|巨型|36d12+288(522)|37|10|27|18|19|18|+36/+61|+45|+28|+20|+24|12d6(36)|32|

''白龙的能力依年龄列表''

|年龄|速度|先攻权|防御等级|特殊能力|施法等级|法术抗力|
|雏龙|60尺,掘穴30尺,飞行150尺(普通),游泳60尺|+0|14(+2体型,+2天生),接触12,措手不及14|冰上行走,对寒冷免疫,易受火焰伤害|-|-|
|幼龙|60尺,掘穴30尺,飞行150尺(普通),游泳60尺|+0|16(+1体型,+5天生),接触11,措手不及16||-|-|
|少年|60尺,掘穴30尺,飞行200尺(不良),游泳60尺|+0|18(+8天生),接触10,措手不及18||-|-|
|青少年|60尺,掘穴30尺,飞行200尺(不良),游泳60尺|+0|21(+11天生),接触10,措手不及21|云雾术|-|-|
|青年|60尺,掘穴30尺,飞行200尺(不良),游泳60尺|+0|23( -1体型,+14天生),接触9,措手不及23|伤害减免5/魔法|-|16|
|成年|60尺,掘穴30尺,飞行200尺(不良),游泳60尺|+0|26( -1体型,+17天生),接触9,措手不及26|造风术|1级|18|
|壮年|60尺,掘穴30尺,飞行200尺(不良),游泳60尺|+0|28( -2体型,+20天生),接触8,措手不及28|伤害减免10/魔法|3级|20|
|老年|60尺,掘穴30尺,飞行200尺(不良),游泳60尺|+0|31( -2体型,+23天生),接触8,措手不及31|冻雾术|5级|21|
|极老|60尺,掘穴30尺,飞行200尺(不良),游泳60尺|+0|34( -2体型,+26天生),接触8,措手不及34|伤害减免15/魔法|7级|23|
|古龙|60尺,掘穴30尺,飞行200尺(不良),游泳60尺|+0|37( -2体型,+29天生),接触8,措手不及37|冰墙术|9级|24|
|上古龙|60尺,掘穴30尺,飞行250尺(笨拙),游泳60尺|+0|38( -4体型,+32天生),接触6,措手不及38|伤害减免20/魔法|11级|25|
|太古龙|60尺,掘穴30尺,飞行250尺(笨拙),游泳60尺|+0|41( -4体型,+35天生),接触6,措手不及41|操控天气|13级|27|


雏龙期白龙的鳞片像镜子一样反光。随着年龄的增长,这光泽会逐渐消失,到了更老的年龄,灰蓝色和浅灰色的鳞片会与白色的混杂在一起。

!!!!战斗
白龙喜欢采取突袭,从高处俯冲下来或者从水底、雪中或冰下突然出现。它们会先使用喷吐武器,然后再通过后继攻击尝试击倒对手。

''喷吐武器 (Su):''白龙有一种喷吐武器,能喷吐出锥形的寒气。

''冰上行走 (Ex):''此能力作用方式如蛛行术一样,但是白龙所攀爬的表面必须是结冰的。此能力总是在产生作用。

''冻雾术 (Sp):''老年或更老的白龙每天可使用此能力3次。它与重雾术效果相似,但是任何被雾气触及的表面都会产生一层光滑的冰,产生如同油腻术般的效果。白龙因其冰上行走能力而对此能力免疫。此能力相当于一个5级法术。

''其他类法术能力:''

|//每天3次// - 云雾术 (青少年或更老),造风术 (成年或更老),冰墙术 (古龙或更老);|
|//每天1次// - 操控天气 (太古龙)。|

''技能:''躲藏,潜行及游泳被视为白龙的本职技能。 
金属龙组成龙类的善良支系。在受到威胁或挑战时,它们的攻击性与它们邪恶的表亲一样强烈。金属龙也很自负骄傲。

!!!Brass Dragon(黄铜龙)

''龙类 (火系)''

''区域:''温暖的沙漠

''组织:''雏龙,幼龙,少年,青少年及青年:单独或一窝 (2-5);成年,壮年,老年,极老,古龙,上古龙及太古龙:单独,成双或家庭 (1-2及2-5后代)

''挑战等级:''雏龙3;幼龙4;少年6;青少年8;青年10;成年12;壮年15;老年17;极老19;古龙20;上古龙21;太古龙23

''宝物:''三倍标准

''阵营:''总是混乱善良

''进化:''雏龙5-6HD;幼龙8-9HD;少年11-12HD;青少年14-15HD;青年17-18HD;成年20-21HD;壮年23-24HD;老年26-27HD;极老29-30HD;古龙32-33HD;上古龙35-36HD;太古龙38+HD

''等级调整:''雏龙+2;幼龙+3;少年+4;青少年+4;其他 -

''黄铜龙的各项数值依年龄列表''

|!年龄|!体型|!生命骰(hp)|!力量|!敏捷|!体质|!智力|!感知|!魅力|!基本攻击/擒抱|!攻击|!强韧|!反射|!意志|!喷吐武器DC|!气势凶猛DC|
|雏龙|超小型|4d12+4(30)|11|10|13|10|11|10|+4/ -4|+6|+5|+4|+4|1d6(13)|─|
|幼龙|小型|7d12+7(52)|13|10|13|10|11|10|+7/+4|+9|+6|+5|+5|2d6(14)|─|
|少年|中型|10d12+20(85)|15|10|15|12|13|12|+10/+12|+12|+9|+7|+8|3d6(17)|─|
|青少年|中型|13d12+26(110)|17|10|15|12|13|12|+13/+16|+16|+10|+8|+9|4d6(18)|─|
|青年|大型|16d12+48(152)|19|10|17|14|15|14|+16/+24|+19|+13|+10|+12|5d6(21)|20|
|成年|大型|19d12+76(199)|23|10|19|14|15|14|+19/+29|+24|+15|+11|+13|6d6(23)|21|
|壮年|超大型|22d12+110(253)|27|10|21|16|17|16|+22/+38|+28|+18|+13|+16|7d6(26)|24|
|老年|超大型|25d12+125(287)|29|10|21|16|17|16|+25/+42|+32|+19|+14|+17|8d6(27)|25|
|极老|超大型|28d12+168(350)|31|10|23|18|19|18|+28/+46|+36|+22|+16|+20|9d6(30)|28|
|古龙|超大型|31d12+186(387)|33|10|23|18|19|18|+31/+50|+40|+23|+17|+21|10d6(31)|29|
|上古龙|巨型|34d12+238(459)|35|10|25|20|21|20|+34/+58|+42|+26|+19|+24|11d6(34)|32|
|太古龙|巨型|37d12+296(536)|37|10|27|20|21|20|+37/+62|+46|+28|+20|+25|12d6(36)|33|

''黄铜龙的能力依年龄列表''

|!年龄|!速度|!先攻权|!防御等级|!特殊能力|!施法等级|!法术抗力|
|雏龙|60尺,掘穴30尺,飞行150尺(普通)|+0|15(+2体型,+3天生),接触12,措手不及15|对火焰免疫,动物交谈术,易受寒冷伤害|-|-|
|幼龙|60尺,掘穴30尺,飞行150尺(普通)|+0|17(+1体型,+6天生),接触11,措手不及17||-|-|
|少年|60尺,掘穴30尺,飞行200尺(不良)|+0|19(+9天生),接触10,措手不及19||1级|-|
|青少年|60尺,掘穴30尺,飞行200尺(不良)|+0|22(+12天生),接触10,措手不及22|忍受环境|3级|-|
|青年|60尺,掘穴30尺,飞行200尺(不良)|+0|24( -1体型,+15天生),接触9,措手不及24|伤害减免5/魔法|5级|18|
|成年|60尺,掘穴30尺,飞行200尺(不良)|+0|27( -1体型,+18天生),接触9,措手不及27|暗示术|7级|20|
|壮年|60尺,掘穴30尺,飞行200尺(不良)|+0|29( -2体型,+21天生),接触8,措手不及29|伤害减免10/魔法|9级|22|
|老年|60尺,掘穴30尺,飞行200尺(不良)|+0|32( -2体型,+24天生),接触8,措手不及32|操控风向|11级|24|
|极老|60尺,掘穴30尺,飞行200尺(不良)|+0|35( -2体型,+27天生),接触8,措手不及35|伤害减免15/魔法|13级|25|
|古龙|60尺,掘穴30尺,飞行200尺(不良)|+0|38( -2体型,+30天生),接触8,措手不及38|操控天气|15级|27|
|上古龙|60尺,掘穴30尺,飞行250尺(笨拙)|+0|39( -4体型,+33天生),接触6,措手不及39|伤害减免20/魔法|17级|28|
|太古龙|60尺,掘穴30尺,飞行250尺(笨拙)|+0|42( -4体型,+36天生),接触6,措手不及42|召唤风巨灵|19级|30|

|* 也能如施放奥术一样施放牧师法术及来自于混乱和知识领域的法术。|


刚出生时,黄铜龙的鳞片是带有斑点的暗棕色。随着年龄的增长,鳞片变得越来越趋近黄铜色,到最后会呈现出一种温暖而光滑的色泽。黄铜龙头部巨大的碟状物光滑而具有金属光泽,而且它下巴上的尖角会随着年龄的增长变得更加锋利。翅膀和褶边的边缘呈现出带斑点的绿色,而且会随着年龄增长颜色会变得更暗。随着年龄的增长,黄铜龙的瞳孔逐渐变淡,最后眼睛看起来就好像熔化的金属球一样。

!!!!战斗
黄铜龙喜欢交谈更胜于战斗。如果一个智慧生物还没与其交谈就打算离开的话,黄铜龙有可能会恼羞成怒使用暗示术或睡眠气体使对方屈服。被睡眠的生物醒来时可能会发现自己被压制着或者脖子以下都被埋到了沙子里,直到黄铜龙的话瘾得到满足后才能脱困。当遇到真正的危险时,比较年轻的黄铜龙会飞离敌人视野,然后躲在沙子里。较年长的黄铜龙不屑这么做,它们会设法在战斗中取得优势。

''喷吐武器 (Su):''黄铜龙拥有两种喷吐武器,能喷吐出线形的火焰及锥形的睡眠气体。处于锥形范围内的生物必须通过一个意志豁免检定,否则无论其生命骰有多高会陷入持续时间为1d6加黄铜龙每年龄层1轮的睡眠状态。

''类法术能力:''

|//随意施展// - 动物交谈术;每天3次 - 忍受环境 (青少年或更老;半径10尺*龙的年龄层);|
|//每天1次// - 暗示术 (成年或更老),操控风向 (老年或更老),操控天气 (古龙或更老)。|

''召唤风巨灵 (Sp):''此能力可以被太古黄铜龙所使用,除了它只能召唤出一只风巨灵之外,其功用如召唤怪物法术一样。此能力相当于一个7级法术。

''技能:''唬骗,收集信息及生存被视为黄铜龙的本职技能。


















!!!Bronze Dragon(青铜龙)
''龙类 (水系)''

''区域:''温带山区

''组织:''雏龙,幼龙,少年,青少年及青年:单独或一窝 (2-5);成年,壮年,老年,极老,古龙,上古龙及太古龙:单独,成双或家庭 (1-2及2-5后代)

''挑战等级:''雏龙3;幼龙5;少年7;青少年9;青年12;成年15;壮年17;老年19;极老20;古龙22;上古龙23;太古龙25

''宝物:''三倍标准

''阵营:''总是守序善良

''进化:''雏龙7-8HD;幼龙10-11HD;少年13-14HD;青少年16-17HD;青年19-20HD;成年22-23HD;壮年25-26HD;老年28-29HD;极老31-32HD;古龙34-35HD;上古龙37-38HD;太古龙40+HD

''等级调整:''雏龙+4;幼龙+4;少年+6;其他 -

''青铜龙的各项数值依年龄列表''

|!年龄|!体型|!生命骰(hp)|!力量|!敏捷|!体质|!智力|!感知|!魅力|!基本攻击/擒抱|!攻击|!强韧|!反射|!意志|!喷吐武器DC|!气势凶猛DC|
|雏龙|小型|6d12+6(45)|13|10|13|14|15|14|+6/+3|+8|+6|+5|+7|2d6(14)|─|
|幼龙|中型|9d12+18(76)|15|10|15|14|15|14|+9/+11|+11|+8|+6|+8|4d6(16)|─|
|少年|中型|12d12+24(102)|17|10|15|16|17|16|+12/+15|+15|+10|+8|+11|6d6(18)|─|
|青少年|大型|15d12+45(142)|19|10|17|18|19|18|+15/+23|+18|+12|+9|+13|8d6(20)|─|
|青年|大型|18d12+72(189)|23|10|19|18|19|18|+18/+28|+23|+15|+11|+15|10d6(23)|23|
|成年|超大型|21d12+105(241)|27|10|21|20|21|20|+21/+37|+27|+17|+12|+17|12d6(25)|25|
|壮年|超大型|24d12+120(276)|29|10|21|20|21|20|+24/+41|+31|+19|+14|+19|14d6(27)|27|
|老年|超大型|27d12+162(337)|31|10|23|22|23|22|+27/+45|+35|+21|+15|+21|16d6(29)|29|
|极老|超大型|30d12+180(375)|33|10|23|22|23|22|+30/+49|+39|+23|+17|+23|18d6(31)|31|
|古龙|巨型|33d12+231(445)|35|10|25|24|25|24|+33/+57|+41|+25|+18|+25|20d6(33)|33|
|上古龙|巨型|36d12+288(522)|37|10|27|26|27|26|+36/+61|+45|+28|+20|+28|22d6(36)|36|
|太古龙|巨型|39d12+312(565)|39|10|27|26|27|26|+39/+65|+49|+29|+21|+29|24d6(37)|37|

''青铜龙的能力依年龄列表''

|!年龄|!速度|!先攻权|!防御等级|!特殊能力|!施法等级|!法术抗力|
|雏龙|40尺,飞行100尺(普通),游泳60尺|+0|16(+1体型,+5天生),接触11,措手不及16|对电免疫,水中呼吸,动物交谈术|-|-|
|幼龙|40尺,飞行150尺(不良),游泳60尺|+0|18(+8天生),接触10,措手不及18||-|-|
|少年|40尺,飞行150尺(不良),游泳60尺|+0|21(+11天生),接触10,措手不及21|变化形态|1级|-|
|青少年|40尺,飞行150尺(不良),游泳60尺|+0|23( -1体型,+14天生),接触9,措手不及23||3级|-|
|青年|40尺,飞行150尺(不良),游泳60尺|+0|26( -1体型,+17天生),接触9,措手不及26|伤害减免5/魔法|5级|20|
|成年|40尺,飞行150尺(不良),游泳60尺|+0|28( -2体型,+10天生),接触8,措手不及28|造粮术,云雾术|7级|22|
|壮年|40尺,飞行150尺(不良),游泳60尺|+0|31( -2体型,+23天生),接触8,措手不及31|伤害减免10/魔法|9级|23|
|老年|40尺,飞行150尺(不良),游泳60尺|+0|34( -2体型,+26天生),接触8,措手不及34|侦测思想|11级|25|
|极老|40尺,飞行150尺(不良),游泳60尺|+0|37( -2体型,+29天生),接触8,措手不及37|伤害减免15/魔法|13级|26|
|古龙|40尺,飞行200尺(笨拙),游泳60尺|+0|38( -4体型,+32天生),接触6,措手不及38|操控水位|15级|28|
|上古龙|40尺,飞行200尺(笨拙),游泳60尺|+0|41( -4体型,+35天生),接触6,措手不及41|伤害减免20/魔法|17级|29|
|太古龙|40尺,飞行200尺(笨拙),游泳60尺|+0|44( -4体型,+38天生),接触6,措手不及44|操控天气|19级|31|

|* 也能如施放奥术一样施放牧师法术及来自于动物,秩序和水领域的法术。|

青铜龙雏龙的鳞片为带有绿色的黄色,只能隐约看出一点青铜色。随着青铜龙逐步迈向成年阶段时,鳞片的颜色慢慢变深,变成深而浓艳的青铜色。年龄非常大的青铜龙的鳞片边缘会带有蓝黑色。青铜龙非常擅长游泳,它们脚上有蹼而且鳞片光滑又平顺。随着年龄的增长青铜龙的瞳孔会逐渐变淡,最后眼睛看起来会像发光的绿球一样。

!!!!战斗
青铜龙不喜欢杀害动物,它们宁可贿赂对方 (可能用食物)或用魔法强迫对方离开。青铜龙会使用侦测思想来了结智慧生物的意图。

战斗时青铜龙使用云雾术使其对手目盲,然后开始冲锋或飞过去将对手抓起来。对付海上航行的对手时,它们会召唤暴风或用尾巴击打船身。如果是条个性温和的青铜龙,那么遭受它攻击的船只则可能只是被迫停驶,被大雾笼罩或者桅杆断裂而已。

''喷吐武器 (Su):''青铜龙拥有两种喷吐武器,能喷吐出线形的闪电及锥形的排斥气体。处于锥形范围内的生物必须通过一个意志豁免检定否则会被迫处于一种除了从青铜龙处离开之外无法做其他任何事情的状态长达1d6加青铜龙每年龄层1轮。这是一种影响心灵的附魔系的胁迫魔法效果。

''水中呼吸 (Ex):''青铜龙可以在水中呼吸,而且在潜水时可以自由地使用其喷吐武器,法术及其他能力。

''变化形态 (Su):''每天三次,少年或更老的青铜龙可以通过一个标准动作转换成任意体型为中等或更小的动物或类人生物的形态。青铜龙可以保持在它的动物或类人生物形态下直到它选择转换成一种新的形态或变回原形。

''类法术能力:''

|//随意施展// - 动物交谈术;每天3次 - 造粮术 (成年或更老),云雾术 (成年或更老),侦测思想 (老年或更老),操控水位 (古龙或更老);|
|//每天1次// - 操控天气 (太古龙)。|

''技能:''易容,游泳及生存被视为青铜龙的本职技能。



































!!!Copper Dragon(赤铜龙)

''龙类 (土系)''


''区域:''温暖的山区

''组织:''雏龙,幼龙,少年,青少年及青年:单独或一窝 (2-5);成年,壮年,老年,极老,古龙,上古龙及太古龙:单独,成双或家庭 (1-2及2-5后代)

''挑战等级:''雏龙3;幼龙5;少年7;青少年9;青年11;成年14;壮年16;老年19;极老20;古龙22;上古龙23;太古龙25

''宝物:''三倍标准

''阵营:''总是混乱善良

''进化:''雏龙6-7HD;幼龙9-10HD;少年12-13HD;青少年15-16HD;青年18-19HD;成年21-22HD;壮年24-25HD;老年27-28HD;极老30-31HD;古龙33-34HD;上古龙36-37HD;太古龙39+HD

''等级调整:''雏龙+2;幼龙+3;少年+4;青少年+4;其他 -

''赤铜龙的各项数值依年龄列表''

|!年龄|!体型|!生命骰(hp)|!力量|!敏捷|!体质|!智力|!感知|!魅力|!基本攻击/擒抱|!攻击|!强韧|!反射|!意志|!喷吐武器DC|!气势凶猛DC|
|雏龙|超小型|5d12+5(37)|11|10|13|12|13|12|+5/ -3|+7|+5|+4|+5|2d4(13)|─|
|幼龙|小型|8d12+8(60)|13|10|13|12|13|12|+8/+5|+10|+7|+6|+7|4d4(15)|─|
|少年|中型|11d12+22(93)|15|10|15|14|15|14|+11/+13|+13|+9|+7|+9|6d4(17)|─|
|青少年|中型|14d12+28(119)|17|10|15|14|15|14|+14/+17|+17|+11|+9|+11|8d4(19)|─|
|青年|大型|17d12+51(161)|19|10|17|16|17|16|+17/+25|+20|+13|+10|+13|10d4(21)|21|
|成年|大型|20d12+80(210)|23|10|19|16|17|16|+20/+30|+25|+16|+12|+15|12d4(24)|23|
|壮年|超大型|23d12+115(264)|27|10|21|18|19|18|+23/+39|+29|+18|+13|+17|14d4(26)|25|
|老年|超大型|26d12+130(299)|29|10|21|18|19|18|+26/+43|+33|+20|+15|+19|16d4(28)|27|
|极老|超大型|29d12+174(362)|31|10|23|20|21|20|+29/+47|+37|+22|+16|+21|18d4(30)|29|
|古龙|超大型|32d12+192(400)|33|10|23|20|21|20|+32/+51|+41|+24|+18|+23|20d4(32)|31|
|上古龙|巨型|35d12+245(472)|35|10|25|22|23|22|+35/+59|+43|+26|+19|+25|22d4(34)|33|
|太古龙|巨型|38d12+304(551)|37|10|27|22|23|22|+38/+63|+47|+29|+21|+27|24d4(37)|35|


''赤铜龙的能力依年龄列表''

|!年龄|!速度|!先攻权|!防御等级|!特殊能力|!施法等级|!法术抗力|
|雏龙|40尺,飞行100尺(普通)|+0|16(+2体型,+4天生),接触12,措手不及16|对酸免疫,蛛行|-|-|
|幼龙|40尺,飞行100尺(普通)|+0|18(+1体型,+7天生),接触11,措手不及18||-|-|
|少年|40尺,飞行150尺(不良)|+0|20(+10天生),接触10,措手不及20||1级|-|
|青少年|40尺,飞行150尺(不良)|+0|23(+13天生),接触10,措手不及23|物品定位术|3级|-|
|青年|40尺,飞行150尺(不良)|+0|25( -1体型,+16天生),接触9,措手不及25|伤害减免5/魔法|5级|19|
|成年|40尺,飞行150尺(不良)|+0|28( -1体型,+19天生),接触9,措手不及28|塑石术|7级|21|
|壮年|40尺,飞行150尺(不良)|+0|30( -2体型,+22天生),接触8,措手不及30|伤害减免10/魔法|9级|23|
|老年|40尺,飞行150尺(不良)|+0|33( -2体型,+25天生),接触8,措手不及33|化石为泥/化泥为石|11级|25|
|极老|40尺,飞行150尺(不良)|+0|36( -2体型,+28天生),接触8,措手不及36|伤害减免15/魔法|13级|26|
|古龙|40尺,飞行150尺(不良)|+0|39( -2体型,+31天生),接触8,措手不及39|石墙术|15级|28|
|上古龙|40尺,飞行200尺(笨拙)|+0|40( -4体型,+34天生),接触6,措手不及40|伤害减免20/魔法|17级|29|
|太古龙|40尺,飞行200尺(笨拙)|+0|43( -4体型,+37天生),接触6,措手不及43|移土术|19级|31|

|* 也能如施放奥术一样施放牧师法术及来自于混乱、土和诡术领域的法术。|


刚出生的时候,赤铜龙的鳞片呈现出带有金属光泽的红褐色。随着年龄的增长,鳞片变得更细致而且更具铜色,在青年时期会散发柔和温暖的光泽。年龄非常大的赤铜龙的鳞片会带有一些绿色。赤铜龙的瞳孔随着年龄增长而逐渐变淡,到最后眼睛看起来就像是发光的绿松石一样。

!!!!战斗
赤铜龙欣赏机智和风趣,而且通常不会伤害那些能讲述它们从来未曾听过的笑话、有趣的故事或谜题的生物。赤铜龙对于那些无法理解它的笑话或不能接受它的幽默把戏的生物会很快地感到恼怒。它们喜欢嘲笑和捉弄这些对手使之投降或做出愚蠢的举动。

生气的赤铜龙喜欢使用化石为泥让对手陷入困境。赤铜龙会把受困的对手推入泥沼里或者把它们抓起来飞到天上。赤铜龙会试图把会飞的敌人引到狭窄的岩石峡谷中,在这里它可以使用它的蛛行能力并能使对手撞击石壁。

''喷吐武器 (Su):''赤铜龙拥有两种喷吐武器,能喷吐出线形的酸液及锥形的缓慢气体。处于锥形范围内的生物必须通过一个强韧豁免检定否则会被缓慢效果影响长达1d6加赤铜龙每年龄层1轮。

''蛛行 (Ex):''赤铜龙可以如同使用了蛛行术一般在石头表面攀爬。

''类法术能力:''

|//每天2次// - 塑石术 (成年或更老);|
|//每天1次// - 化石为泥或化泥为石 (老年或更老),石墙术 (古龙或更老),移土术 (太古龙)。|

''技能:''唬骗,躲藏及跳跃被视为赤铜龙的本职技能。











!!!Gold Dragon(金龙)

''龙类 (火系)''

''区域:''温暖的山脉

''组织:''雏龙,幼龙,少年,青少年及青年:单独或一窝 (2-5);成年,壮年,老年,极老,古龙,上古龙及太古龙:单独,成双或家庭 (1-2及2-5后代)

''挑战等级:''雏龙5;幼龙7;少年9;青少年11;青年14;成年16;壮年19;老年21;极老22;古龙24;上古龙25;太古龙27

''宝物:''三倍标准

''阵营:''总是守序善良

''进化:''雏龙9-10HD;幼龙12-13HD;少年15-16HD;青少年18-19HD;青年21-22HD;成年24-25HD;壮年27-28HD;老年30-31HD;极老33-34HD;古龙36-37HD;上古龙39-40HD;太古龙42+HD

''等级调整:''雏龙+4;幼龙+5;少年+6;其他 -

''金龙的各项数值依年龄列表''


|!年龄|!体型|!生命骰(hp)|!力量|!敏捷|!体质|!智力|!感知|!魅力|!基本攻击/擒抱|!攻击|!强韧|!反射|!意志|!喷吐武器DC|!气势凶猛DC|
|雏龙|中型|8d12+16(68)|17|10|15|14|15|14|+8/+11|+11|+8|+6|+8|2d10(16)|─|
|幼龙|大型|11d12+33(104)|21|10|17|16|17|16|+11/+20|+15|+10|+7|+10|4d10(18)|─|
|少年|大型|14d12+42(133)|25|10|17|16|17|16|+14/+25|+20|+12|+9|+12|6d10(20)|─|
|青少年|大型|17d12+68(178)|29|10|19|18|19|18|+17/+30|+25|+14|+10|+14|8d10(22)|─|
|青年|超大型|20d12+100(230)|31|10|21|18|19|18|+20/+38|+28|+17|+12|+16|10d10(25)|24|
|成年|超大型|23d12+115(264)|33|10|21|20|21|20|+23/+42|+32|+18|+13|+18|12d10(26)|26|
|壮年|超大型|26d12+156(325)|35|10|23|20|21|20|+26/+46|+36|+21|+15|+20|14d10(29)|28|
|老年|巨型|29d12+203(391)|39|10|25|24|25|24|+29/+55|+39|+23|+16|+23|16d10(31)|31|
|极老|巨型|32d12+256(464)|41|10|27|26|27|26|+32/+59|+43|+26|+18|+26|18d10(34)|34|
|古龙|巨型|35d12+315(542)|43|10|29|28|29|28|+35/+63|+47|+28|+19|+28|20d10(36)|36|
|上古龙|超巨型|38d12+380(627)|45|10|31|30|31|30|+38/+71|+47|+31|+21|+31|22d10(39)|39|
|太古龙|超巨型|41d12+451(717)|47|10|33|32|33|32|+41/+75|+51|+33|+22|+33|24d10(41)|41|


''金龙的能力依年龄列表''


|!年龄|!速度|!先攻权|!防御等级|!特殊能力|!施法等级|!法术抗力|
|雏龙|60尺,飞行200尺(不良),游泳60尺|+0|17(+7天生),接触10,措手不及15|变化形态,对火焰免疫,易受寒冷伤害,水中呼吸|-|-|
|幼龙|60尺,飞行200尺(不良),游泳60尺|+0|19(+10天生),接触9,措手不及17||-|-|
|少年|60尺,飞行200尺(不良),游泳60尺|+0|22( -1体型,+13天生),接触9,措手不及20||1级|-|
|青少年|60尺,飞行200尺(不良),游泳60尺|+0|25( -1体型,+16天生),接触9,措手不及22|祝福术|3级|-|
|青年|60尺,飞行200尺(不良),游泳60尺|+0|27( -2体型,+19天生),接触8,措手不及25|伤害减免5/魔法|5级|21|
|成年|60尺,飞行200尺(不良),游泳60尺|+0|30( -2体型,+22天生),接触8,措手不及27|幸运奖励|7级|23|
|壮年|60尺,飞行200尺(不良),游泳60尺|+0|33( -2体型,+25天生),接触8,措手不及30|伤害减免10/魔法|9级|25|
|老年|60尺,飞行250尺(笨拙),游泳60尺|+0|34( -4体型,+28天生),接触6,措手不及33|指示术|11级|27|
|极老|60尺,飞行250尺(笨拙),游泳60尺|+0|37( -4体型,+31天生),接触6,措手不及36|伤害减免15/魔法|13级|28|
|古龙|60尺,飞行250尺(笨拙),游泳60尺|+0|40( -4体型,+34天生),接触6,措手不及37|阳炎爆|15级|30|
|上古龙|60尺,飞行250尺(笨拙),游泳60尺|+0|39( -8体型,+37天生),接触2,措手不及40|伤害减免20/魔法|17级|31|
|太古龙|60尺,飞行250尺(笨拙),游泳60尺|+0|42( -8体型,+40天生),接触2,措手不及43|预警术|19级|33|

|* 也能如施放奥术一样施放牧师法术及来自于秩序、机运和善良领域的法术。|

刚孵化时,金龙的鳞片呈现出带有金色金属斑点的暗黄色。

这些斑点会随着年龄的增长而变大,到了成年阶段鳞片就变成了完全的金色。金龙的脸上长有胡须而且看起来博学多才;随着年龄的增长,它们的瞳孔逐渐变淡,到最后眼睛看起来好像熔化的黄金一样。

!!!!战斗
金龙在战斗前通常会谈判。与智慧生物对话时,会使用威吓及察言观色以占据上风。战斗中,金龙会使用祝福术和它们的幸运奖励;较老的金龙会在每天开始的时候使用其幸运奖励。金龙在战斗时会大量使用法术。它们最喜爱得法术有死云术,延迟爆裂火球,火焰护盾,法术无效结界,迷宫术,睡眠术,缓慢术和臭云术。

''喷吐武器 (Su):''金龙拥有两种喷吐武器,能喷吐出锥形的火焰及锥形的弱化气体。处于锥形范围内的生物必须通过一个强韧豁免检定否则会受到金龙每年龄层1点的力量伤害。

''变化形态 (Su):''每天三次,金龙可以通过一个标准动作转换成任意体型为中等或更小的动物或类人生物的形态。青铜龙可以保持在它的动物或类人生物形态下直到它选择转换成一种新的形态或变回原形。

''水中呼吸 (Ex):''金龙可以在水中呼吸,而且在潜水时可以自由地使用其喷吐武器 (锥形火焰在水下会变成锥形的高温蒸气),法术及其他能力。

''幸运奖励 (Sp):''每天一次,成年或更老的金龙可以通过接触一块宝石 (通常是嵌在龙皮中的)来在它上面附上带来好运的魔法。只要金龙携带这此宝石,它本身和所有处于半径为此金龙每年龄层10尺范围内的所有善良生物都会在所有的豁免检定及类似检定中获得+1的幸运加值,就如同携带着幸运石一样。如果金龙将此宝石给予其他生物,那么只有携带者才能获得此加值。此效果可持续1d3加金龙每年龄层3小时,但宝石一旦被摧毁则效果立即结束。此能力相当于一个2级法术。

''其他类法术能力:''

|//每天3次 //- 祝福术 (青少年或更老);|
|//每天1次// - 指示术 (老年或更老),阳炎爆 (古龙或更老),预警术 (太古龙)。|

''技能:''易容,医疗及游泳被视为金龙的本职技能。




















!!!Silver Dragon(银龙)

''龙类 (寒系)''

''区域:''温带山脉

''组织:''雏龙,幼龙,少年,青少年及青年:单独或一窝 (2-5);成年,壮年,老年,极老,古龙,上古龙及太古龙:单独,成双或家庭 (1-2及2-5后代)

''挑战等级:''雏龙4;幼龙5;少年7;青少年10;青年13;成年15;壮年18;老年20;极老21;古龙23;上古龙24;太古龙26

''宝物:''三倍标准

''阵营:''总是守序善良

''进化:''雏龙8-9HD;幼龙11-12HD;少年14-15HD;青少年17-18HD;青年20-21HD;成年23-24HD;壮年26-27HD;老年29-30HD;极老32-33HD;古龙35-36HD;上古龙38-39HD;太古龙41+HD

''等级调整:''雏龙+4;幼龙+4;少年+5;其他 -

''银龙的各项数值依年龄列表''




|!年龄|!体型|!生命骰(hp)|!力量|!敏捷|!体质|!智力|!感知|!魅力|!基本攻击/擒抱|!攻击|!强韧|!反射|!意志|!喷吐武器DC|!气势凶猛DC|
|雏龙|小型|7d12+7(52)|13|10|13|14|15|14|+7/+4|+9|+6|+5|+7|2d8(14)|─|
|幼龙|中型|10d12+20(85)|15|10|15|14|15|14|+10/+12|+12|+9|+7|+9|4d8(17)|─|
|少年|中型|13d12+26(110)|17|10|15|16|17|16|+13/+16|+16|+10|+8|+11|6d8(18)|─|
|青少年|大型|16d12+48(152)|19|10|17|18|19|18|+16/+24|+19|+13|+10|+14|8d8(21)|─|
|青年|大型|19d12+76(199)|23|10|19|18|19|18|+19/+29|+24|+15|+11|+15|10d8(23)|23|
|成年|超大型|22d12+110(253)|27|10|21|20|21|20|+22/+38|+28|+18|+13|+18|12d8(26)|26|
|壮年|超大型|25d12+125(287)|29|10|21|20|21|20|+25/+42|+32|+19|+14|+19|14d8(27)|27|
|老年|超大型|28d12+168(350)|31|10|23|22|23|22|+28/+46|+36|+22|+16|+22|16d8(30)|30|
|极老|超大型|31d12+186(387)|33|10|23|24|25|24|+31/+50|+40|+23|+17|+24|18d8(31)|32|
|古龙|巨型|34d12+238(459)|35|10|25|26|27|26|+34/+58|+42|+26|+19|+27|20d8(34)|35|
|上古龙|巨型|37d12+333(573)|39|10|29|28|29|28|+37/+63|+47|+29|+20|+29|22d8(37)|37|
|太古龙|超巨型|40d12+400(660)|43|10|31|30|31|30|+40/+72|+48|+32|+22|+32|24d8(40)|40|


''银龙的能力依年龄列表''

|!年龄|!速度|!先攻权|!防御等级|!特殊能力|!施法等级|!法术抗力|
|雏龙|40尺,飞行100尺(普通)|+0|17(+1体型,+6天生),接触11,措手不及17|变化形态,对酸及寒冷免疫,云行,易受火焰伤害|-|-|
|幼龙|40尺,飞行150尺(不良)|+0|19(+9天生),接触10,措手不及19||-|-|
|少年|40尺,飞行150尺(不良)|+0|22(+12天生),接触10,措手不及22||1级|-|
|青少年|40尺,飞行150尺(不良)|+0|24( -1体型,+15天生),接触9,措手不及24|羽落术|3级|-|
|青年|40尺,飞行150尺(不良)|+0|27( -1体型,+18天生),接触9,措手不及27|伤害减免5/魔法|5级|20|
|成年|40尺,飞行150尺(不良)|+0|29( -2体型,+21天生),接触8,措手不及29|重雾术|7级|22|
|壮年|40尺,飞行150尺(不良)|+0|32( -2体型,+24天生),接触8,措手不及32|伤害减免10/魔法|9级|24|
|老年|40尺,飞行150尺(不良)|+0|35( -2体型,+27天生),接触8,措手不及35|操控风向|11级|26|
|极老|40尺,飞行150尺(不良)|+0|38( -2体型,+30天生),接触8,措手不及38|伤害减免15/魔法|13级|27|
|古龙|40尺,飞行200尺(笨拙)|+0|39( -4体型,+33天生),接触6,措手不及39|操控天气|15级|29|
|上古龙|40尺,飞行200尺(笨拙)|+0|42( -4体型,+36天生),接触6,措手不及42|伤害减免20/魔法|17级|30|
|太古龙|40尺,飞行200尺(笨拙)|+0|41( -8体型,+39天生),接触2,措手不及41|反重力|19级|32|

|* 也能如施放奥术一样施放牧师法术及来自于气、善良和太阳领域的法术。|


银龙雏龙的鳞片呈现出带有银色光芒的蓝灰色。随着银龙逐渐进入成年阶段,鳞片会变得越来越亮直到无法分辨出个别的鳞片。

!!!!战斗
银龙个性并不凶暴,除非面对的是极端邪恶或攻击性强的敌人,否则不会轻易开战。如果必要,它们会使用重雾术或操控天气来使对手在攻击前就目盲或困惑。生气的时候,它们使用反重力让敌人无助的飞向天空,在那里银龙可以把敌人抓住。对抗会飞的对手时,银龙会躲藏在云中 (天气晴朗时会用操控天气制造一些出来),然后在最有利的时候冲出来攻击。

''喷吐武器 (Su):''银龙拥有两种喷吐武器,能喷吐出锥形的寒气及锥形的麻痹气体。处于锥形范围内的生物必须通过一个强韧豁免检定否则会被麻痹长达1d6加银龙每年龄层1轮。

''变化形态 (Su):''每天三次,银龙可以通过一个标准动作转换成任意体型为中等或更小的动物或类人生物的形态。青铜龙可以保持在它的动物或类人生物形态下直到它选择转换成一种新的形态或变回原形。

''云行 (Su):''银龙可以如同在地面一样在云雾上行走。此能力持续地产生作用但是银龙可以随意地将其消除或恢复。

''类法术能力:''

|//每天3次// - 重雾术 (成年或更老),操控风向 (老年或更老);|
|//每天2次// - 羽落术 (青少年或更老);|
|//每天1次// - 操控天气 (古龙或更老),反重力 (太古龙)。|

''技能:''唬骗,易容及跳跃被视为银龙的本职技能。 
!!!托梦术(Dream)
|幻术系(魅影幻觉)[影响心灵]|
|''等级:''吟游诗人 5,术士/法师 5|
|''法术成分:''言语,姿势|
|''施法时间:'' 1分钟|
|''距离:''无限制|
|''目标:''一个接触到的活物|
|''持续时间:''见说明|
|''豁免检定:''无|
|''法术抗力:''可|
|你,或你接触过的传信人可以梦境向他人传递幻觉信息。法术开始时,你必须说出受术者的名字,或者通过可以精确确认受术者的一些头衔来指定受术对象。随后传信人会进入出神状态中,随即出现在对象梦中传递讯息。讯息可以是任意长度,对象在醒来后仍然可以完整记得。通讯是单向的。对方不能提问或提供信息,传信人也不能通过观察对象的梦境来获得信息。|
|一旦信息传递了,传信人的心灵立即返回身体。法术的持续时间是传信人进入对象梦中并传递讯息所需时间。|
|法术开始时,若对象是清醒地,则传信人可以选择醒来(法术结束)或保持出神状态。他可保持出神状态直到对方进入睡眠,然后进入对方梦境如常传递信息。若传信人在出神状态中受到干扰并醒来,那么法术结束。|
|无需睡眠的生物(如精灵,不包括半精灵)或不做梦的生物不能通过本法术联络。|
|传信人在梦中对周围情形一无所知。此时他在生理和心理上都毫无防御能力(任何检定都直接失败)|
!!Drider(蛛化精灵)

''大型异怪''

|''生命骰:'' 6d8+18(45hp)|
|''先攻权:'' +2|
|''速度:'' 30英尺(6格),攀爬15英尺|
|''防御等级:'' 17(-1体型,+2敏捷,+6天生),结合促11,措手不及15|
|''基本攻击/擒抱:'' +4/+10|
|''攻击:'' 短剑+5近战(1d6+2/19-20*2)或噬咬+6近战(1d4+1外加毒素)或短弓+5远程(1d8/*3)|
|''全回合攻击:'' 2短剑+3近战近战(1d6+2/19-20*2)以及噬咬+6近战(1d4+1外加毒素);或短弓+5远程(1d8/*3)|
|''面宽/触及:'' 10英尺/5英尺|
|''特殊攻击:'' 法术,类法术能力,毒素|
|''特性:'' 黑暗视觉60英尺,法术抗力17|
|''豁免:'' 强韧+5,反射+4,意志+8|
|''属性:'' 力量15,敏捷15,体质16,智力15,感知16,魅力16|
|''技能:'' 攀爬+14,专注+9,躲藏+10,聆听+9,潜行+12,侦察+9|
|''专长:'' 战斗施法,双武器战斗,武器专攻(噬咬)|
|''环境:'' 地底|
|''组织:'' 单独,成对,或一大群(1-2外加7-12只中型变种蜘蛛)|
|''挑战等级:'' 7|
|''宝物:'' 双倍标准|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 依照人物等级|
|''等级调整:'' +4|

蛛化精灵说卓尔语,通用语和地底通用语。

战斗
蛛化精灵很少放过攻击其它生物的机会,尤其是突袭。它们通常会先用法术攻击对手,然后用浮空术漂离敌人的触及范围。

''毒素(特异):''伤口,强韧检定(DC=16), 初始及后续伤害都是1d6点暂时性力量损失。

''类法术能力:''每天一次——舞光术(DC=13),锐耳术/鹰眼术,黑暗术,侦测善良,侦测守序,侦测魔法,解除魔法,妖火,浮空术和暗示术(DC=16)。施法者等级6。豁免检定DC基于其魅力调整值。

''法术:''蛛化精灵如同6级的牧师、法师或者术士一般施放法术。蛛化精灵牧师可选择下列的法术领域:混乱,毁灭,邪恶和诡术。一名蛛化精灵术士通常准备的法术如下所示。典型的术士所知法术(6/7/6/4,基础豁免检定DC=13+法术等级):0——晕眩术,侦测魔法,幻音术,法师之手,冰冻射线,阅读魔法,提升抗力;1——法师护甲,魔法飞弹,衰弱射线,无声幻影;2——隐形,蛛网术;3——闪电球。

''技能:''蛛化精灵在躲藏和潜行检定上有+4种族加值。它在攀爬检定上具有+8种族加值并总是可以取10,即使是在匆忙或是被威胁的情况之下。 

''阵营:''中立善良,守序中立,中立,混乱中立,或中立邪恶。

''生命骰:''d8

 

 
!!!!  本职技能
德鲁伊的本职技能(和各技能的关键属性)为:专注(体质),手艺(智力),交涉(魅力),驯养动物(魅力),医疗(感知),知识(自然)(智力),聆听(感知),专业(感知),骑术(敏捷),辨识法术(智力),侦察(感知),生存(感知),游泳(力量)。

''1级人物起始技能点:''(4+智力修正)x4

''升级技能点数:''4+智力修正。

''表:德鲁伊''

|!		|!		|!		|!		|!		|!		|!	-------- 每日法术 --------	|<|<|<|<|<|<|<|<|<|
|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!	特殊	|!	0级	|!	1级	|!	2级	|!	3级	|!	4级	|!	5级	|!	6级	|!	7级	|!	8级	|!	9级	|
|^	1 	|^	+0	|^	+2	|^	+0	|^	+2	|^	动物伙伴,自然感受,野性认同	|^	3	|^	1	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	2	|^	+1	|^	+3	|^	+0	|^	+3	|^	穿林	|^	4	|^	2	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	3	|^	+2	|^	+3	|^	+1	|^	+3	|^	无踪步	|^	4	|^	2	|^	1	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	4	|^	+3	|^	+4	|^	+1	|^	+4	|^	抵抗自然诱惑	|^	5	|^	3	|^	2	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	5	|^	+3	|^	+4	|^	+1	|^	+4	|^	野性变身 (1次/天)	|^	5	|^	3	|^	2	|^	1	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	6	|^	+4	|^	+5	|^	+2	|^	+5	|^	野性变身 (2次/天)	|^	5	|^	3	|^	3	|^	2	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	7	|^	+5	|^	+5	|^	+2	|^	+5	|^	野性变身 (3次/天)	|^	6	|^	4	|^	3	|^	2	|^	1	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	8	|^	+6/+1	|^	+6	|^	+2	|^	+6	|^	野性变身 (大型动物)	|^	6	|^	4	|^	3	|^	3	|^	2	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	9	|^	+6/+1	|^	+6	|^	+3	|^	+6	|^	毒免疫	|^	6	|^	4	|^	4	|^	3	|^	2	|^	1	|^	-	|^	-	|^	-	|^	-	|
|^	10	|^	+7/+2	|^	+7	|^	+3	|^	+7	|^	野性变身 (4次/天)	|^	6	|^	4	|^	4	|^	3	|^	3	|^	2	|^	-	|^	-	|^	-	|^	-	|
|^	11	|^	+8/+3	|^	+7	|^	+3	|^	+7	|^	野性变身 (超小型动物)	|^	6	|^	5	|^	4	|^	4	|^	3	|^	2	|^	1	|^	-	|^	-	|^	-	|
|^	12	|^	+9/+4	|^	+8	|^	+4	|^	+8	|^	野性变身 (植物类生物)	|^	6	|^	5	|^	4	|^	4	|^	3	|^	3	|^	2	|^	-	|^	-	|^	-	|
|^	13	|^	+9/+4	|^	+8	|^	+4	|^	+8	|^	千面相	|^	6	|^	5	|^	5	|^	4	|^	4	|^	3	|^	2	|^	1	|^	-	|^	-	|
|^	14	|^	+10/+5	|^	+9	|^	+4	|^	+9	|^	野性变身 (5次/天)	|^	6	|^	5	|^	5	|^	4	|^	4	|^	3	|^	3	|^	2	|^	-	|^	-	|
|^	15	|^	+11/+6/+1	|^	+9	|^	+5	|^	+9 	|^	不老身躯,野性变身 (超大型动物)	|^	6	|^	5	|^	5	|^	5	|^	4	|^	4	|^	3	|^	2	|^	1	|^	-	|
|^	16	|^	+12/+7/+2	|^	+10	|^	+5	|^	+10	|^	野性变身 (元素 1次/天)	|^	6	|^	5	|^	5	|^	5	|^	4	|^	4	|^	3	|^	3	|^	2	|^	-	|
|^	17	|^	+12/+7/+2	|^	+10	|^	+5	|^	+10	|^		|^	6	|^	5	|^	5	|^	5	|^	5	|^	4	|^	4	|^	3	|^	2	|^	1	|
|^	18	|^	+13/+8/+3	|^	+11	|^	+6	|^	+11	|^	野性变身 (6次/天, 元素 2次/天)	|^	6	|^	5	|^	5	|^	5	|^	5	|^	4	|^	4	|^	3	|^	3	|^	2	|
|^	19	|^	+14/+9/+4	|^	+11	|^	+6	|^	+11	|^		|^	6	|^	5	|^	5	|^	5	|^	5	|^	5	|^	4	|^	4	|^	3	|^	3	|
|^	20	|^	+15/+10/+5	|^	+12	|^	+6	|^	+12	|^	野性变身 (元素 3次/天, 超大型元素)	|^	6	|^	5	|^	5	|^	5	|^	5	|^	5	|^	4	|^	4	|^	4	|^	4	|

  
  
  
 
!!!!职业特性
以下是德鲁伊的职业特性。

''武器和防具擅长:''德鲁伊擅长以下武器:木棒,匕首,飞镖,木棍,弯刀,镰刀,短矛,投石器,矛。在野性变身(wild shape,见后)时他们还擅长使用所变形态的所有天生武器攻击(爪抓,咬或者其他诸如此类)。

德鲁伊擅长使用轻甲和中甲,但是他们不能披挂任何金属盔甲,因此他们只能穿布甲(padded),皮甲(leather)和革甲(hide armor)。(德鲁伊可以穿用铁木术(ironwood)处理的木制盔甲,该法术可以让木制品变得和铁一样。参阅铁木术说明。)德鲁伊还擅长使用盾牌(除了塔盾),但是只能使用木制盾。

穿戴禁用盔甲或者携带禁用盾牌的德鲁伊将无法使用德鲁依法术或超自然能力,或职业类法术能力,直到停止使用禁用装备24小时后为止。

''法术:''德鲁伊施展德鲁伊法术列表中的神术。她的阵营限制她使用那些违反她道德或者信仰的法术,见之后的混乱、邪恶、善良、守序法术说明。德鲁伊必须提前选择和准备她的法术(见后)。

要准备或使用一个法术,德鲁伊的感知值必须达到10+法术等级。对抗德鲁伊法术的难度等级为10+法术等级+德鲁伊的感知修正。

和其他施法者一样,德鲁伊每天每等级所能施放的法术数量是有限的。她的基础每日法术数量在表:德鲁伊里给出。另外,如果她有较高的感知修正,她还可以获得额外的每日法术数量。和牧师不同,她没有任何领域法术或者神授力量。

德鲁伊准备和施放法术的方法和牧师一样,但是不能放弃一个准备好的法术并用它的法术位施放一个治疗法术(但请参见之后的自发施法)。德鲁伊可以准备并施放德鲁伊法术列表上的她能使用的任何法术,但是她必须选择法术以便在每日冥想期间进行准备。

''自发施法(Spontaneous Casting):''德鲁伊可以将已经储存好的法术能量转化为一个之前没准备的召唤法术。她可以“放弃”一个准备好的法术来施放一个同级或者较低等级的召唤自然盟友(summon nature’s ally)法术。

''混乱、邪恶、善良、守序法术:''德鲁伊不能施展那些和她本人或她神祗(如果有)阵营相对的法术。法术是否属于特定的混乱、邪恶、善良、守序可以参见法术说明。

''额外语言:''德鲁伊的额外语言包括木族语(Sylvan),一种森林生物使用的语言。该额外语言附加在种族额外语言列表中。

德鲁伊都通晓德鲁伊语(Druidic),一种只有德鲁伊知道的秘密语言,在成为第一级德鲁伊时她将自动学习到该语言。对德鲁伊来说,德鲁伊语是正常语言外的奖励,不用占据一个语言位。该语言禁止传授给非德鲁伊。

德鲁伊语有自己的字母。

''动物伙伴(Animal Companion,特异能力):''德鲁伊可以带着动物伙伴开始游戏,该伙伴可以在以下列表中选择:獾(badger),骆驼(camel),凶暴鼠(dire rat),狗(dog),骑乘用犬(riding dog),鹰(eagle),猎鹰(hawk),马(horse,轻或重型),猫头鹰(owl),矮种马(pony),蛇(snake,小型或中型蝰蛇(viper)),狼(wolf)。如果战役在一个水生环境中展开,她还可以选择以下生物作为德鲁伊伙伴:鳄鱼(crocodile),海豚(porpoise),中型鲨鱼(Medium shark),乌贼(squid)。该动物伙伴是德鲁伊的忠诚同伴,在德鲁伊的冒险旅途中会一直将其当作自己的同类。

除了之后指出的部分,一级德鲁伊的动物伙伴和它的同类完全一样。在德鲁伊提升等级时,该伙伴的能力会根据该列表中数据成长。如果德鲁伊遣散了她的伙伴,她可以通过一个仪式来获得新的伙伴,该仪式必须不停地持续24小时。该仪式还可以用来取代一个被摧毁的动物伙伴。

4级或更高级别的德鲁伊可以从扩展列表中选择动物伙伴(见后)。从扩展列表中选择动物伙伴时,该生物的能力按照比实际级别低的德鲁伊级别计算。将德鲁伊的等级减去列表头中列出的值,然后用此值查表决定动物伙伴的能力(如果德鲁伊实效等级计算结果等于或小于0,那么她将不能让此动物成为伙伴)。

''自然感受(Nature Sense,特异能力):''德鲁伊在知识(自然)和生存检定时获得+2加值。

''野性认同(Wild Empathy,特异能力):''德鲁伊可以改善动物的态度。该能力类似在改善人的态度时所做的交涉检定。德鲁伊投一个1d20,再加上她的德鲁伊等级和魅力修正来决定野性认同的结果。

一般家畜开始时的态度是冷淡(indifferent),野外生物则通常是不友善(unfriendly)。

要使用野性认同, 德鲁伊和动物必须能够互相仔细查看,即两者必须在普通环境下彼此相距30尺以内。一般通过这种方式感化一个动物需要1分钟时间,不过和感化人类似,有可能需要更多和更少的时间。

德鲁伊可以通过该能力感化一个智力为1或2的魔法兽, 不过在检定中要受到-4减值。

''穿林(Woodland Stride,特异能力):''2级起德鲁伊可以以正常速度通过任何矮树丛(例如自然的荆棘丛,石南丛,茂密的灌木丛,以及其他类似地形),并且不会受到伤害或者其他损失。但是用魔法生成的这类地形还是会阻碍她的行动。

''无踪步(Trackless Step,特异能力):''3级开始,德鲁伊在自然环境下不会留下任何痕迹,也无法被追踪。她也可以在需要的时候选择留下痕迹。

''抵抗自然诱惑(Resist Nature’s Lure,特异能力):''4级起, 德鲁伊在对抗精类生物(fey)的类法术能力时豁免有+4加值。

''野性变身(Wild Shape,超自然能力):''5级时德鲁伊获得将自身形体变形成小型或中型动物并变形回来的能力, 该能力每天一次。她可以在任何动物类生物中选择她的新形态。除了这里的说明,该能力类似变形术(polymorph)。变形持续效果为每德鲁伊等级1小时,或者直到她决定变化回来。变化形体(变成动物或者变回来)是一个标准动作,而且不会遭受借机攻击。

变化的形体必须是这名德鲁伊熟悉的动物。
在动物形态时,德鲁伊失去说话能力,这是因为她只能发出普通的未受训练的动物所能发出的声音。但是她可以和与她的新形态同种的生物正常交流。(野鹦鹉只能发出咯咯的叫声,因此变形成这种形态也不能说话。)

在6,7,10,14,18级时,德鲁伊可以更多次的使用该能力,见表:德鲁伊。另外,8级时德鲁伊可以使用该能力变形成大型动物,11级为超小型,15级为超大型。

新形态的生命骰不能超过角色的德鲁伊等级。

12级时,德鲁伊可以使用野性变身能力把自己变形成植物类生物,该形态的体型限制和动物形态一样。(德鲁伊不能用这种能力把自己变化成不属于生物的植物。)
16级时,德鲁伊可以每天一次把自己变形成小、中、或大型元素(气、土、火、水)。 这些元素形态是正常野性变身能力之外的形态。除了一般的变形效果之外,德鲁伊还获得了该元素的全部特异能力、超自然能力和类法术能力。在变形期间她还获得了元素的全部专长,但是她的生物类型还是保持原来的类型。
18级时德鲁伊可以每天两次变形为元素,20级时每天三次。20级时德鲁伊可以使用该能力将自己变形成超大型元素。

''毒免疫(Venom Immunity,特异能力):''9级起,德鲁伊免疫任何毒素。

''千面相(A Thousand Faces,超自然能力):''13级起,德鲁伊可以随意改变自己的面容,如同使用变身术(alter self),但是仅限于在通常形态下使用。

''不老身躯(Timeless Body,特异能力):''15级起, 德鲁伊不再因为年龄而受到属性减值,也不会因为魔法变老。但是之前已经受到的减值将保留。

属性加值仍然可以获得,并且德鲁伊还是会因为命尽而死去。

 

!!!!前德鲁伊(Ex-Druids)
不再尊敬自然,阵营变为禁止阵营,或者传授德鲁伊语给非德鲁伊的德鲁伊都将失去所有法术和德鲁伊能力(包括动物伙伴,但是不包括武器盔甲盾牌擅长)。她也不能在德鲁伊职业上继续成长,直到她赎罪为止(见赎罪术(atonement)说明)。

 

!!!德鲁伊的动物伙伴

德鲁伊的动物伙伴和该动物的普通种类在很多方面有区别。它比普通动物同类强,而且具有特殊能力,如下所述:

|!	职业等级 	|!	奖励HD	|!	天生防御调整	|!	力量/敏捷调整	|!	奖励技巧	|!特殊	 |
|^	1-2 	|^	+0	|^	+0	|^	+0	|^	1	|^	链接,共享法术	|
|^	3-5 	|^	+2	|^	+2	|^	+1	|^	2	|^	反射闪避	|
|^	6-8 	|^	+4	|^	+4	|^	+2	|^	3	|^	忠诚	|
|^	9-11 	|^	+6	|^	+6	|^	+3	|^	4	|^	多重攻击	|
|^	12-14 	|^	+8	|^	+8	|^	+4	|^	5	|^		|
|^	15-17 	|^	+10	|^	+10	|^	+5	|^	6	|^	精通反射闪避	|
|^	18-20 	|^	+12	|^	+12	|^	+6	|^	7	|^		|


''动物伙伴基础:''使用它的普通生物基础数据,除了以下改变。

//职业等级://角色的德鲁伊等级。角色的德鲁伊等级和其他任何具有动物伙伴的职业等级相叠加决定了动物伙伴的能力和该角色的扩展伙伴列表。

//奖励HD://额外的八面生命骰(d8),每一个生命骰都可以如常的获得体质修正。额外HD可以增加伙伴的基本攻击加值和基本豁免加值。动物伙伴的基础攻击加值等于等级和该动物HD数相同的德鲁伊人物的基础攻击加值。它有较好的强韧和反射豁免值(视为一名等级等于该动物HD数的人物)。动物伙伴可以可以和一般怪物一样通过奖励HD来增加技能点和专长。

//天生防御调整://该数值增强了动物伙伴的天生防御。

//力量/敏捷调整://在该动物伙伴的力量和敏捷上增加该数值。

//奖励技巧(Bonus Trick)://这一栏里给出的数值是在动物伙伴已知技巧加上所有德鲁伊已经教过它的技巧(见驯养动物(Handle Animal)技能)以外的奖励技巧总数。这些奖励技巧不需要任何训练时间或者进行驯养动物检定,它们也不记入动物技巧的数量上限。德鲁伊一旦选定奖励技巧就无法更改。

//链接(Link,特异能力)://德鲁伊可以以即时动作来驾驭她的动物伙伴,也可以以一个移动动作来激励它,而不管她是否有驯养动物技能等级。德鲁伊在做和她的动物伙伴相关的野性认同(wild empathy)或驯养动物检定时都有+4环境加值。

//法术共享(Share Spells,特异能力)://根据德鲁伊的选择,她可以让她施放给自己的法术(不包括类法术能力)同样影响自己的伙伴。该伙伴必须在施法时处在德鲁伊周围5英尺范围内才能获得好处。如果该法术或者法术效果不是瞬间的而是有持续时间,那么在动物伙伴离开5尺范围后该法术将无法影响此动物伙伴,并且也不会再次影响它,就算它在法术持续时间到期前回到德鲁伊身边也是如此。

另外,德鲁伊可以对动物伙伴施展那些法术目标为“自己”(“You”)的法术(如同远程接触法术)而不是对自己施展。即使某些法术通常不会影响动物伙伴同类生物(动物),德鲁伊也可以用这种方式和动物伙伴共享该法术。

//反射闪避(Evasion,特异能力)://有些攻击效果若通过反射检定可以减少一半伤害,如果动物伙伴遭到此类攻击,在通过反射检定后它将不受伤害。

//忠诚(Devotion,特异能力)://在对抗惑控系法术影响时,动物伙伴在意志豁免上有+4加值。

//多重攻击(Multiattack,特异能力)://如果动物伙伴有三种或更多的天生攻击能力,而且之前没有此专长,那么它将获得多重攻击作为奖励专长。如果它没有这么多天生攻击能力,那么动物伙伴可以用它主要的天生武器进行第二次攻击,但是要受到-5命中减值。

//精通反射闪避(Improved Evasion,特异能力)://有些攻击效果若通过反射检定可以减少一半伤害,如果动物伙伴遭到此类攻击,在通过反射检定后它将不受伤害,如果检定失败它也只受到一半伤害。

 

!!!动物伙伴扩展列表:

高等级的德鲁伊可以从下表中选择他的动物伙伴,需要对德鲁伊等级进行调整(圆括号中的部分)来决定动物伙伴的特性和特殊能力。

 

|!4级或更高(等级 -3)|
|人猿(Ape,动物) |
|黑熊(Bear, black,动物) |
|野牛(Bison,动物)|
|野猪(Boar,动物)|
|猎豹(Cheetah,动物)|
|鳄鱼^^1^^(Crocodile,动物)|
|凶暴獾(Dire badger)|
|凶暴蝙蝠(Dire bat)|
|凶暴鼬(Dire weasel)|
|豹(Leopard,动物)|
|巨蜥(Lizard, monitor,动物)|
|!7级或更高(等级-6)|
|棕熊(Bear, brown,动物)|
|凶暴狼獾(Dire wolverine)|
|巨型鳄鱼(Crocodile, giant,动物)|
|恐爪龙 (Deinonychus,恐龙) |
|凶暴人猿(Dire ape)|
|凶暴野猪(Dire boar) |
|凶暴狼(Dire wolf)|
|蛇颈龙^^1^^(Elasmosaurus,恐龙)|
|狮(Lion,动物)|
|犀牛(Rhinoceros,动物)|
|巨型蝰蛇(Snake, Huge viper,动物)|
|虎(Tiger,动物)|
|!10级或更高(等级-9)|
|北极熊(Bear, polar,动物)|
|凶暴狮(Dire lion)|
|猛禽龙(Megaraptor,恐龙) |
|巨型鲨鱼^^1^^(Shark, Huge,动物)|
|巨蟒(Snake, giant constrictor,动物)|
|逆戟鲸^^1^^(Whale, orca,动物)|
|!13级或更高(等级-12)|
|凶暴熊(Dire bear)|
|大象(Elephant,动物)|
|巨型章鱼^^1^^(Octopus, giant,动物)|
|!16级或更高(等级-15)|
|凶暴鲨^^1^^(Dire shark)|
|凶暴虎(Dire tiger)|
|巨型乌贼^^1^^(Squid, giant,动物)|
|三角龙(Triceratops,恐龙)|
|暴龙(Tyrannosaurus,恐龙)|

1 只在水生环境下可用
''Drums of Panic(慌乱鼓): ''这种鼓看起来像定音鼓(底座半球直径1.5英尺),总是成对出现,当两支鼓同时响起,120英尺内所有生物(除了半径20英尺内的生物)受到如同“恐惧术”的效果(意志检定通过则无效,DC=16)。

施法者等级:7。先决条件:“制造奇物”,“恐惧术”。交易价格:30000金币。重量:10磅。
!!Dryad(树精)

''中型妖精''

|''生命骰:'' 4d6 (14hp)|
|''先攻权:'' +4|
|''速度:'' 30尺 (6格)|
|''防御等级:'' 17 (+4敏捷,+3天生) ,接触14,措手不及13|
|''基本攻击/擒抱:'' +2/ +2|
|''攻击:'' 匕首 +6 近战 (1d4/10-20),或精制长弓 +7 远程 (1d8/x3)|
|''全回合攻击:'' 匕首 +6 近战 (1d4/10-20),或精制长弓 +7 远程 (1d8/x3)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 类法术能力|
|''特性:'' 伤害减免5/寒铁,树木共生,野性认同|
|''豁免:'' 强韧+3,反射+8,意志+6|
|''属性:'' 力量10,敏捷19,体质11,智力14,感知15,魅力18|
|''技能:'' 脱逃+11,驯养动物+11,躲藏+11,知识 (自然)+11,聆听+9,潜行+11,骑乘+6,侦察+9,野外生存+9,绳技+4 (捆绑+6)|
|''专长:'' 强韧加强,武器娴熟|
|''环境:'' 温暖的森林|
|''组织:'' 单独,成群 (4-7)|
|''挑战等级:'' 3|
|''宝物:'' 标准|
|''阵营:'' 通常混乱善良|
|''进化:'' 按职业等级进化|
|''等级调整:'' -|


树精的外貌很类似女性精灵,但皮肤类似树皮或是良好的木料,头发像是树叶,随着季节变换颜色。虽然树精通常各自独立存在,但也会有最多七名树精聚在一起的情况。

树精使用通用语,精灵语和木族语。

!!! 战斗
羞怯但却聪颖而坚决,树精同时具有难以琢磨的性格和吸引力,她们通常会避免贴身肉搏,而且除非她们自愿,否则也很难被察觉。如果受到威胁,或是为帮助同伴,树精会首先使用魅惑人类或暗示术,以期控制攻击者来对付其他目标。但如果对她的树发动攻击,会逼迫树精展开疯狂的防守。

''类法术能力:''施法者等级6。该豁免检定DC基于感知调整值。

|//随意施展 -// 纠缠术 (DC 13),植物交谈,树化术。|
|//每日3次// - 魅惑人类 (DC 13),沉睡术 (DC 15),融身入林|
|//每日1次// - 暗示术 (DC 15)|

''树木共生 (SU):''树精都与特定的巨型橡树有着神秘的魔法联系,因此没法离开其300码范围。任何离开共生范围的树精健康状况会迅速恶化,并在4d6小时后死亡。树精的橡树并不会散发魔法灵光。

''野性认同 (EX):''本能力类似德鲁依的荒野认同职业特性,但树精在检定时可获得+6的种族加值。
''生命骰:''d10。

!!!!先决条件

要具备决斗家的资格,人物必须符合以下全部条件。

''基本攻击加值:''+6。

''技能:''表演3级,翻滚5级。

''专长:''闪避,灵活移动,武器娴熟。

!!!!本职技能
决斗家的本职技能如下(括号中为该技能的关键属性):平衡(敏捷),唬骗(魅力),脱逃术(敏捷),跳跃(力量),聆听(感知),表演(魅力),察言观色(感知),侦察(感知),翻滚(敏捷)。

''升级技能点数:''4+智力调整值。

 

''表:决斗家''

|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!特殊能力 |
|^	1	|^	+1	|^	+0	|^	+2	|^	+0	|^	精明防御	|
|^	2	|^	+2	|^	+0	|^	+3	|^	+0	|^	快速反应+2	|
|^	3	|^	+3	|^	+1	|^	+3	|^	+1	|^	精通灵活移动	|
|^	4	|^	+4	|^	+1	|^	+4	|^	+1	|^	优雅闪避	|
|^	5	|^	+5	|^	+1	|^	+4	|^	+1	|^	精确刺击+1d6	|
|^	6	|^	+6	|^	+2	|^	+5	|^	+2	|^	杂技冲锋	|
|^	7	|^	+7	|^	+2	|^	+5	|^	+2	|^	精心闪避	|
|^	8	|^	+8	|^	+2	|^	+6	|^	+2	|^	快速反应+4	|
|^	9	|^	+9	|^	+3	|^	+6	|^	+3	|^	拨挡飞箭	|
|^	10	|^	+10	|^	+3	|^	+7	|^	+3	|^	精确刺击+2d6	|

 

!!!!职业特性

''武器和防具擅长:''决斗家擅长各类简单武器与军用武器,但不擅长任何盔甲与盾牌。

''精明防御(Canny Defense,特异能力):''在不穿盔甲且不使用盾牌的情况下,在使用近战武器时,决斗家可以将自己的智力加值(如有)加到敏捷加值来调整防护等级,该数字为每一个决斗家等级1点。如果处在措手不及情况下或其他忽略敏捷加值的情况下,也同样失去该加值。

''快速反应(Improved Reaction,特异能力):''2级时,决斗家在先攻掷骰时可以获得+2加值。8级时,加值升至+4。这个加值可与精通先攻专长累加。

''精通灵活移动(Enhanced Mobility,特异能力):''在不穿盔甲且不使用盾牌的情况下,当决斗家移出敌人威胁区域或在威胁区域内移动受到借机攻击时,他可以额外获得+4的AC加值。

''优雅闪避(Grace,特异能力):''4级时,决斗家在所有的反射豁免检定中获得额外的+2表现加值。该技能仅仅在他不穿盔甲且不使用盾牌的情况下有效。

''精确刺击(Precise Strike,特异能力):''5级时,决斗家获得使用轻型或单手穿刺类武器进行精确刺击的特殊能力,可以造成1D6的额外伤害。

当进行精确刺击时,他不可以用另一只手的武器进行攻击或持盾。精确刺击只能对有明显组织构造的活物起作用。任意免疫重击的生物都不受影响,并且任意可以防止重击的物品或技能也可以保护生物不受影响。到了10级,此伤害可以提升至2d6。

''杂技冲锋(Acrobatic Charge,特异能力):''6级开始,决斗家获此能力,可以在其他人无法冲锋的情况下进行冲锋。通过此能力,决斗家可以在正常情况下要慢速移动的地形上进行冲锋。根据周围环境的不同,决斗家可能仍需通过适当的检定,以成功越过该地形。

''精心闪避(Elaborate Parry,特异能力):''7级时,如果在近战中决斗家进行防御式战斗或进行全防御时,在AC上他可以获得额外的+1/每决斗家等级的闪避加值。

''拨挡飞箭(Deflect Arrows):''到了9级,当用轻型或单手穿刺类武器时,决斗家可以获得拨挡飞箭带来的好处。

''Dust of Appearance(显像粉):'' 看起来像非常细微的金属粉。将一小撮扔到空中,会覆盖在半径10英尺所有物体上,显露出隐形的物体,还可抵销“朦胧术”和“移位术”效果(此种效果如同“妖火”法术),该粉可使“镜影术”、“投影术”和虚假幻觉子学派的法术失效,被此粉覆盖的生物在躲藏检定有-30的处罚。“显像粉”效果持续5分钟。

“显像粉”一般都存放在丝质小包或骨制中空吹管里。

施法者等级:5。先决条件:“制造奇物”,“闪光尘”。交易价格:1800金币。
''Dust of Disappearance(隐身粉):'' 看起来和“显像粉”一样,存放方式也相同。被“隐身粉”覆盖的生物会成为隐形(效果如同“进阶隐形”)。不但肉眼无法看见,连“识破隐形”和“消除隐形”法术都无法侦测,只有“显像粉”可以把覆盖隐身粉的人物或物品显现出来。如果靠其他感官(例如声音和味道),也可能侦测出部分线索。

粉尘带来的高等隐形效果可维持2d6轮,隐形生物本身并不会知道此效果何时结束。

施法者等级:7。先决条件:“制造奇物”,“进阶隐形”。交易价格:3500金币。
''Dust of Dryness(乾燥粉): ''如果投入水中,可立刻吸乾100加仑的水,同时粉末会凝结成弹珠大小的球,浮在或停留于投入地点上。如果把球往地上丢,则球会破裂,原本吸收的水便流出来。“乾燥粉”只能吸水(淡水、盐水或重咸水),不能吸收其他液体。

如果投往水系生物,该生物必须进行强韧检定(DC=18),检定失败就被摧毁。即使成功也会受到5d6点伤害。

施法者等级:11。先决条件:“制造奇物”,“操控水位”。交易价格:850金币。
''Dust of Illusion(幻影尘): ''看起来像粉笔灰或石墨粉,但仔细看可发现颜色及形状不断变化。洒在生物身上,效果如同“变颜术”,由使用者决定显出的幻象。如果被洒者不愿意,可进行反射检定(DC=11)以避免此效果。幻象可以维持2小时。

施法者等级:6。先决条件:“制造奇物”,“变颜术”。交易价格:1200金币。
''Dust of Tracelessness(无踪粉): ''可以隐藏踪迹的魔粉。只要将一小撮弹向空中,就可使面积100平方英尺以下的房间变得灰尘弥漫且满布蛛网,如同多年无人使用。

如果洒向足迹,可使一打的人或座骑在一英里内留下的足迹完全消失。使用时立即见效,不会留下使用痕迹。若想对使用此粉的区域进行“追迹”检定,DC比正常值增加20。

施法者等级:3。先决条件:“制造奇物”,“行动无踪”。交易价格:250金币。
!! Dwarf(矮人)



|!		|!	矮人,1级武者(Dwarf,1st-LevelWarrior)	|!	灰矮人,1级武者(Duergar,1st-LevelWarrior)	|
|!		|!	中型类人生物(矮人)	|!	中型类人生物(矮人)	|
|^	''生命骰:''	|^	1d8+2(6Hp)	|^	1d8+5(9Hp)	|
|^	''先攻权:''	|^	+0	|^	+0	|
|^	''速度:''	|^	穿着鳞甲20尺(4格),基本速度20尺	|^	穿着链甲20尺(4格),基本速度20尺	|
|^	''防御等级:''	|^	16(+4鳞甲,+2重盾),接触10,措手不及16	|^	17(+5链甲,+2重盾),接触10,措手不及17	|
|^	''基本攻击/擒抱:''	|^	+1/+2	|^	+1/+2	|
|^	''攻击:''	|^	矮人重斧+3近身(1d10+1/x3)或短弓+1远程(1d6/x3)	|^	战锤+2近身(1d8+1/x3)或轻弩+1远程(1d8/19-20)	|
|^	''全回合攻击:''	|^	矮人重斧+3近身(1d10+1/x3)或短弓+1远程(1d6/x3)	|^	战锤+2近身(1d8+1/x3)或轻弩+1远程(1d8/19-20)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	5尺/5尺	|
|^	''特殊攻击:''	|^	矮人特性	|^	灰矮人特性,类法术能力	|
|^	''特性:''	|^	黑暗视觉60尺,矮人特性	|^	黑暗视觉60尺,灰矮人特性	|
|^	''豁免检定:''	|^	强韧+4*,反射+0*,意志-1*	|^	强韧+4*,反射+0*,意志-1*	|
|^	''属性:''	|^	力量13,敏捷11,体质14,智力10,感知9,魅力6	|^	力量13,敏捷11,体质14,智力10,感知9,魅力4	|
|^	''技能:''	|^	估价+2,手艺(锻造)+2,手艺(石工)+2,聆听+2,侦察+2	|^	估价+2,手艺(锻造)+2,手艺(石工)+2,聆听+3,潜行-4,侦察+2	|
|^	''专长:''	|^	武器专攻(矮人重斧)	|^	健壮	|
|^	''环境:''	|^	温带山脉(地底矮人:地下)	|^	地下	|
|^	''组织:''	|^	小队(2~4个), 中队(11-20名外加2名等级3的士官以及1名等级3-6的指挥官),或部落 (30-100名外加30%的非战斗人员,每10名成人再加1名等级3的士官,此外还有5名         等级5的尉官以及3名等级7的队长)|^	小队(2~4个),中队(9-16名外加3名等级3的士官以及1名等级3-8的指挥官),或部落(20-80名外加25%的非战斗人员,每5名成人再加1名等级3的士官,此外还有3-6名等级6的尉官以及1-4名等级9的队长)	|
|^	''挑战等级:''	|^	1/2	|^	1	|
|^	''宝物:''	|^	标准钱币,双倍工艺品,标准物品	|^	标准钱币,双倍工艺品,标准物品	|
|^	''阵营:''	|^	经常是守序善良(地底矮人:通常是守序中立或中立)	|^	经常是守序邪恶	|
|^	''进化:''	|^	按人物职业进化	|^	按人物职业进化	|
|^	''等级调整:''	|^	+0	|^	+1	|


矮人喜爱石头颜色的衣着,以及简单实用的装扮。他们的皮肤颜色可能非常深,但通常是棕褐色到褐色之间。发色可能是黑色,灰色,或者褐色。矮人平均身高4英尺,与成年人类体重相当。

矮人说矮人语。大多数离开矮人国度旅行的矮人(作为商人,佣兵,或者冒险者)懂得通用语;而矮人城市的武者们通常学习地精语,以讯问或者监视这些地下洞穴的邪恶居民。

在矮人家园外见到的矮人多数是武者。

!!! 战斗
矮人是战斗的专家,他们精明的利用周围的环境,执行计划周详的协同攻击。他们很少在战斗中使用魔法,因为他们中很少有法师或者术士(但是矮人牧师会和武者们同样热情的投入战斗)。如果有时间准备,他们可能建造落石陷阱(Deadfalls)或者其他使用石头的陷阱。除了矮人重斧和投掷战锤外,矮人还使用战锤,十字镐,短弓,重弩,以及硬头锤战斗。

矮人特性(Ex):矮人拥有以下种族特性:

*体质+2,魅力-2。
*中型体型。
*矮人的基本陆地速度为20英尺。然而,即使穿着中型或重型盔甲,或是中载及重载,矮人依然可以以这个速度移动。
*黑暗视觉60尺。
*熟悉岩石:矮人在对不寻常的石造物进行搜索检定时,有+2种族加值。比如滑动的石墙,石制陷阱,新的石造建筑(即使刻意做得和旧石造物一样),危险的石地面,摇晃的石顶。还有一些不是由岩石制成却伪装成石造物的东西也算特殊的石造物。只要进入特殊石造物10英尺内,矮人就能进行搜索技能检定,如同他主动进行搜索一样。矮人也可以像游荡者一样用搜索来找到石制陷阱。在地底时候,矮人能感觉到他目前位置的大致深度,这如同人类的方向位置感觉。矮人拥有对石造物的第六感,这是一种内在的能力,是由于在他们地底的故乡,他们拥有足够的机会去练习使用石造物的原因、
*武器熟悉:矮人将矮人重斧(dwarven waraxes)和矮人矛斧(dwarven urgroshes)视作军用武器,而不是异种武器。
*稳定性:矮人站立时非常稳定。当矮人站在地面上对抗冲撞或者是摔绊进行相关的检定时具有+4的加值(但是这种情况不适用于任何没有牢固站在地面上的检定,比如攀爬,飞行,骑乘时)。
*对毒素的豁免判定有+2种族加值。*没有在上面表中的豁免一栏中体现。
*对法术和类法术的效果的豁免判定有+2种族加值。*没有在上面表中的豁免一栏中体现。
*对兽人(包括半兽人)和地精类(包括地精,大地精,和熊地精)的攻击检定有+1的种族加值。
*对巨人类(如食人魔,巨魔,以及山巨人等)时在防护等级上有+4闪避加值。
*对岩石或金属相关物品估价检定时,有+2种族加值。
*对岩石或金属相关物品进行手艺检定时,有+2种族加值。
*天生使用语言:通用语,矮人语(Dwarven)。额外语言:巨人语(Giant),侏儒语(Gnome),地精语(Goblin),兽人语(Orc),土族语(Terran)和地底通用语(Undercommon)。
*天赋职业:战士。
例子中的矮人武者在种族调整前,拥有如下的属性:力量13,敏捷11,体质12,智力10,感知9,魅力8。

!! 亚种

以上的信息适用于丘陵矮人(hill dwarves),矮人中最常见的一种。

矮人还有三种主要的亚种,他们与丘陵矮人的不同如下:

!!! 地底矮人(Deep Dwarf)
这些矮人生活在地底深处,并倾向与对非矮人生物更加冷淡。

地底矮人与其他矮人身高相当,但是略微瘦削一些。他们的皮肤有时带有淡红色调,他们的大眼睛缺少他们表亲眼睛所拥有的光彩,是褪色的蓝色。他们的发色从亮红色到稻黄色不一。他们跟地面居民接触很少,并依赖丘陵矮人和山地矮人(Moutain dwarves)帮助他们进行贸易。

地底矮人说矮人语和地精语,偶尔使用龙语和地底通用语。

地底矮人特性(Ex):除非特别注明,这些特性是对丘陵矮人特性的增加。

*对法术和类法术的效果的豁免种族加值增加为+3。
*对毒素的强韧豁免种族加值增加为+3。
*黑暗视觉90尺。
*强光敏感:处在明亮日光下,或者昼明术法术范围内时,地底矮人陷入目眩。

!!! 灰矮人(Duergar)

有时被称作灰色矮人,这些邪恶的生物栖息于地下。

大多数灰矮人是光头(包括女性),他们身穿土褐色的衣服,以与石头混在一起。在他们的巢穴中,他们可能会佩戴珠宝,但是这些珠宝总是被磨的黯淡无光。他们与其他矮人作战,甚至不时的与其他地底生物结盟对抗自己的表亲。

灰矮人说矮人语和地底通用语。

灰矮人特性(Ex):除非特别注明,这些特性是对丘陵矮人特性的增加。

*魅力-4而非-2。
*黑暗视觉120尺
*对麻痹,幻象以及毒素免疫。这一特性取代丘陵矮人对毒素强韧豁免的+2种族加值。
*对法术和类法术的效果的豁免判定有+2种族加值。
*类法术能力:1次/日*变大人类和隐形术。这些能力相当于等级为灰矮人职业等级2倍的法师所释放(最低施法者等级3级);这些能力只作用于灰矮人本身和他所携带的物品。
*强光敏感:处在明亮日光下,或者昼明术法术范围内时,灰矮人陷入目眩。
*潜行检定有+4种族加值
*侦察与聆听检定有+1种族加值
*天生使用语言:通用语,矮人语,地底通用语。额外语言:龙语,巨人语,地精语,兽人语,土族语。这一特性取代丘陵矮人的天生使用语言和额外语言。
*天赋职业:战士。
*等级调整+1
*与其他矮人不同,灰矮人不拥有对矮人重斧和矮人矛斧的武器熟悉。
例子中的灰矮人武者在种族调整前,拥有如下的属性:力量13,敏捷11,体质12,智力10,感知9,魅力8。
挑战等级:拥有NPC职业等级的灰矮人的CR等于他们的人物等级,拥有PC职业等级的灰矮人CR等于他们的人物等级+1。

!!! 山地矮人(Mountain Dwarf)
山地矮人在山脉的地下生活,距离地面比丘陵矮人深但是通常不像地底矮人那样深入地下。他们平均身高4又1/2英尺,肤色和发色比丘陵矮人浅,但是其他基本特征与丘陵矮人完全一样。
''生命骰:''d12。

!!!!先决条件

要具备矮人防御者的资格,人物必须符合以下全部条件。

''种族:''矮人。

''阵营:''任何守序阵营。

''基本攻击加值:''+7。

''专长:''闪避,坚忍,健壮。

!!!!本职技能
矮人防御者的本职技能如下(括号中为该技能的关键属性):手艺(智力),聆听(感知),察言观色(感知),侦察(感知)。

''升级技能点数:''2+智力调整值。

 

''表:矮人防御者''

|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!	额外防护等级	|!特殊能力 |
|^	1	|^	+1	|^	+2	|^	+0	|^	+2	|^	+1	|^	防御姿态1次/日	|
|^	2	|^	+2	|^	+3	|^	+0	|^	+3	|^	+1	|^	直觉闪避	|
|^	3	|^	+3	|^	+3	|^	+1	|^	+3	|^	+1	|^	防御姿态2次/日	|
|^	4	|^	+4	|^	+4	|^	+1	|^	+4	|^	+2	|^	陷阱感知+1	|
|^	5	|^	+5	|^	+4	|^	+1	|^	+4	|^	+2	|^	防御姿态3次/日	|
|^	6	|^	+6	|^	+5	|^	+2	|^	+5	|^	+2	|^	伤害减免3/-,精通直觉闪避	|
|^	7	|^	+7	|^	+5	|^	+2	|^	+5	|^	+3	|^	防御姿态4次/日	|
|^	8	|^	+8	|^	+6	|^	+2	|^	+6	|^	+3	|^	移动防御,陷阱感知+2	|
|^	9	|^	+9	|^	+6	|^	+3	|^	+6	|^	+3	|^	防御姿态5次/日	|
|^	10	|^	+10	|^	+7	|^	+3	|^	+7	|^	+4	|^	伤害减免6/-	|


!!!!职业特性

下述均为矮人防御者进阶职业的职业特性:

''额外防护等级(AC Bonus,特异能力):''矮人防御者将会随着等级的提高在其防护等级上获得闪避加值,从+1起,直到10级时可获得总共+4的加值。

''武器和防具擅长:''矮人防御者擅长全部简单武器与军用武器、所有盔甲,以及盾牌。

''防御姿态(Defensive Stance):''当处于防御姿态时,矮人防御者获得惊人的力量与耐力,但不能自防御位置移动。他获得+2力量,+4体质,所有豁免检定的+2抗力加值,AC有+4闪避加值。体质加值使矮人防御者每等级获得2点生命值,不过当防御姿态终了,体质值恢复原状,这些额外生命值也随之消失。这些额外生命值不像暂时生命值那样先损失。在防御时,防御者不能使用需要移动位置的技能或能力。防御姿态持续时间为3轮+人物体质调整值(以最新值计)。防御者可在期限之前自主结束防御姿态。防御结束时,防御者会因为劳累而在这场战斗遭遇中力量得到-2减值。防御姿态每日使用次数有限,视等级而定(见表:矮人防御者)。进入防御姿态状态不需要花时间,但只能在轮到自己动作时使用。

''直觉闪避(Uncanny Dodge,特异能力):''2级起,矮人防御者在措手不及时或被不可见的攻击者攻击时依然保留AC上的敏捷加值。不过如果他不能动,他还是会失去AC上的敏捷加值。

如果角色已经由其他职业上获得了直觉闪避能力,那么他自动获得精通直觉闪避(见后)。

''陷阱感知(Trap Sense,特异能力):''到了4级,矮人防御者对陷阱的反射豁免有+1加值,对陷阱攻击的防御等级有+1闪避加值。8级开始,这些加值升为+2。这些加值可以与其他职业的陷阱感知能力获得的加值进行累加。

''伤害减免(Damage Reduction,特异能力):''6级开始,矮人防御者获得伤害减免能力。每次防御者受到伤害时,可减掉3点伤害。到10级时,伤害减免上升到6/-。伤害减免可以使伤害降到0点,但不能低于0点。

''精通直觉闪避(Improved Uncanny Dodge,特异能力):''6级开始,矮人防御者不会受到夹击,所以游荡者便无法以夹击来进行偷袭。除非游荡者的等级比遭夹击的矮人防御者高至少4级,这时才能够进行夹击(因此还可偷袭)。

如果角色已经因为其他职业获得直觉闪避能力(见前),该角色在得到直觉闪避时自动获得精通直觉闪避,并且将所有获得直觉闪避职业的等级累加起来以决定夹击此角色所需的最低游荡者等级。

''移动防御(Mobile Defense,特异能力):''到了8级,使用防御姿态的矮人防御者能够调整其所在位置。当处于防御姿态状态时,矮人防御者每轮能够在不损失其姿势奖励的情况下进行一次五尺快步。

''矮人铠甲:''这件全身铠甲由精金制成,穿戴者获得3/-伤害减免。

无魔法灵光(不含魔法);价格16500金币。
''Dwarven Thrower(矮人飞锤):''
这件武器的效果一般等同于一把+2战锤。在矮人的手中,战锤获得额外的+1增强加值(增强加值总计为+3)和特殊能力回力。投掷距离为30英尺。投掷时,击中巨人会造成额外2d8点伤害,击中其他生物造成额外1d8点伤害。

中等塑能系灵光;CL10;制造魔法武器和防具,制造者必须是不低于10级的矮人;价格60312金币;制造花费30312金币+2400经验值。

''濒死(Dying):''濒死的人物处于昏迷状态并接近死亡。其当前的生命值为-1至-9。濒死的人物无法做动作并且昏迷。在每轮结束(从生命值降到0以下的那一轮开始),人物掷一个百分骰决定是否伤势稳定。他有10%的几率进入稳定状态。如果没能稳定,生命值将降低1点。如果生命值降到-10,他就死亡。

 
!!! 濒死(DYING)(-1到-9HP)

当你角色实际生命值在-1到-9(包含-1及-9)期间时,他处于濒死状态。

濒死的角色立刻陷入无意识状态,而且不能做任何行动。

濒死的角色每轮都将失去一点生命值,直到角色死亡或被稳定(见之后)
!!Eagle, Giant(巨鹰)

''大型魔法兽''

|''生命骰:'' 4d10+4 (26hp)|
|''先攻权:'' +3|
|''速度:'' 10尺(2格),飞行80尺(普通)|
|''防御等级:'' 15(-1体型,+3敏捷,+3天生), 接触 12, 措手不及12|
|''基本攻击/擒抱:'' +4/+12|
|''攻击:'' 爪抓+7(1d6+4)|
|''全回合攻击:'' 2爪抓+7(1d6+4)和撕咬+2(1d8+2)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' —|
|''特性:'' 昏暗视觉,反射闪避|
|''豁免:'' 强韧+5,反射+7,意志+3|
|''属性:'' 力量18,敏捷17,体质12,智力10,感知14,魅力10|
|''技能:'' 知识(自然)+2,聆听+6,察言观色+4,侦察+15,生存+3|
|''专长:'' 警觉,飞越攻击|
|''环境:'' 温暖的山脉|
|''组织:'' 单独,成双或巢穴(5-12)|
|''挑战等级:'' 3|
|''宝物:'' 无|
|''阵营:'' 通常是中立善良|
|''进化:'' 5-8HD(大型);9-10HD(超大型)|
|''等级调整:'' +2(作为伙伴)|


一只典型的巨鹰站立时大约10尺高,翼展超过20尺,除此之外其他都和它们体型较小的同类相似。重约500磅。

巨鹰说通用语和风族语。

!!! 战斗

巨鹰在通常会从高空发动攻击,以高速向下俯冲。当不能俯冲攻击时,它会使用强有力的爪和尖利的喙攻击对方的头和眼睛。

单独出现的巨鹰,通常是在巢穴附近狩猎和巡逻,一般会忽略那些对其不对其造成威胁的生物。结成配偶的巨鹰会协同攻击,反复的俯冲攻击赶走入侵者,它们将誓死保卫自己的巢穴和幼雏。

''反射闪避(特异):''有些攻击效果若通过反射检定可以减少一半伤害,如果巨鹰遭到此类攻击,在通过反射检定后将不受伤害。
技能:巨鹰在进行侦察检定时获得+4种族加值。

!!! 训练巨鹰

尽管很有智慧,巨鹰在作为战斗坐骑前仍需要接受必要的训练。被训练时,训练师必须和巨鹰保持良好的关系(可以通过成功的交涉检定达成此效果)。训练一个友善的巨鹰需要六周并通过DC25的驯养动物检定。

乘骑巨鹰需要特殊鞍座。巨鹰载着骑手依然可以战斗,但此骑手除非通过乘骑检定否则不能同时战斗。

巨鹰蛋的市场价为2500gp,雏鹰每只4000gp。雇佣一名专业训练师培育或训练巨鹰的价格为1000gp。

''负重:''对于巨鹰而言300磅为轻载,301-600磅为中载,601-900为重载。
!!!群体鹰之威仪(Eagle’s Splendor, Mass)
|变化系|
|''等级:''吟游诗人 6,牧师 6,术士/法师 6|
|''距离:''近距(25英尺+5英尺/2等级)|
|''目标:'' 1个生物/等级,生物间两两不超过30英尺|
|此法术作用类似鹰之威仪一样,不过可影响多个生物|
!!!鹰之威仪(Eagle’s Splendor)
|变化系|
|''等级:''吟游诗人 2,牧师 2,圣武士 2,术士/法师 2|
|''法术成分:''言语,姿势, 材料/法器|
|''施法时间:'' 一个标准动作|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:''1 分钟/等级|
|''豁免检定:''意志,通过则无效 (无害)|
|''法术抗力:''可|
|受术者变得更自信,健谈、富有人格魅力。受术者的魅力获得+4的增强加值,并由此提升所有基于魅力的技能及其他检定。术士和吟游诗人(以及其他依赖魅力的施法者)无法因此获得更多的法术,但是在此法术生效期间他们施展法术的豁免DC会提高。|
|//奥术材料成分://一些鹰的羽毛或一撮鹰粪|
!!Eagle(鹰 )

''小型动物''

|''生命骰:'' 1d8+1 (5 hp)|
|''先攻权:'' +2|
|''速度:'' 10尺 (2格),飞行80尺 (普通)|
|''防御等级:'' 14 (+1体型,+2敏捷,+1天生),接触13,措手不及12|
|''基本攻击/擒抱:'' +0/ -4|
|''攻击:'' 爪抓 +3 近战 (1d4)|
|''全回合攻击:'' 2 爪抓 +3 近战 (1d4)及啮咬 -2 近战 (1d4)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉|
|''豁免:'' 强韧+3,反射+4,意志+2|
|''属性:'' 力量10,敏捷15,体质12,智力2,感知14,魅力6|
|''技能:'' 聆听+4,侦察+16|
|''专长:'' 警觉,武器娴熟|
|''环境:'' 温带山脉|
|''组织:'' 单独或成对|
|''挑战等级:'' 1/ 2|
|''进化:'' 2-3HD (中型)|
|''等级调整:'' -|

这些掠食性的鸟类几乎栖息于任何地带,但它们都喜欢在高而隐秘的地方筑巢。

普通的鹰约3尺长,翼展约7尺。这里列出的数据同样适用于任何类似体型的昼行性掠食鸟类。

!!!战斗
鹰会对猎物发动俯冲攻击,用其有力的爪进行耙抓。

''技能:''在进行侦察检定时鹰可获得+8的种族加值。
''土系(Earth)亚种:''此亚种包括和土元素位面相关的元素和异界生物。土系生物通常具有掘穴速度,且大多数都可以挖掘开坚硬的石头。

!!!地震术(Earthquake)
|塑能系 [土]|
|''等级:''牧师 8,毁灭 8,德鲁伊 8,土 7|
|''法术成分:''言语,姿势,法器|
|''施法时间:'' 一个标准动作|
|''距离:''远距 (400英尺+40英尺/等级)|
|''区域:''半径80英尺扩散范围(可变)|
|''持续时间:'' 1轮|
|''豁免检定:''见说明|
|''法术抗力:''无|
|当你施展了地震术后,地面开始剧烈而高度局部化的震动。这震动使生物跌倒,建筑物倒塌,地面开裂等。这些效果将持续1轮,其间地面上的生物无法移动或攻击。地面上的施法者需通过专注检定(DC=20+法术等级)才能施法,否则会失去尝试施展的法术。地震会影响区域内所有地形、植被、建筑和生物。地震术的特殊效果由当地的地形决定。|
|//洞穴,山洞或隧道://地震使得天花板崩塌,对里面的所有生物造成8d6点钝击伤害(通过DC15的反射检定则伤害减半)并将生物埋入碎石(见下文)。施放在巨型山洞顶部的地震术可能危及到在实际作用区域外但是正好处在落石之下的生物。|
|//悬崖://地震术会使悬崖崩塌,造成山崩,平直的垂直向下崩塌。所有在其下落路径上的生物遭受8d6点钝击伤害(通过DC15的反射检定则伤害减半)并被埋入碎石(见下文)。|
|开阔的地面:站在区域内的所有生物需通过DC15的反射检定,否则就会跌倒。土地会裂开,生物有25%的几率落入地缝(通过DC20的反射检定可避免跌入裂缝)。法术结束后,地缝会合拢,杀死依然陷在其中的所有生物。|
|//建筑物://所有地上的建筑物受到100点伤害,这足以摧毁 普通的木结构或砖制建筑,但不足以摧毁石制或加固过的砖制建筑。硬度不会降低伤害,建筑也不会通过像物品一样的方式减半伤害。倒塌的建筑物内的所有生物受到8d6点钝击伤害(通过DC15的反射检定则伤害减半),并被埋入碎石(见下文)。|
|//河流、湖泊或沼泽://水底出现裂缝,吸走所有流水,由此形成泥地。湿地、沼泽在法术期间内则变成流沙吞噬生物和建筑物。区域内所有生物需通过DC15的反射检定,否则就会陷入泥地或流沙。法术结束后,被吸走的水会重新出现,这很可能会淹死被陷的生物。|
|//被埋入碎石://被埋的生物每分钟受到1d6点非致命伤害。若生物失去知觉,则每分钟进行一次DC15的体质检定,失败则受到1d6点正常伤害,直到被救或死亡。|
''Ebony Fly 黑檀苍蝇'':活化后体型如同矮种马,能力如同鹫马(包括生命骰、防御等级、负重能力、速度等),但不能进行攻击。每周可以使用三次,每次最多12小时,时限到或说出指令就会变回塑像。

施法者等级:11。先决条件:“制造奇物”,“活化物体”。交易价格:10000金币。重量:不记。
''Efficient Quiver(原艾罗娜的箭袋): ''看似一般箭袋,仔细检查会发现它有三个部分,每一个部分都是一个异次元空间,可供储放的空间比外观多得多。第一个是最小的部分,可以容纳60个大小形状与箭相似的物体;第二个空间稍长,可以容纳18个大小形状与标枪相似的物体;第三个空间最长,可以容纳6个大小形状与弓相似的物体(矛、法杖等)。一旦放有物品,使用者每轮可让任何一个内容物出现以便拿取。

CL:9。先决条件:“制造奇物”,“李欧蒙秘藏箱”。交易价格:1800金币。重量:2磅。
''Efreeti Bottle(火巨灵囚瓶): ''一般由黄铜或青铜制成,附特制的铅制瓶塞,且常有轻烟从瓶口缝冒出。每天可打开瓶子一次,打开之后,瓶内囚禁的火巨灵立刻现身。火巨灵出现时有10%机率(百分骰01-10)处于疯狂状态,并立刻展开攻击。另有10%机率实现你三个愿望(如同“愿望术”)。此两种状况下,火巨灵最后都会消失不见。此外,火巨灵有80%的机率(百分骰11-90)服从开瓶者指挥十分钟(除非提前死亡)。关于火巨灵的细节请参见《怪物图鉴》。每次开瓶都要重掷百分骰以决定后果。

CL:14。“制造奇物”,“七级召唤怪物术”。交易价格:145000金币。重量:1磅。
''生命骰:''d6。

!!!!先决条件

要具备奥法骑士的资格,人物必须符合以下全部条件。

''擅长武器:''角色必须擅长所有军用武器。

''法术:''角色必须能够施展3级奥术。

!!!!本职技能
奥法骑士的本职技能如下(括号中为该技能的关键属性):专注(体质),手艺(智力),解读文书(智力),跳跃(力量),知识(神秘)(智力),知识(贵族与皇室)(智力),骑术(敏捷),察言观色(感知),辨识法术(智力),游泳(力量)。

''升级技能点数:''2+智力调整值。

 

''表:奥法骑士''

|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!特殊能力 |
|^	1	|^	+1	|^	+2	|^	+0	|^	+0	|^	额外专长	|
|^	2	|^	+2	|^	+3	|^	+0	|^	+0	|^	现有奥术施法职业等级+1	|
|^	3	|^	+3	|^	+3	|^	+1	|^	+1	|^	现有奥术施法职业等级+1	|
|^	4	|^	+4	|^	+4	|^	+1	|^	+1	|^	现有奥术施法职业等级+1	|
|^	5	|^	+5	|^	+4	|^	+1	|^	+1	|^	现有奥术施法职业等级+1	|
|^	6	|^	+6	|^	+5	|^	+2	|^	+2	|^	现有奥术施法职业等级+1	|
|^	7	|^	+7	|^	+5	|^	+2	|^	+2	|^	现有奥术施法职业等级+1	|
|^	8	|^	+8	|^	+6	|^	+2	|^	+2	|^	现有奥术施法职业等级+1	|
|^	9	|^	+9	|^	+6	|^	+3	|^	+3	|^	现有奥术施法职业等级+1	|
|^	10	|^	+10	|^	+7	|^	+3	|^	+3	|^	现有奥术施法职业等级+1	|

 

!!!!职业特性

下述均为奥法骑士进阶职业的职业特性:

''武器和防具擅长:''奥法骑士不获得任何武器或防具的擅长。

''额外专长:''在1级时,奥法骑士可以从战士额外专长列表中选择1项额外专长。本专长属于每3级获得1个专长的额外获得。要选择某项专长,角色依然必须满足其全部前提条件,包括武器专精、高等专攻武器和高等武器专精所必须的战士等级。

''每日法术数量:''从2级开始,奥法骑士每次升级,每日法术数量都会增加,就像之前奥术施法职业获得提升一样。但他不能获得之前施法职业的其它能力。这意味着他可以将奥法骑士等级加上其它施法职业等级来决定其每日法术数量和相关施法者等级。

若人物在成为奥法骑士之前拥有多个奥术施法职业,则必须选择要将此升级的奥法骑士等级加在哪一种施法职业上,以决定新的每日法术数量。

''高等抗电:''吸收每次攻击的前30点电击伤害,其余和抗电相同。

中等防护系灵光;CL11;制造魔法武器和防具,抵抗能量(resist energy);价格+66000金币。
''强化抗电:''吸收每次攻击的前20点电击伤害,其余和抗电相同。

中等防护系灵光;CL7;制造魔法武器和防具,抵抗能量(resist energy);价格+42000金币。
''抗电:''具有此能力的盔甲或盾牌通常呈蓝色,且常装饰有风暴或闪电图案。防具吸收穿戴者受到的每次攻击中前10点电击性伤害(类似抵抗能量(resist energy))。

微弱防护系灵光;CL3;制造魔法武器和防具,抵抗能量(resist energy);价格+18000金币。
''Elemental Command(命令元素):'' “命令元素戒指”一共有四种,每种都能力非凡。启动前这些戒指都平凡无奇,就像不起眼的一般魔法戒指(启动方式可由DM自行设定,例如:戒指受到祝福、独力打败戒指同调界域的元素生物等等),但每一只都具有下述共通的能力。

与戒指属于同调界域的元素生物不能攻击佩带者, 甚至不能接近5英尺内。佩带者可以试图魅惑该元素(效果如同“魅惑怪物”,意志检定DC=17)。 如果魅惑失败,则此保护便消失,也不能试图再度魅惑同一元素生物。

与戒指属于同调界域的生物攻击佩带者时,攻击检定受-1减值。佩带者在对抗该种生物的豁免检定上有+2抗力加值,攻击有+4士气加值,且无论使用什么武器都无视该生物的伤害减免能力。

佩带者可以和戒指同调界域的生物交谈,该生物会知道他佩带此戒指。如果彼此阵营相近,则这些生物会惧怕佩带者。如果阵营相反,且佩带者较强壮,则这些生物会惧怕佩带者。如果阵营相反,但是佩带者较弱小,则这些生物会憎恨佩带者,并意图加Α>迮隆⒃骱蕖⒒蜃鹁从敕裼蒁M决定。

戒指持有者的豁免检定受如下减值:

|!元素|!豁免检定减值 |
|风|对所有土系效果-2|
|土|对所有风系或电击效果-2|
|火|对所有水系或寒冷效果-2|
|水|对所有火系效果-2|

除了上述能力外,依戒指的同调界域种类,此戒指还会赋予佩带者不同特殊能力:

//命令风元素戒指//

* “羽落术”(无限使用, 仅限佩带者本身)
* “抵抗元素伤害:电击”(无限使用, 仅限佩带者本身)
* “造风术”( 两次/天)
* “风墙术” (无限使用)
* “凌空而行”(1次/天,仅限佩带者本身)
* “连环闪电”(1次/每周)
此戒指一开始的能力如同“羽落戒指”,直到满足某些特定条件才能启动全部能力。每当戒指换新主人,其能力必须重新启动。

//命令土元素戒指//

* “融身入石”(无限使用, 仅限佩带者本身)
* “柔石术”(无限使用)
* “塑石术”(两次/天)
* “石肤术”(一次/每周, 仅限佩带者本身)
* “穿墙术”(两次/每周)
* “石墙术”(一次/天)
此戒指在满足DM设定的条件前能力如同“融身入石戒指”。

//命令火元素戒指//

* “抵抗元素伤害火”(如同“高等抗火戒指”)
* “燃烧之手” (无限使用)
* “炽焰法球”(两次/天)
* “烟火术”(两次/天)
* “火墙”(一次/天)
* “焰击术” (两次/周)
此戒指在满足DM设定的条件前能力如同"高等抗火戒指"。

//命令水元素戒指//

*“水面行走”( 无限使用)
*“造水术” (无限使用)
*“水中呼吸术”( 无限使用)
*“冰墙”(一次/天)
*“冰风暴”(两次/周)
*“操控水位”(两次/周)

CL:15先决条件:锻造戒指,“六级怪物召唤术”、所有相应的法术。价格 200,000 gp。
''Elemental Gem(元素宝石): ''这个宝石里包含了一个特定的元素能量(风,土,火,水).

当宝石被破坏、粉碎、打碎(这是一个标准动作)的时候,将出现一个大型元素生物就好象施展“召唤自然盟友术”的效果一样。该元素生物受到破坏宝石的人的控制。

宝石的颜色因存储的元素能量类型不同而不同。风元素宝石是透明的,土元素宝石是淡褐色的,火元素宝石是微红的橘色,而水元素宝石是蓝绿色的。

CL:11th; Craft Wondrous Item, summon nature’s ally V; Price 2,250 gp.
!!!元素集群(Elemental Swarm)
|咒法系(召唤) [见说明]|
|''等级:''气9,德鲁伊 9,土 9,火 9,水 9|
|''法术成分:''言语,姿势|
|''施法时间:'' 10分钟|
|''距离:''中距 (100英尺+10英尺/等级)|
|''效果:''两个或更多的召唤生物,两两之间不超过30英尺|
|''持续时间:''10 分钟/等级(可解消)|
|''豁免检定:''无|
|''法术抗力:''不可|
|此法术可打开元素位面的入口,并从中召唤元素。德鲁伊可选择位面(气,土,火,或水),牧师只能选择与其领域相符的元素位面。|
|当法术完成时会出现2d4个大型元素。再过10分钟,会出现1d4个超大型元素。又过十分钟,会出现一个更大的元素。每个元素生物的每个生命骰都会获得最高的生命值。它们自出现起,将在法术持续时间内为你服务。|
|元素生物将明确执行你的命令并且绝不会攻击你,即便其他人控制了它们也是如此。你无需保持专注来控制它们。你随时可以解散它们中间的一个或全部。|
|当你召唤气、土、火或水元素时,法术也就是对应的类型了。|
''元素类(Elemental):''元素是由四种基本元素-气、土、火、水-之一所形成的生物。

//特征://元素具有下列特征。

*d8生命骰。

*基本攻击奖励等于3/4生命骰数总和(类似于牧师)。

*擅长的豁免检定跟元素种类有关:强韧(土、水)或反射(气、火)。

*技能点数等于每个生命骰(2+智力调整值,最少为1),第一个生命骰的技能点数为它的四倍。

//特性://元素拥有下列特性(除非生物描述中另有说明)。

*60尺黑暗视觉。

*对毒素、魔法睡眠、麻痹和震慑免疫。

*不受重击或夹击。

*与大多数活物不同,元素不具二元性*它的灵魂和身体合二为一。当一个元素死亡时,不会有灵魂得到释放。将灵魂返还身体的法术,比如死者复生术(raise dead)、转生术(reincarnate)和复活术(resurrection)无效。它需要其它的法术效果,比如有限祈愿术(limited wish)、祈愿术(wish)、奇迹术(miracle)或完全复活术(true resurrection)来让它恢复生命。

*仅熟练使用它自己的天生武器,除非通常处于类人形态,那样它可以熟练使用所有简单武器和它的说明中所提到的任意武器。

*熟练使用任何和它描述中所穿戴盔甲同类的盔甲(轻、中或重甲),以及比该盔甲轻的盔甲。说明中没有提到穿戴盔甲的元素不能熟练使用盔甲。熟练使用任一盔甲的元素可以熟练使用盾牌。

*元素不需要进食、睡眠或呼吸。

元素生物就是形成万物的元素的化身。

!!!战斗
元素生物拥有不同的战斗能力和战术,但是它们拥有相同的元素特性。

!!!Air Elemental(风元素)


|!		|!	小型风元素 (Air Elemental, Small)	|!	中型风元素(Air Elemental,Medium)	|!	大型风元素(Air Elemental,Large)	|
|!		|!	小型元素生物(风系,跨位面)	|!	中型元素生物(风系,跨位面)	|!	大型元素生物(风系,跨位面)	|
|^	''生命骰:''	|^	2d8(9hp)	|^	4d8+8(26hp)	|^	8d8+24(60hp)	|
|^	''先攻权:''	|^	+7	|^	+9	|^	+11	|
|^	''速度:''	|^	飞行100尺(完美)(20格)	|^	飞行100尺(完美)(20格)	|^	飞行100尺(完美)(20格)	|
|^	''防御等级:''	|^	17(+1体型,+3敏捷,+3天生),接触14,措手不及14	|^	18(+5敏捷,+3天生),接触15,措手不及13	|^	20(-1体型,+7敏捷,+4天生),接触16,措手不及13	|
|^	''基本攻击/擒抱:''	|^	+1/-3	|^	+3/+4	|^	+6/+12	|
|^	''攻击:''	|^	挥击+5近战(1d4)	|^	挥击+8近战(1d6+1)	|^	挥击+12近战(2d6+2)	|
|^	''全回合攻击:''	|^	挥击+5近战(1d4)	|^	挥击+8近战(1d6+1)	|^	2挥击+12近战(2d6+2)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	5尺/5尺	|^	10尺/10尺	|
|^	''特殊攻击:''	|^	天空熟悉,旋风	|^	天空熟悉,旋风	|^	天空熟悉,旋风	|
|^	''特性:''	|^	黑暗视觉60尺,元素特性	|^	黑暗视觉60尺,元素特性	|^	伤害减免5/-,黑暗视觉60尺,元素特性	|
|^	''豁免检定:''	|^	强韧+0,反射+6,意志+0	|^	强韧+3,反射+9,意志+1	|^	强韧+5,反射+13,意志+2	|
|^	''属性:''	|^	力量10,敏捷17,体质10,智力4,感知11,魅力11	|^	力量12,敏捷21,体质14,智力4,感知11,魅力11	|^	力量14,敏捷25,体质16,智力6,感知11,魅力11	|
|^	''技能:''	|^	聆听+2,侦察+3	|^	聆听+3,侦察+4	|^	聆听+5,侦察+6	|
|^	''专长:''	|^	飞越,精通先攻,武器娴熟	|^	闪避,飞越,精通先攻,武器娴熟	|^	战斗反射,闪避,飞越,精通先攻,武器娴熟	|
|^	''环境:''	|^	风元素位面	|^	风元素位面	|^	风元素位面	|
|^	''组织:''	|^	单独	|^	单独	|^	单独	|
|^	''挑战等级:''	|^	1	|^	3	|^	5	|
|^	''宝物:''	|^	无	|^	无	|^	无	|
|^	''阵营:''	|^	通常是中立	|^	通常是中立	|^	通常是中立	|
|^	''进化:''	|^	3HD(小型)	|^	5-7HD(中型)	|^	9-15HD(大型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|



|!		|!	超大型风元素(Air Elemental,Huge)	|!	巨型风元素(Air Elemental,Greater)	|!	风元素长老(Air Elemental,Elder)	|
|!		|!	超大型元素生物(风系,跨位面)	|!	超大型元素生物(风系,跨位面)	|!	超大型元素生物(风系,跨位面)	|
|^	''生命骰:''	|^	16d8+64(136hp)	|^	21d8+84(178hp)	|^	24d8+96(204hp)	|
|^	''先攻权:''	|^	+13	|^	+14	|^	+15	|
|^	''速度:''	|^	飞行100尺(完美)(20格)	|^	飞行100尺(完美)(20格)	|^	飞行100尺(完美)(20格)	|
|^	''防御等级:''	|^	21(-2体型,+9敏捷,+4天生),接触17,措手不及12	|^	26(-2体型,+10敏捷,+8天生),接触18,措手不及16	|^	27(-2体型,+11敏捷,+8天生),接触19,措手不及16	|
|^	''基本攻击/擒抱:''	|^	+12/+24	|^	+15/+28	|^	+18/+32	|
|^	''攻击:''	|^	挥击+19近战(2d8+4)	|^	挥击+23近战(2d8+5)	|^	挥击+27近战(2d8+6)	|
|^	''全回合攻击:''	|^	2挥击+19近战(2d8+4)	|^	2挥击+23近战(2d8+5)	|^	2挥击+27近战(2d8+6)	|
|^	''面宽/触及:''	|^	15尺/15尺	|^	15尺/15尺	|^	15尺/15尺	|
|^	''特殊攻击:''	|^	天空熟悉,旋风	|^	天空熟悉,旋风	|^	天空熟悉,旋风	|
|^	''特性:''	|^	伤害减免5/-,黑暗视觉60尺,元素特性	|^	伤害减免10/-,黑暗视觉60尺,元素特性	|^	伤害减免10/-,黑暗视觉60尺,元素特性	|
|^	''豁免检定:''	|^	强韧+9,反射+19,意志+5	|^	强韧+11,反射+22,意志+9	|^	强韧+12,反射+25,意志+10	|
|^	''属性:''	|^	力量18,敏捷29,体质18,智力6,感知11,魅力11	|^	力量20,敏捷31,体质18,智力8,感知11,魅力11	|^	力量22,敏捷33,体质18,智力10,感知11,魅力11	|
|^	''技能:''	|^	聆听+11,侦察+12	|^	聆听+14,侦察+14	|^	聆听+29,侦察+29	|
|^	''专长:''	|^	警觉,战斗反射,闪避,飞越,精通先攻,灵活移动,跳跃攻击,武器娴熟	|^	警觉,盲斗,战斗反射,飞越,精通先攻,钢铁意志,灵活移动,猛力攻击,跳跃攻击,武器娴熟	|^	警觉,盲斗,顺势斩,战斗反射,飞越,精通先攻,钢铁意志,灵活移动,猛力攻击,跳跃攻击,武器娴熟	|
|^	''环境:''	|^	风元素位面	|^	风元素位面	|^	风元素位面	|
|^	''组织:''	|^	单独	|^	单独	|^	单独	|
|^	''挑战等级:''	|^	7	|^	9	|^	11	|
|^	''宝物:''	|^	无	|^	无	|^	无	|
|^	''阵营:''	|^	通常是中立	|^	通常是中立	|^	通常是中立	|
|^	''进化:''	|^	17-20HD(超大型)	|^	22-23HD(超大型)	|^	25-48HD(超大型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|
























风元素会说风族语,但是它们很少开口。

!!!!战斗
风元素极快的速度使得它们在辽阔的战场或长时间空战中获得巨大的优势。

''天空熟悉 (Ex):''飞行中的生物在对抗风元素时其攻击及伤害检定上会受到-1的罚值。

''旋风 (Su):''风元素每10分钟可以将自己转变成一道旋风,每2个生命骰可使风元素保持在旋风状态1轮。在这种形态下,风元素可以其飞行速度在空中或沿着物质表面移动。

旋风的基部有5尺宽,顶端最大可到30尺宽,高度最大可到50尺,具体尺寸取决于风元素的体型。风元素可以控制旋风的准确高度,但是旋风最低也要有10尺高。

处于旋风形态下的风元素的行动不会引发借机攻击,即使它进入其他生物占据的空间也不会。如果其他生物接触到或进入旋风,或者风元素移动进或穿越该生物占据的空间,那么该生物就会被卷入其中。

体型比风元素小一级或更多的生物被卷入旋风时可能会受到伤害 (详情见下表),也可能会被升到空中。受影响的生物在接触旋风时必须通过一个反射豁免检定,否则会将会受到表中列出的伤害。该生物也必须要通过第二次反射豁免检定,否则整个身体会被卷入其中并且被强风悬吊在半空中,每轮将会自动受到表中列出的伤害。会飞的生物每轮都可进行一次反射豁免检定以逃脱旋风。生物仍会受到伤害但是如果豁免检定成功将会脱离旋风。对抗旋风的豁免检定DC因风元素体型而异 (见下表)。该豁免检定DC基于力量调整值。

被卷入旋风的生物除了被风元素带着移动或尝试逃脱之外不能移动。被卷入旋风中的生物可以正常的做其他动作,但是必须在专注技能检定中获得成功 (DC 15 + 法术等级)才能施展法术。被卷入旋风中的生物敏捷受到-4的罚值,在攻击检定上受到-2的罚值。风元素同时能困住的生物数量取决于其旋风的体积。

风元素随时都能将其卷入的生物抛出来,它们会被丢到旋风目前的位置。被召唤来的风元素在返回所属位面之前总会将被其困住得生物丢出来。

如果旋风的基部接触到地面的话,将会产生一片旋转的沙砾云。这沙砾云以风元素为中心,直径等于旋风高度的一半。沙砾云会遮挡5尺距离外的所有视觉能力,包括黑暗视觉。5尺之外的生物获得隐蔽,更远的生物则获得全隐蔽。被沙砾云笼罩的生物必须通过一个专注技能检定 (DC 15 + 法术等级)才能施展法术。

旋风形态下的风元素不能进行挥击攻击,同时也不会威胁到其身边的区域。

''风元素体型''

|!|!|!|!-------------旋风-------------|<|<|
|!元素|!高度|!重量|豁免检定DC|伤害|高度|
|小型|4尺|1磅|11|1d4|10-20尺|
|中型|8尺|2磅|13|1d6|10-30尺|
|大型|16尺|4磅|16|2d6|10-40尺|
|超大型|32尺|8磅|22|2d8|10-50尺|
|巨型|36尺|10磅|25|2d8|10-60尺|
|长老|40尺|12磅|28|2d8|10-60尺|


!!!Earth Elemental(土元素)


|!		|!	小型土元素 (Earth Elemental, Small)	|!	中型土元素 (Earth Elemental, Medium)	|!	大型土元素 (Earth Elemental, Large)	|
|!		|!	小型元素生物 (土系,跨位面)	|!	中型元素生物 (土系,跨位面)	|!	大型元素生物 (土系,跨位面)	|
|^	''生命骰:''	|^	2d8+2 (11 hp)	|^	4d8+12 (30 hp)	|^	8d8+32 (68 hp)	|
|^	''先攻权:''	|^	-1	|^	-1	|^	-1	|
|^	''速度:''	|^	20尺 (4格)	|^	20尺 (4格)	|^	20尺 (4格)	|
|^	''防御等级:''	|^	17 (+1体型,-1敏捷,+7天生),接触110,措手不及17	|^	18 (-1敏捷,+9天生),接触9,措手不及18	|^	18 (-1体型,-1敏捷,+10天生),接触8,措手不及18	|
|^	''基本攻击/擒抱:''	|^	+1/ +0	|^	+3/ +8	|^	+6/ +17	|
|^	''攻击:''	|^	挥击 +5 近战 (1d6+4)	|^	挥击 +8 近战 (1d8+7)	|^	挥击 +12 近战 (2d8+7)	|
|^	''全回合攻击:''	|^	挥击 +5 近战 (1d6+4)	|^	挥击 +8 近战 (1d8+7)	|^	2 挥击 +12 近战 (2d8+7)	|
|^	''面宽/触及:''	|^	5尺/ 5尺	|^	5尺/ 5尺	|^	10尺/ 10尺	|
|^	''特殊攻击:''	|^	大地熟悉,推进	|^	大地熟悉,推进	|^	大地熟悉,推进	|
|^	''特性:''	|^	黑暗视觉60尺,遁地,元素特性	|^	黑暗视觉60尺,遁地,元素特性	|^	伤害减免5/ -,黑暗视觉60尺,遁地,元素特性	|
|^	''豁免检定:''	|^	强韧+4,反射-1,意志+0	|^	强韧+7,反射+0,意志+1	|^	强韧+10,反射+1,意志+2	|
|^	''属性:''	|^	力量17,敏捷8,体质13,智力4,感知11,魅力11	|^	力量21,敏捷8,体质17,智力4,感知11,魅力11	|^	力量25,敏捷8,体质19,智力6,感知11,魅力11	|
|^	''技能:''	|^	聆听+3,侦察+2	|^	聆听+4,侦察+3	|^	聆听+6,侦察+5	|
|^	''专长:''	|^	猛力攻击	|^	顺势斩,猛力攻击	|^	顺势斩,大顺势斩,猛力攻击	|
|^	''环境:''	|^	土元素位面	|^	土元素位面	|^	土元素位面	|
|^	''组织:''	|^	单独	|^	单独	|^	单独	|
|^	''挑战等级:''	|^	1	|^	3	|^	5	|
|^	''宝物:''	|^	无	|^	无	|^	无	|
|^	''阵营:''	|^	通常是中立	|^	通常是中立	|^	通常是中立	|
|^	''进化:''	|^	3HD (小型)	|^	5-7HD (中型)	|^	9-15HD (大型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


|!		|!	超大型土元素 (Earth Elemental, Huge)	|!	巨型土元素 (Earth Elemental, Greater)	|!	土元素长老 (Earth Elemental, Elder)	|
|!		|!	超大型元素生物 (土系,跨位面)	|!	超大型元素生物 (土系,跨位面)	|!	超大型元素生物 (土系,跨位面)	|
|^	''生命骰:''	|^	16d8+80 (152 hp)	|^	21d8+105 (199 hp)	|^	24d8+120 (228 hp)	|
|^	''先攻权:''	|^	-1	|^	-1	|^	-1	|
|^	''速度:''	|^	30尺 (6格)	|^	30尺 (6格)	|^	30尺 (6格)	|
|^	''防御等级:''	|^	18 (-2体型,-1敏捷,+11天生),接触7,措手不及18	|^	20 (-2体型,-1敏捷,+13天生),接触7,措手不及20	|^	22 (-2体型,-1敏捷,+15天生),接触7,措手不及22	|
|^	''基本攻击/擒抱:''	|^	+12/ +29	|^	+15/ +33	|^	+18/ +37	|
|^	''攻击:''	|^	挥击 +19 近战 (2d10+9)	|^	挥击 +23 近战 (2d10+10)	|^	挥击 +27 近战 (2d10+11/ 19-20)	|
|^	''全回合攻击:''	|^	2 挥击 +19 近战 (2d10+9)	|^	2 挥击 +23 近战 (2d10+10)	|^	2 挥击 +5 近战 (1d4)	|
|^	''面宽/触及:''	|^	15尺/ 15尺	|^	15尺/ 15尺	|^	15尺/ 15尺	|
|^	''特殊攻击:''	|^	大地熟悉,推进	|^	大地熟悉,推进	|^	大地熟悉,推进	|
|^	''特性:''	|^	伤害减免5/ -,黑暗视觉60尺,遁地,元素特性	|^	伤害减免10/ -,黑暗视觉60尺,遁地,元素特性	|^	伤害减免10/ -,黑暗视觉60尺,遁地,元素特性	|
|^	''豁免检定:''	|^	强韧+15,反射+4,意志+7	|^	强韧+17,反射+6,意志+9	|^	强韧+19,反射+7,意志+10	|
|^	''属性:''	|^	力量29,敏捷8,体质21,智力6,感知11,魅力11	|^	力量31,敏捷8,体质21,智力8,感知11,魅力11	|^	力量33,敏捷8,体质21,智力10,感知11,魅力11	|
|^	''技能:''	|^	聆听+10,侦察+9	|^	聆听+14,侦察+14	|^	聆听+29,侦察+29	|
|^	''专长:''	|^	无畏一击,顺势斩,大顺势斩,精通冲撞,钢铁意志,猛力攻击	|^	警觉,无畏一击,顺势斩,大顺势斩,精通冲撞,精通击破武器,钢铁意志,猛力攻击	|^	警觉,无畏一击,顺势斩,大顺势斩,精通冲撞,精通重击 (挥击),精通击破武器,钢铁意志,猛力攻击	|
|^	''环境:''	|^	土元素位面	|^	土元素位面	|^	土元素位面	|
|^	''组织:''	|^	单独	|^	单独	|^	单独	|
|^	''挑战等级:''	|^	7	|^	9	|^	11	|
|^	''宝物:''	|^	无	|^	无	|^	无	|
|^	''阵营:''	|^	通常是中立	|^	通常是中立	|^	通常是中立	|
|^	''进化:''	|^	17-20HD (超大型)	|^	22-23HD (超大型)	|^	25-48HD (超大型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


被召唤到物质界时,土元素由各种不同类型的泥土,石头,贵金属和宝石组成。

土元素会说土族语,但是它们很少开口。

!!!!战斗
尽管土元素移动缓慢,但它是无情的对手。它能在坚固的地表和岩石中行走,就好像人类在地面行走一样容易。它不会游泳,如果遇到水域时,只能绕过去或者从水下的土地中穿越。土元素可以在水底移动但是它们不喜欢那么做。

''大地熟悉 (Ex):''当土元素和它的敌人都能接触地表时,它在攻击和伤害检定上可获得+1的加值。如果对手在空中或者水里,那么土元素在攻击和伤害检定上会受到-4的罚值。(列表中未包含上述数据。)

''推进 (Ex):''土元素展开冲撞动作时不会引发借机攻击。大地熟悉提供的战斗调整值在土元素进行力量检定时也适用。

''遁地 (Ex):''土元素可以如鱼在水中游泳一样在石头,泥土或除了金属之外任何类型的土地内部穿行。它掘穴时不会在身后留下任何隧道或洞穴,也不会产生细微震动或任何表明它的存在的迹象。施展在正在掘穴中的土元素所在区域上的移土术会将它向后抛出30尺,除非成功通过一个DC 15的强韧豁免检定它还会被震慑1轮。

''土元素体型''

|!元素|!高度|!重量|
|小型|4尺|80磅|
|中型|8尺|750磅|
|大型|16尺|6000磅|
|超大型|32尺|48000磅|
|巨型|36尺|54000磅|
|长老|40尺|60000磅|



















!!!火元素(Fire Elemental)


|!		|!	小型火元素 (Fire Elemental, Small)	|!	中型火元素 (Fire Elemental, Medium)	|!	大型火元素 (Fire Elemental, Large)	|
|!		|!	小型元素生物 (火系,跨位面)	|!	中型元素生物 (火系,跨位面)	|!	大型元素生物 (火系,跨位面)	|
|^	''生命骰:''	|^	2d8 (9 hp)	|^	4d8+8 (26 hp)	|^	8d8+24 (60 hp)	|
|^	''先攻权:''	|^	+5	|^	+7	|^	+9	|
|^	''速度:''	|^	50尺 (10格)	|^	50尺 (10格)	|^	50尺 (10格)	|
|^	''防御等级:''	|^	15 (+1体型,+1敏捷,+3天生),接触12,措手不及14	|^	16 (+3敏捷,+3天生),接触13,措手不及13	|^	18 (-1体型,+5敏捷,+4天生),接触14,措手不及13	|
|^	''基本攻击/擒抱:''	|^	+1/ -3	|^	+3/ +4	|^	+6/ +12	|
|^	''攻击:''	|^	挥击 +3 近战 (1d4外加1d4火焰)	|^	挥击 +6 近战 (1d6+1外加1d6火焰)	|^	挥击 +10 近战 (2d6+2外加2d6火焰)	|
|^	''全回合攻击:''	|^	挥击 +3 近战 (1d4外加1d4火焰)	|^	挥击 +6 近战 (1d6+1外加1d6火焰)	|^	2 挥击 +10 近战 (2d6+2外加2d6火焰)	|
|^	''面宽/触及:''	|^	5尺/ 5尺	|^	5尺/ 5尺	|^	10尺/ 10尺	|
|^	''特殊攻击:''	|^	烧灼	|^	烧灼	|^	烧灼	|
|^	''特性:''	|^	黑暗视觉60尺,元素特性,对火焰免疫,易受寒冷伤害 	|^	黑暗视觉60尺,元素特性,对火焰免疫,易受寒冷伤害 	|^	伤害减免5/ -,黑暗视觉60尺,元素特性,对火焰免疫,易受寒冷伤害	|
|^	''豁免检定:''	|^	强韧+0,反射+4,意志+0	|^	强韧+3,反射+7,意志+1	|^	强韧+5,反射+11,意志+2	|
|^	''属性:''	|^	力量10,敏捷13,体质10,智力4,感知11,魅力11	|^	力量12,敏捷17,体质14,智力4,感知11,魅力11	|^	力量14,敏捷21,体质16,智力6,感知11,魅力11	|
|^	''技能:''	|^	聆听+2,侦察+3	|^	聆听+3,侦察+4	|^	聆听+5,侦察+6	|
|^	''专长:''	|^	闪避,精通先攻,武器娴熟	|^	闪避,精通先攻,灵活移动,武器娴熟	|^	闪避,精通先攻,灵活移动,跳跃攻击,武器娴熟	|
|^	''环境:''	|^	火元素位面	|^	火元素位面	|^	火元素位面	|
|^	''组织:''	|^	单独	|^	单独	|^	单独	|
|^	''挑战等级:''	|^	1	|^	3	|^	5	|
|^	''宝物:''	|^	无	|^	无	|^	无	|
|^	''阵营:''	|^	通常是中立	|^	通常是中立	|^	通常是中立	|
|^	''进化:''	|^	3HD (小型)	|^	5-7HD (中型)	|^	9-15HD (大型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|



|!		|!	超大型火元素 (Fire Elemental, Huge)	|!	巨型火元素 (Fire Elemental, Greater)	|!	火元素长老 (Fire Elemental, Elder)	|
|!		|!	超大型元素生物 (火系,跨位面)	|!	超大型元素生物 (火系,跨位面)	|!	超大型元素生物 (火系,跨位面)	|
|^	''生命骰:''	|^	16d8+64 (136 hp)	|^	21d8+84 (178 hp)	|^	24d8+96 (204 hp)	|
|^	''先攻权:''	|^	+11	|^	+12	|^	+13	|
|^	''速度:''	|^	60尺 (12格)	|^	60尺 (12格)	|^	60尺 (12格)	|
|^	''防御等级:''	|^	19 (-2体型,+7敏捷,+4天生),接触15,措手不及12	|^	24 (-2体型,+8敏捷,+8天生),接触16,措手不及16	|^	25 (-2体型,+9敏捷,+8天生),接触17,措手不及16	|
|^	''基本攻击/擒抱:''	|^	+12/ +24	|^	+15/ +28	|^	+18/ +32	|
|^	''攻击:''	|^	挥击 +17 近战 (2d8+4外加2d8火焰)	|^	挥击 +22 近战 (2d8+5外加2d8火焰)	|^	挥击 +26 近战 (2d8+6外加2d8火焰)	|
|^	''全回合攻击:''	|^	2 挥击 +17 近战 (2d8+4外加2d8火焰)	|^	2 挥击 +22 近战 (2d8+5外加2d8火焰)	|^	2 挥击 +26 近战 (2d8+6外加2d8火焰)	|
|^	''面宽/触及:''	|^	15尺/ 15尺	|^	15尺/ 15尺	|^	15尺/ 15尺	|
|^	''特殊攻击:''	|^	烧灼	|^	烧灼	|^	烧灼	|
|^	''特性:''	|^	伤害减免5/ -,黑暗视觉60尺,元素特性,对火焰免疫,易受寒冷伤害	|^	伤害减免10/ -,黑暗视觉60尺,元素特性,对火焰免疫,易受寒冷伤害	|^	伤害减免10/ -,黑暗视觉60尺,元素特性,对火焰免疫,易受寒冷伤害	|
|^	''豁免检定:''	|^	强韧+9,反射+17,意志+7	|^	强韧+11,反射+20,意志+9	|^	强韧+14,反射+23,意志+10	|
|^	''属性:''	|^	力量18,敏捷25,体质18,智力6,感知11,魅力11	|^	力量20,敏捷27,体质18,智力6,感知11,魅力11	|^	力量22,敏捷29,体质18,智力6,感知11,魅力11	|
|^	''技能:''	|^	聆听+11,侦察+12	|^	聆听+14,侦察+14	|^	聆听+28,侦察+29	|
|^	''专长:''	|^	警觉,战斗反射,闪避,精通先攻,钢铁意志,灵活移动,跳跃攻击,武器娴熟	|^	警觉,盲斗,战斗反射,闪避,精通先攻,钢铁意志,灵活移动,跳跃攻击,武器娴熟,专攻武器 (挥击)	|^	警觉,盲斗,战斗反射,闪避,精通先攻,强韧加强,钢铁意志,灵活移动,跳跃攻击,武器娴熟,专攻武器 (挥击)	|
|^	''环境:''	|^	火元素位面	|^	火元素位面	|^	火元素位面	|
|^	''组织:''	|^	单独	|^	单独	|^	单独	|
|^	''挑战等级:''	|^	7	|^	9	|^	11	|
|^	''宝物:''	|^	无	|^	无	|^	无	|
|^	''阵营:''	|^	通常是中立	|^	通常是中立	|^	通常是中立	|
|^	''进化:''	|^	17-20HD (超大型)	|^	22-23HD (超大型)	|^	25-48HD (超大型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


















火元素无法进入水或任何不可燃的液体之中。任何水域对火元素来说都是不可跨越的障碍,除非它们能跨越或跳跃过去。

火元素会说火族语,但是它们很少开口。

!!!!战斗
火元素是个凶猛的对手,它会直接而野蛮地攻击它的敌人。将物质界的生物和物品烧成灰烬是它的乐趣。

''烧灼 (Ex):''火元素的挥击攻击能制造出钝击伤害外加燃烧的身体所带来的火焰伤害。被火元素的挥击攻击击中的对手必须要通过一个反射豁免检定否则身上就会着火。火焰会燃烧1d4轮。该豁免检定DC因火元素体型而异 (见下表)。着火的生物可以通过一个移动动作来扑灭火焰。该豁免检定DC基于体质调整值。

适用其天生武器或者徒手攻击命中火元素的生物会如被火元素击中一样受到火焰伤害,而且它们必须通过反射豁免检定否则也会浑身着火。

''火元素体型''

|!元素|!高度|!重量|!烧灼DC|
|小型|4尺|1磅|11|
|中型|8尺|2磅|14|
|大型|16尺|4磅|17|
|超大型|32尺|8磅|22|
|巨型|36尺|10磅|24|
|长老|40尺|12磅|26|



!!!Water Elemental(水元素)


|!		|!	小型水元素 (Water Elemental, Small)	|!	中型水元素 (Water Elemental, Medium)	|!	大型水元素 (Water Elemental, Large)	|
|!		|!	小型元素生物 (水系,跨位面)	|!	中型元素生物 (水系,跨位面)	|!	大型元素生物 (水系,跨位面)	|
|^	''生命骰:''	|^	2d8+2 (11 hp)	|^	4d8+12 (30 hp)	|^	8d8+32 (68 hp)	|
|^	''先攻权:''	|^	+0	|^	+1	|^	+2	|
|^	''速度:''	|^	20尺 (4格),游泳90尺	|^	20尺 (4格),游泳90尺	|^	20尺 (4格),游泳90尺	|
|^	''防御等级:''	|^	17 (+1体型,+6天生),接触11,措手不及17	|^	19 (+1敏捷,+8天生),接触11,措手不及18	|^	20 (-1体型,+2敏捷,+9天生),接触11,措手不及18	|
|^	''基本攻击/擒抱:''	|^	+1/ -1	|^	+3/ +6	|^	+6/ +15	|
|^	''攻击:''	|^	挥击 +4 近战 (1d6+3)	|^	挥击 +6 近战 (1d8+4)	|^	挥击 +10 近战 (2d8+5)	|
|^	''全回合攻击:''	|^	挥击 +4 近战 (1d6+3)	|^	挥击 +6 近战 (1d8+4)	|^	2 挥击 +10 近战 (2d8+5)	|
|^	''面宽/触及:''	|^	5尺/ 5尺	|^	5尺/ 5尺	|^	10尺/ 10尺	|
|^	''特殊攻击:''	|^	水域熟悉,浸湿,旋涡	|^	水域熟悉,浸湿,旋涡	|^	水域熟悉,浸湿,旋涡	|
|^	''特性:''	|^	黑暗视觉60尺,元素特性	|^	黑暗视觉60尺,元素特性	|^	伤害减免5/ -,黑暗视觉60尺,元素特性	|
|^	''豁免检定:''	|^	强韧+4,反射+0,意志+0	|^	强韧+7,反射+2,意志+1	|^	强韧+10,反射+4,意志+2	|
|^	''属性:''	|^	力量14,敏捷10,体质13,智力4,感知11,魅力11	|^	力量16,敏捷12,体质17,智力4,感知11,魅力11	|^	力量20,敏捷14,体质19,智力6,感知11,魅力11	|
|^	''技能:''	|^	聆听+2,侦察+3	|^	聆听+3,侦察+4	|^	聆听+5,侦察+6	|
|^	''专长:''	|^	猛力攻击	|^	顺势斩,猛力攻击	|^	顺势斩,大顺势斩,猛力攻击	|
|^	''环境:''	|^	水元素位面	|^	水元素位面	|^	水元素位面	|
|^	''组织:''	|^	单独	|^	单独	|^	单独	|
|^	''挑战等级:''	|^	1	|^	3	|^	5	|
|^	''宝物:''	|^	无	|^	无	|^	无	|
|^	''阵营:''	|^	通常是中立	|^	通常是中立	|^	通常是中立	|
|^	''进化:''	|^	3HD (小型)	|^	5-7HD (中型)	|^	9-15HD (大型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|



|!		|!	超大型水元素 (Water Elemental, Huge)	|!	巨型水元素 (Water Elemental, Greater)	|!	水元素长老 (Water Elemental, Elder)	|
|!		|!	超大型元素生物 (水系,跨位面)	|!	超大型元素生物 (水系,跨位面)	|!	超大型元素生物 (水系,跨位面)	|
|^	''生命骰:''	|^	16d8+80 (152 hp)	|^	21d8+105 (199 hp)	|^	24d8+120 (228 hp)	|
|^	''先攻权:''	|^	+4	|^	+5	|^	+6	|
|^	''速度:''	|^	30尺 (6格),游泳120尺	|^	30尺 (6格),游泳120尺	|^	30尺 (6格),游泳120尺	|
|^	''防御等级:''	|^	21 (-2体型,+4敏捷,+9天生),接触12,措手不及17	|^	22 (-2体型,+5敏捷,+9天生),接触13,措手不及17	|^	23 (-2体型,+6敏捷,+9天生),接触14,措手不及17	|
|^	''基本攻击/擒抱:''	|^	+12/ +27	|^	+15/ +31	|^	+18/ +35	|
|^	''攻击:''	|^	挥击 +17 近战 (2d10+7)	|^	挥击 +21 近战 (2d10+8)	|^	挥击 +25 近战 (2d10+9/ 19-20)	|
|^	''全回合攻击:''	|^	2 挥击 +17 近战 (2d10+7)	|^	2 挥击 +21 近战 (2d10+8)	|^	2 挥击 +25 近战 (2d10+9/ 19-20)	|
|^	''面宽/触及:''	|^	15尺/ 15尺	|^	15尺/ 15尺	|^	15尺/ 15尺	|
|^	''特殊攻击:''	|^	水域熟悉,浸湿,旋涡	|^	水域熟悉,浸湿,旋涡	|^	水域熟悉,浸湿,旋涡	|
|^	''特性:''	|^	伤害减免5/ -,黑暗视觉60尺,元素特性	|^	伤害减免10/ -,黑暗视觉60尺,元素特性	|^	伤害减免10/ -,黑暗视觉60尺,元素特性	|
|^	''豁免检定:''	|^	强韧+15,反射+9,意志+7	|^	强韧+17,反射+14,意志+9	|^	强韧+19,反射+16,意志+10	|
|^	''属性:''	|^	力量24,敏捷18,体质21,智力6,感知11,魅力11	|^	力量26,敏捷20,体质21,智力8,感知11,魅力11	|^	力量28,敏捷22,体质21,智力10,感知11,魅力11	|
|^	''技能:''	|^	聆听+11,侦察+12	|^	聆听+14,侦察+14	|^	聆听+29,侦察+29	|
|^	''专长:''	|^	警觉,顺势斩,大顺势斩,精通冲撞,钢铁意志,猛力攻击	|^	警觉,顺势斩,大顺势斩,精通冲撞,精通击破武器,钢铁意志,闪电反射,猛力攻击	|^	警觉,顺势斩,大顺势斩,精通重击 (挥击),精通冲撞,精通击破武器,钢铁意志,闪电反射,猛力攻击	|
|^	''环境:''	|^	水元素位面	|^	水元素位面	|^	水元素位面	|
|^	''组织:''	|^	单独	|^	单独	|^	单独	|
|^	''挑战等级:''	|^	7	|^	9	|^	11	|
|^	''宝物:''	|^	无	|^	无	|^	无	|
|^	''阵营:''	|^	通常是中立	|^	通常是中立	|^	通常是中立	|
|^	''进化:''	|^	17-20HD (超大型)	|^	22-23HD (超大型)	|^	25-48HD (超大型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


水元素与形成它们的水域之间的距离不能超过180尺。

水元素会说水族语,但是它们很少开口。

!!!!战斗
水元素喜欢在大面积的水域中作战,这样它就可以在波浪后面消失并出其不意地出现在其对手身后。

''水域熟悉 (Ex):''当水元素和它的对手都能接触到水时,它在攻击和伤害检定上可获得+1的加值。如果水元素或其对手在陆地上,水元素在攻击和伤害检定上会受到-4的罚值。(列表中未包含上述数据。)水元素对穿越其行进路线的船只会造成严重的威胁。水元素可以轻易地翻转小型船只 (水元素每生命骰相当于船只5尺长度)并让较大型船只停驶 (水元素每生命骰相当于船只10尺长度)。即使大型船只 (水元素每生命骰相当于船只20尺长度)也会被减慢到一半的速度。

''浸湿 (Ex):''水元素的触摸可以熄灭火把,萤火,暴露在外的灯火,以及其他大型或更小的非魔法且无保护的火焰。水元素可以通过触摸解除魔法火焰,如同解除魔法法术一样 (施法等级等于水元素生命骰)。

''旋涡 (Su):''水元素只要在水中,每10分钟就可以将自己转变成一道旋涡,每2个生命骰可使水元素保持在旋涡状态1轮。在这种形态下,水元素可以其游泳速度在水中或沿着水底移动。旋涡的基部有5尺宽,顶端最大可到30尺宽,高度在10尺以上,具体尺寸取决于水元素的体型。水元素可以控制旋涡的准确高度,但是最低也要有10尺高。

处于旋涡形态下的水元素的行动不会引发借机攻击,即使它进入其他生物占据的空间也不会。如果其他生物接触到或进入旋涡,或者水元素移动进或穿越该生物占据的空间,那么该生物就会被卷入其中。

体型比水元素小一级或更多的生物被卷入旋涡时可能会受到伤害 (详情见下表),也可能会被水流卷起。受影响的生物在接触旋涡时必须通过一个反射豁免检定,否则会将会受到表中列出的伤害。该生物也必须要通过第二次反射豁免检定,否则整个身体会被卷入其中并且被强劲的水流悬吊起来,每轮将会自动受到表中列出的伤害。受到影响的生物每轮都可进行一次反射豁免检定以逃离旋涡。生物仍会受到伤害但是如果豁免检定成功将会脱离旋涡。对抗旋涡的豁免检定DC因水元素体型而异 (见下表)。该豁免检定DC基于力量调整值。

被卷入旋涡的生物除了被水元素带着移动或尝试逃脱之外不能移动。被卷入旋涡中的生物可以正常的做其他动作,但是必须在专注技能检定中获得成功 (DC 10 + 法术等级)才能施展法术。被卷入旋涡中的生物敏捷受到-4的罚值,在攻击检定上受到-2的罚值。水元素同时能困住的生物数量取决于其旋涡的体积。

水元素随时都能将其卷入的生物抛出来,它们会被丢到旋涡目前的位置。被召唤来的水元素在返回所属位面之前总会将被其困住得生物丢出来。

如果旋涡的基部接触到水底的话,将会产生一片旋转的沙砾云。这沙砾云以水元素为中心,直径等于旋涡高度的一半。沙砾云会遮挡5尺距离外的所有视觉能力,包括黑暗视觉。5尺之外的生物获得隐蔽,更远的生物则获得全隐蔽。被沙砾云笼罩的生物必须通过一个专注技能检定 (DC 15 + 法术等级)才能施展法术。

旋涡形态下的水元素不能进行挥击攻击,同时也不会威胁到其身边的区域。

''技能:''在进行游泳检定来做出特殊动作或躲避危险时水元素可获得+8的种族加值。它可在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。


''水元素体型''



|!|!|!-------------旋涡-------------|<|<|<|
|!元素|!高度|!重量|!豁免检定DC|!伤害|!高度|
|小型|4尺|34磅|13|1d4|10-20尺|
|中型|8尺|280磅|15|1d6|10-30尺|
|大型|16尺|2250磅|19|2d6|10-40尺|
|超大型|32尺|18000磅|25|2d8|10-50尺|
|巨型|36尺|21000磅|28|2d8|10-60尺|
|长老|40尺|24000磅|31|2d8|10-60尺|

!!Elephant(象 )

''超大型动物''

|''生命骰:'' 11d8+55 (104 hp)|
|''先攻权:'' +0|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 15 (-2体型,+7天生),接触8,措手不及15|
|''基本攻击/擒抱:'' +8/ +26|
|''攻击:'' 抵撞 +16 近战 (2d8+5)|
|''全回合攻击:'' 挥击 +16 近战 (2d6+10)及2 踏压 +11 近战 (2d6+5);或抵撞 +16 近战(2d8+15)|
|''面宽/触及:'' 15尺/ 10尺|
|''特殊攻击:'' 践踏 2d8+15|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+12,反射+7,意志+6|
|''属性:'' 力量30,敏捷10,体质21,智力2,感知13,魅力7|
|''技能:'' 聆听+12,侦察+10|
|''专长:'' 警觉,坚忍,钢铁意志,技能专攻 (聆听)|
|''环境:'' 温暖的平原|
|''组织:'' 单独或部落 (6-30)|
|''挑战等级:'' 7|
|''进化:'' 12-22HD (超大型)|
|''等级调整:'' -|


作为热带大陆的巨大食草动物,象是种无法预料的生物,但有时仍被作为坐骑或役畜。

这里列出的数据以非洲象为基准。印度象体型要稍小些,力量稍弱些 (力量28),但更容易被驯养 (感知15)。这里列出的数据同样适用于如猛犸和乳齿象之类的史前动物。

!!!战斗
象倾向于冲锋具有危险性的生物。

''践踏 (Ex):''通过DC 25的反射豁免检定则伤害减半。该豁免检定DC基于力量调整值。
!! Elf(精灵)


|!		|!	精灵,1级武者	|!	卓尔,1级武者	|
|!		|!	中型类人生物(精灵)	|!	中型类人生物(精灵)	|
|^	''生命骰:''	|^	1d8(4Hp)	|^	1d8(4Hp)	|
|^	''先攻权:''	|^	+1	|^	+1	|
|^	''速度:''	|^	30尺(6格)	|^	30尺(6格)	|
|^	''防御等级:''	|^	15(+1敏捷,+3镶嵌皮甲,+1轻盾),接触11,措手不及14	|^	16(+1敏捷,+4链甲衫,+1轻盾),接触11,措手不及15	|
|^	''基本攻击/擒抱:''	|^	+1/+2	|^	+1/+2	|
|^	''攻击:''	|^	长剑+2近身(1d8+1/19-20)或长弓+3远程(1d8/x3)	|^	细剑+3近身(1d6+1/18-20)或手弩+2远程(1d4/19-20)	|
|^	''全回合攻击:''	|^	长剑+2近身(1d8+1/19-20)或长弓+3远程(1d8/x3)	|^	细剑+3近身(1d6+1/18-20)或手弩+2远程(1d4/19-20)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	5尺/5尺	|
|^	''特殊攻击:''	|^	无	|^	淬毒,类法术能力	|
|^	''特性:''	|^	精灵特性	|^	卓尔特性,法术抗力12	|
|^	''豁免检定:''	|^	强韧+2,反射+1,意志-1*	|^	强韧+2,反射+1,意志-1*	|
|^	''属性:''	|^	力量13,敏捷13,体质10,智力10,感知9,魅力8	|^	力量13,敏捷13,体质10,智力12,感知9,魅力10	|
|^	''技能:''	|^	躲藏+1,聆听+2,搜索+3,侦察+2	|^	躲藏+0,聆听+2,搜索+4,侦察+3	|
|^	''专长:''	|^	武器专攻(长弓)	|^	武器专攻(细剑)	|
|^	''环境:''	|^	温和的森林(半精灵:温和的森林)(水生精灵:温和的水域)(灰精灵:温和的山脉)(野精灵:温暖的森林)(木精灵:温和的森林)|^	地下	|
|^	''组织:''	|^	小队(2~4个),中队(11-20名外加2名等级3的士官以及1名等级3-6的指挥官),或部落(30-100名外加20%的非战斗人员,每10名成人再加1名等级3的士官,此外还有5名等级5的尉官以及3名等级7的队长)	|^	小队(2~4个),巡逻队(5-8名外加2名等级2的士官以及1名等级3-6的指挥官),或部落(20-50名外加10%的非战斗人员,每5名成人再加1名等级2的士官,此外还有2d4名等级6的尉官以及1d4名等级9的队长)	|
|^	''挑战等级:''	|^	1/2	|^	1(见下文)	|
|^	''宝物:''	|^	标准	|^	标准	|
|^	''阵营:''	|^	通常是混乱善良(木精灵:通常是中立)	|^	通常是中立邪恶	|
|^	''进化:''	|^	视人物职业而定	|^	视人物职业而定	|
|^	''等级调整:''	|^	+0	|^	+2	|

精灵的平均身高为5英尺,平均体重略高于100磅。他们依赖果实与谷物为生,有时也摄取一些鲜肉。精灵喜爱色彩华丽的衣服,他们通常穿着灰绿色的斗篷,以便融入森林的背景色当中。

精灵使用精灵语,大部分也说通用语和木族语。

!!! 战斗
精灵是小心谨慎的战士,如果有可能,他们会仔细分析战斗地点和对手的实力,并且依靠埋伏、狙击和伪装来获得最大优势。他们喜欢从隐蔽处射击,在被发现前撤离战场,然后重复这种机动战方式直到全歼敌人。

精灵喜欢使用长弓、短弓、细剑和长剑。精灵在肉搏战时表现得既优雅又致命,他们复杂的动作看起来十分优美。法师在战斗时常常使用睡眠术,因为这项法术不会影响其他精灵。

精灵特性(Ex):精灵拥有以下种族特性。

*敏捷+2,体质-2。
*中型体型。
*精灵的基本陆地速度为30英尺。
*对睡眠术及效果免疫,对附魔系法术或效果进行检定时可获得+2种族加值。(没有在上面表中的豁免一栏中体现)
*昏暗视觉
*武器熟悉:精灵自动擅长长剑、细剑、长弓、复合长弓、短弓和复合短弓。
*在聆听、搜索和侦察检定上获得+2种族加值。精灵只要经过隐蔽的门或密门5英尺内,就会自动进行搜索检定,如同他们主动查看一样。
*天生使用语言:通用语,精灵语。额外语言:龙语,豺狼人语,侏儒语,地精语,兽人语,木族语。
*天赋职业:法师。
例子中的精灵武者在种族调整前,拥有如下的属性:力量13,敏捷11,体质12,智力10,感知9,魅力8。

!! 亚种
以上的信息适用于高等精灵,精灵中最常见的一种。精灵还有五种主要的亚种,以及包括很多精灵特征的半精灵。

!!! 半精灵
半精灵并不属于精灵亚种,但他们常被误认为精灵。半精灵通常混合了父母的优秀身体特征。

半精灵特性(Ex):半精灵拥有以下种族特性。

*中型体型。
*半精灵基本陆地速度为30英尺。
*对睡眠术及效果免疫,对附魔系法术或效果进行检定时可获得+2种族加值。
*昏暗视觉。
*在聆听、搜索和侦察检定上获得+1种族加值。半精灵没有精灵靠近密门时可自动察觉的能力。
*在交涉和搜集信息检定上获得+2种族加值:半精灵可以很自然的与所有人打交道。但半精灵不被人信任时无法应用该加值。
*精灵血统:在和种族相关的所有效果上,半精灵都视同精灵。例如他们会受那些作用于精灵的特殊效果的影响,并且能使用只有精灵可用的魔法物品。
*天生使用语言:通用语和精灵语。额外语言:所有语言(除了秘密语言,如德鲁伊语)。
*天赋职业:任何职业。当计算半精灵兼职角色的经验值惩罚时,其最高等级职业不计入内。

!!! 水生精灵

水生精灵也被称作海精灵,这些在水中呼吸的生物是陆上精灵的表亲。

水生精灵使用三叉矛、矛和网在水下作战。

水生精灵特性(Ex):除非特别注明,这些特性是对高等精灵特性的增加。

*敏捷+2,智力-2。这一调整取代高等精灵的属性调整。
*水生精灵拥有水栖亚种。
*水生精灵拥有40英尺游泳速度。
*腮:离开水的水生精灵只能存活总共每点体质值1小时的时间(在此之后请参考窒息规则)。
*高级昏暗视觉:在星光,月光,火把或类似的弱光情况下,精灵的视觉距离是人类的四倍。这一特性取代高等精灵的昏暗视觉。
*天赋职业:战士。这一特性取代高等精灵的天赋职业。

!!! 卓尔

卓尔也被称作黑暗精灵,他们是精灵堕落而邪恶的地下分支。

卓尔的发色通常为白色,但是任何种类的淡的暗发色也有可能存在。卓尔的身材比其它种类的精灵更为纤细瘦小,他们的眼睛通常闪烁着亮红色。

淬毒(Ex):被卓尔的淬毒武器击中的目标必须成功通过DC13的强韧豁免,否则将昏迷。1分钟后,昏迷的目标必须成功通过另一次DC13的强韧豁免,否则将继续昏迷2d4小时。一个典型的卓尔一般携带1D4-1剂卓尔毒。卓尔一般在箭矢上淬毒,但有时也会将其涂抹在近战武器上。但要注意的是,卓尔并没有在用毒时使自己免除中毒危险的特殊能力。该毒素并非魔法效果,卓尔和其他精灵都会受到影响。

卓尔特性(Ex):除非特别注明,这些特性是对高等精灵特性的增加。

*智力+2,魅力+2。
*120尺黑暗视觉,这一特性取代高等精灵的昏暗视觉。
*等同于11+职业等级的法术抗力。
*在对抗法术和类法术能力进行意志检定时可获得+2种族加值。
*类法术能力:每天一次,卓尔可以使用下列类法术能力:舞光术,黑暗术,妖火。施法者等级等同于卓尔的职业等级。
*武器熟悉:卓尔自动擅长手弩、细剑和短剑。这一特性取代高等精灵的武器熟悉。
*天生使用语言:通用语,精灵语,地底通用语。额外语言:炼狱语,水族语,龙语,卓尔手语,侏儒语,地精语。这一特性取代高等精灵的天生使用语言和额外语言。
*强光暂盲:当突然暴露在强光(比如日光或昼明术)下时,卓尔会目盲1轮。之后如果继续待在影响范围内,他们将持续处于目眩状态。
*天赋职业:法师(男性)或牧师(女性)。这一特性取代高等精灵的天赋职业。
*等级调整+2。
例子中的卓尔武者在种族调整前,拥有如下的属性:力量13,敏捷11,体质12,智力10,感知9,魅力8。
挑战等级:拥有NPC职业的卓尔的CR等同于其人物等级。拥有PC职业的卓尔的CR等同于其人物等级+1。

!!! 灰精灵

灰精灵的身材比其他精灵都要高大,但他们却有着孤僻傲慢(即使以精灵的标准看来)的名声。他们要么有着银发与琥珀色眼睛,要么是淡金色头发与紫罗兰色眼睛。他们喜欢白色、银色、黄色或金色衣物,以及深蓝色或紫色斗篷。

灰精灵特性(Ex):这些特性是对高等精灵特性的增加。

*智力+2,力量-2。

!!! 野精灵

野精灵野蛮而原始。他们的发色从黑色到亮棕色都有,随着年龄的增长会逐渐变为银白色。他们简单的衣着通常由兽皮和植物编制而成。

野精灵特性(Ex):除非特别注明,这些特性是对高等精灵特性的增加。

*敏捷+2,智力-2。这一调整取代高等精灵的属性调整。
*天赋职业:术士。这一特性取代高等精灵的天赋职业。

!!! 木精灵

他们的发色在黄色与红铜色之间,并且他们的肌肉要比其他精灵更加结实。衣物则为暗绿色和土色系,以方便他们更好的融入周遭的自然环境。

木精灵特性(Ex):除非特别注明,这些特性是对高等精灵特性的增加。

*力量+2,智力-2。
*天赋职业:巡林客。这一特性取代高等精灵的天赋职业。
''Elixir of Fire Breath(喷火药水):'' 饮用者可以喷吐三次烈火,每次可对25英尺内的单一目标造成4d6点火焰伤害。目标对象可以进行反射检定(DC=13)使伤害减半。未喷吐的发数会在饮用一小时后消散。

Moderate evocation; CL 11th; Craft Wondrous Item, scorching ray; Price 1,100 gp.
''Elixir of Hiding(躲藏药水): ''饮用者躲藏能力增加。一小时内,“躲藏”检定有+10能力加值。

Faint illusion; CL 5th; Craft Wondrous Item, invisibility; Price 250 gp.
''Elixir of Love(Love Love药水): ''饮用者会被饮用后第一眼看到的生物所魅惑(效果如同“魅惑人类”,饮用者必须为人形生物,体型中型或更小,意志检定DC=14)。如果该生物为相近生物种类或种族,饮用者会迷恋该生物。魅惑效果持续1d3小时,但迷恋效果为永久。

Faint transmutation; CL 4th; Craft Wondrous Item, charm person; Price 150 gp.
''Elixir of Sneaking(潜行药水): ''饮用者可以降低音量,安静地移动。一小时内,“潜行”检定有+10环境加值。

Faint illusion; CL 5th; Craft Wondrous Item, silence; Price 250 gp.
''Elixir of Swimming(游泳药水): ''此药水可产生一层几乎无法察觉的薄膜包住饮用者,使其可轻易在水中滑动。一小时内,“游泳”检定有+10环境加值。

CL:2nd;Craft Wondrous Item,creator must have 5 ranks in the Swim skill;Price 250 gp.
''Elixir of Truth(诚实药水):'' 此药水迫使饮用者在十分钟内只能说实话(意志检定通过则无效,DC=13)。然后,饮用者将被迫回答任何问题,但对每一问题可以再做一次意志检定(DC=13),如果此检定通过,仍不可说谎,但可以保持缄默。每一轮最多只能询问一个问题。此效果属于影响心灵的附魔系胁迫子学派。

Faint enchantment; CL 5th; Craft Wondrous Item, zone of truth; Price 500 gp.
''Elixir of Vision(洞察药水): ''此药水使饮用者可以明察秋毫。一小时内,“搜索”检定+10。

Faint divination; CL 2nd; Craft Wondrous Item, true seeing; Price 250 gp.
''精灵链甲:''这件由秘银制成的链甲极其轻巧。中等体型的生物穿上盔甲后速度为30英尺,小体型生物为20英尺。盔甲的奥术失效几率20%,最大敏捷加值+4,防具检定减值-2。盔甲为轻型盔甲,重量20磅。

无魔法灵光(不含魔法);价格4150金币。
!!! 法术强效(EMPOWER SPELL)[超魔专长]

''效果:''搭配此专长时,法术的所有可变数值皆增加1/2。

但本专长不影响豁免检定与对抗掷骰。法术若没有变动数值,则无影响。强效的法术需占用高于原本二个等级的法术位。
!!! 坚忍(ENDURANCE)[一般专长]

''效果:''你在以下检定和豁免中获得+4加值:避免非致命伤害的游泳检定,持续奔跑的体质检定,避免强行军造成非致命伤害的体质检定,屏住呼吸的体质检定,避免饥饿和口渴造成非致命伤害的体质检定,避免在炎热和寒冷环境下造成非致命伤害的强韧检定和避免窒息造成伤害的强韧检定。同时,你睡觉时可穿着轻甲或中甲不会疲劳。

''正常:''没有该专长的人物在穿着中甲或更重的盔甲睡觉后的第二天会自动疲劳。

''特殊:''巡林客在3级时自动获得本专长作为奖励专长。他不需要选择它。
!!!忍受环境(Endure Elements)
|防护系|
|''等级:''牧师 1,德鲁伊 1,圣武士 1,巡林客1,术士/法师 1,太阳 1|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''接触|
|''目标:''被接触的生物|
|''持续时间:''24小时|
|''豁免检定:''意志,通过则无效 (无害)|
|''法术抗力:''可(无害)|
|被忍受环境所保护的受术者不会因寒冷或炎热环境下而受到伤害。他无需通过强韧检定即可舒适的呆在-50至140华氏度(-45.6至60摄氏度)的环境中。该生物的装备同样被保护。|
|忍受环境不能防护寒系和火系伤害,也不可防护其他恶劣环境,如:烟雾、空气稀薄等。|
''侦测敌人(Enemy Detection):''此权杖会在持有者手中跳动,并指出对持有者具有敌意之生物的方向(由近至远),侦测范围60英尺。这些生物可能是隐形、灵体、躲藏、易容或肉眼可见。此权杖每天可使用三次,每次十分钟。启动此权杖属于标准动作。

施法者等级:10。先决条件:“制造权杖”,“测知谎言”。交易价格:23500金币。
''能量吸取(Energy Drain,超自然能力):''一些恐怖的生物,尤其是不死生物,拥有在战斗中吸取目标生物等级的可怕超自然能力。这些生物利用能量吸取来汲取受害者的部分生命力。大多数能量吸取攻击要求一个成功的近战或远程攻击掷骰--仅靠身体接触是不够的。一次成功的能量吸取攻击给予对手一个或更多的负向等级(在生物的描述中将给出具体数目)。如果包含能量吸取的攻击造成了重击,它将吸取两倍于给定数值的数量。除非特别说明,每次造成属性吸取的时候,每造成一个负向等级该生物都将获得5点暂时生命值(重击为10点)。这种暂时生命值持续时间最多为1小时。生物的每个负向等级会给其带来下列惩罚。

*在所有技能检定和属性检定上获得-1的减值。
*在所有攻击掷骰和豁免检定上获得-1的减值。
*生命值-5。
*有效等级-1(当计算或检定需要用到人物等级时,每个负向等级都会将其减1)。

如果受害者可以施法,他将失去一个当前可用的最高等级法术,如同他已经施展过一样(如果他有好几个最高等级的法术,他可以选择失去哪一个)。此外,在他之后准备或恢复法术时,他会失去一个最高等级的法术栏位。

负向等级状态会持续24小时,或者被法术移除,例如复原术(restoration)。24小时之后,受害者必须进行强韧检定(DC为10+1/2攻击者的HD+攻击者的魅力修正值)。(该DC在攻击者的描述中提供。)如果成功通过检定,负向等级将消失且不造成任何伤害。受害者必须为每个负向等级分别做一次独立的检定。如果失败,负向等级也会消失,但受害者的等级会降低一级。

如果一个人物承受的负向等级至少等同于他当前等级,或者等级被吸取后降到一级以下,那么他将立刻死亡。根据杀死他的生物的种类,在下一个夜晚他有可能重生为一个同种怪物。如果没有重生成怪物,那么他将重生为尸妖(wight)。每造成一个负向等级,攻击者都能获得5点暂时生命值(不过利用法术或类似手段造成负向等级则不能如此)。

!!!吸能术(Energy Drain)
|死灵系|
|''等级:''牧师 9,术士/法师 9|
|''豁免检定:''强韧,通过则效果减半;见说明|
|此法术作用类似[[弱能术(Enervation)|Enervation(弱能术)]],不过受术者将承受2d4个负向等级,且效果持续更久。|
|受术者在获得负向等级时不可进行豁免检定,但24小时后必须为每一个负向等级进行一次强韧检定(DC为该法术的DC)。成功则该负向等级消失,失败该负向等级也会消失,但受术者的人物等级永久降低一级。|
|被此射线击中的不死生物获得2d4x5点暂时生命值,持续1小时。|
''能量吸取(Energy Drained):''人物得到一个或多个负向等级,这些负向等级有可能会使他等级永久下降。如果负向等级数大于或等于生命骰数,他就死亡。每个负向等级给予人物下列惩罚:在所有攻击判定、豁免、技能检定、属性检定上获得-1的减值;生命值-5;有效等级-1(用来决定法术或特殊能力的力量、持续时间、DC和其它细节)。此外,获得负向等级的施法者会从他可施展的最高法术等级上失去一个法术或一个法术栏位。

 
''Energy Resistance(元素抵抗): ''这只暗红色戒指,可以协助佩带者抵抗特定种类能量伤害,包括:火焰、寒冷、电击、强酸、音波(在跑团过程中获得此戒指由DM选择决定为何种能量类型)。当佩带者受到该种类伤害时,每一轮可从中减去相应伤害值。

次级抵抗元素伤害戒指抵抗10点。

中等抵抗元素伤害戒指抵抗20点。

高等抵抗元素伤害戒指抵抗30点。

CL:3 (次级),7(中等),11(高等)。先决条件:锻造戒指,“抵抗元素伤害”。价格12,000 gp(次级) ,28,000 gp(中等),44,000 gp.(高等)
!!!弱能术(Enervation)
|死灵系|
|''等级:''术士/法师 4|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''效果:''负能量射线|
|''持续时间:''立即|
|''豁免检定:''无|
|''法术抗力:''可|
|你伸出手指念出咒语,射出一道带有一串细碎爆裂声的黑色负能量射线,任何活物被它击中后生命能量都将被抑制。你必须通过远程接触检定来命中目标。若攻击成功,则目标承受1d4个负向等级。|
|若目标承受的负向等级至少等于它的HD,他就会死亡。每一个负向等级都会使目标的攻击、豁免、技能检定、属性检定和有效施法者等级(用以决定法术或特殊能力的效果、持续时间、DC及其他相关能力)检定承受-1的减值。|
|此外,施法者最高可用等级上会失去一个法术或法术位。负向等级可累加。|
|若目标能存活,在等同于你的施法者等级的小时后(最多15个小时),他会恢复失去的等级。一般来说负向等级有机会永久降低目标的等级,但弱能术造成的负向等级无此效果。|
|被射线击中的不死生物获得1d4x5点暂时生命值,持续1小时。|
!!!群体变巨术(Enlarge Person, Mass)
|变化系|
|''等级:''术士/法师 4|
|''目标:''一个类人生物/等级,目标两两之间不超过30英尺。|
|此法术作用类似变巨术,不过此法术可变大多人。|
!!!变巨术(Enlarge Person)
|变化系|
|''等级:''术士/法师 1,力量 1|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1轮|
|''距离:''近距(25英尺+5英尺/2等级)|
|''目标:'' 1个类人生物|
|''持续时间:''1 分钟/等级(可解消)|
|''豁免检定:''强韧,通过则无效|
|''法术抗力:''可|
|此法术可是类人生物瞬间变大,使其身高翻倍,体重成为原先的8倍,这使得受术者的体型变大一级。目标力量获得+2体型加值,敏捷上受到-2体型减值(最小为1),同时由于体型变大AC和攻击检定-1。|
|若周围空间不够大,则受术者将维持可能的最大体型,并可以在此过程中通过力量检定来摧毁束缚物(用新的力量加值)。若检定失败,受术者会被坚固的物体所限制,但不受伤害——此法术不能通过变大生物来使其被挤伤。|
|所有被受术者穿戴或被携带的装备会一同被变大。近战武器或弹射武器会因此造成更大伤害。其他魔法属性不会受此法术影响。任何被变巨的物品一旦离开被变巨生物的掌握(包括弹射武器或投掷武器)就会变回正常大小。这意味着投掷武器将造成正常的伤害,而弹药造成的伤害,由发射它们的武器决定。被变大的物体的魔法属性不会变强。|
|多种魔法变大效果不可累加。|
|变巨术可反制或解消缩小术(reduce person)。|
|变巨术可用魔法恒定术(permanency)来永久化|
|//材料成分://一撮铁粉。|
!!! 法术增远(ENLARGE SPELL)[超魔专长]

''效果:''你可以把一个近距离、中距离或远距离法术的距离增加一倍。搭配本专长后,近程法术的距离将变为50英尺+5英尺/等级,中程法术的距离为200英尺+20英尺/等级,而远程法术的距离为800英尺+80英尺/等级。增远的法术需占用高于原本一个等级的法术位。

距离不用长度确定的法术以及法术距离不是近、中、远距离的法术不会增加距离。

!!!纠缠术(Entangle)
|变化系|
|''等级:''德鲁伊 1,植物 1,巡林客1|
|''法术成分:''言语,姿势,法器|
|''施法时间:'' 一个标准动作|
|''距离:''远距 (400英尺+40英尺/等级)|
|''区域:''半径40英尺扩散范围内的植物|
|''持续时间:''1 分钟/等级(可解消)|
|''豁免检定:''反射,通过则部分生效;见说明|
|''法术抗力:''不可|
|杂草,灌木,树枝开始扭结、纠缠,快速困住区域内或是进入该区域的生物,让它们进入[[纠缠状态|Entangled(纠缠)]]。生物可以以一个整轮动作通过DC=20的力量检定或脱逃检定挣脱出来,并以半速移动。通过反射检定的生物不会被缠住,但也只能以半速通过该区域。每一轮,植物都会试图纠缠已经躲开或是已经逃脱纠缠的生物。|
|//注意://此法术的效果可由纠缠植物的特性稍加调整。|
''纠缠(Entangled):''人物被缠绕住。被纠缠会使移动受到限制,但除非被绑在固定的物体上或被相反的力道拉住,否则移动不会被完全阻止。被纠缠的人物只能以正常速度的一半移动,无法奔跑或冲锋,所有攻击掷骰上有-2减值,并在敏捷上有-4减值。纠缠中的角色想施法则必须通过专注检定(DC 15+法术等级),否则失去法术。

 
!!!注目术(Enthrall)
|惑控系(魅惑)[依赖于语言,影响心灵,音波]|
|''等级:''吟游诗人 2,牧师 2|
|''法术成分:''言语,姿势|
|''施法时间:''1轮|
|''距离:''中距 (100英尺+10英尺/等级)|
|''目标:''任意数量的生物|
|''持续时间:''不超过1小时|
|''豁免检定:''意志,通过则无效;见说明|
|''法术抗力:''可|
|如果你已经吸引了一群生物的注意,你可以用此法术来迷惑他们。施展法术时,你需花一整轮的时间来演说或是唱歌。随后,被影响的生物将完全专注于你,而忽略周围发生的事。在法术的影响下,他们的态度为友善(friendly)。对你的种族或是信仰不友善的生物在豁免检定上获得+4的加值。|
|HD达到4或是感知达到16或更高的生物仍能察觉周围的变化,态度为不关心(indifferent)。当他们看到他们反对的行为时,可再做一次检定。|
|只要你持续演讲或歌唱,法术效果就可持续,最多达一个小时。被影响的生物在你演讲或歌唱时不会有任何行动,之后,他们还会花1d3轮讨论你的主题或表演。经过法术影响区域的生物也必须通过豁免检定,否则也会被影响。若你不再专心,或是作了演说、歌唱以外的事,则表演结束(1d3轮的讨论仍有效)。|
|若不受影响的生物态度为不友善或是敌对,他们会利用讥讽或质疑,集体进行一次魅力检定来打断法术。此时,可使用群体中魅力最高者的魅力调整值,其他人以魅力检定协助他,若检定高于你的魅力检定,则法术结束。每次施法,这种行为只能进行一次。|
|若任何一个听众被攻击或遭受公开的敌对行为,则法术结束,同时所有之前的听众对你的态度立即变为不友善。HD达4或感知不低于16的生物对你的态度变为敌对。|
!!!熵光护盾(Entropic Shield)
|防护系|
|''等级:''牧师 1,机运 1 |
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''1 分钟/等级(可解消)|
|你周围出现闪着多种混乱色调的魔法力场。此力场可使箭矢、射线以及其他远程攻击偏斜。瞄准你的所有远程攻击攻击者必须作一次有20%的失手几率攻击检定(类似隐蔽效果)。其他仅仅是从远处发起的攻击不受影响。|
!!!抹消术(Erase)
|变化系|
|''等级:''吟游诗人 1,术士/法师 1|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''目标:'' 1个卷轴或两页纸|
|''持续时间:''立即|
|''豁免检定:''见说明|
|''法术抗力:''不可|
|抹消术可去除卷轴、一两页纸、羊皮纸之类上的魔法或一般文稿。你可以籍此移除爆裂符文(explosive runes),守卫结界(glyph of warding),蛇纹法印(sepia snake sigil),秘法印记(arcane mark)。但不能移除谜幻手稿(illusory script)或徽记(symbol)法术。不被他人持有的非魔法文稿在你接触它后会自动抹消。否则,非魔法文稿有90%的几率被抹消。|
|要抹消魔法文稿你接触它,同时你要通过DC=15的施法等级检定(1d20+施法者等级)才会被抹消。(若投出1或2,则视作自动失败。)若你在抹消爆裂符文,守卫结界,蛇纹法印时失败,则会触发这些法术。|
!! Escape Artist(脱逃术)(敏捷;防具检定减值)

''检定:''下表给出从不同的限制中脱逃的DC。

//绳索://你的脱逃术检定要和捆绑者的绳技检定做对抗。因为将人捆绑起来要比捆绑时脱身容易,因此捆绑者在其检定上获得+10加值。

//镣铐和精致品镣铐://镣铐的DC由其结构决定。

//狭窄空间://表中给出的DC是通过那些可以过头但是肩膀无法通过的空间的DC。如果空间较长,你也许需要做多次检定。你不能通过头也无法通过的空间。

//擒抱者://你可以做一次脱逃术检定对抗敌人的擒抱检定来从擒抱中脱身或者打破压制(这样就只处在擒抱中)。

|!	束缚 	|!	脱逃术DC	|
|^	绳索捆绑 	|^	捆绑者的绳技检定结果加10	|
|^	网,活化绳法术(animate rope),命令植物术(command plants),控制植物术(control plants),或者纠缠术(entangle)	|^	20	|
|^	圈套术(Snare) 	|^	23	|
|^	镣铐 	|^	30	|
|^	狭窄空间 	|^	30	|
|^	精制品镣铐 	|^	35	|
|^	擒抱者 	|^	擒抱者的擒抱检定值	|



 

''动作:''从绳绑、镣铐、或者其他情况(除了擒抱者)中脱身所做的脱逃术检定需要一分钟时间。从网、活化绳法术(animate rope),命令植物术(command plants),控制植物术(control plants),或者纠缠术(entangle)中脱逃是一个整轮动作。从擒抱或压制中挣脱是一个标准动作。挤过狭窄的空间至少需要一分钟时间,也许会更多时间,依赖于空间有多长。

''重试:''可变。如果你正在挤过狭窄空间,在失败的检定后你可以做另外一次检定。如果情况允许,你可以继续做检定,甚至取20,只要你没有变得不可活动。

''特别:''如果你有轻灵(Agile)专长,你在脱逃术检定上有+2加值。

''共效:''如果在脱逃术上级数达到5或更高,你在使用绳技来捆绑他人时可以获得+2加值。

如果你在绳技上级数达到5或更高,在使用脱逃术从绳绑中脱身时可以获得+2加值。
!!! 施法免材(ESCHEW MATERIALS)[一般专长]

''效果:''若一个法术的材料成分价值为1金币或更低,你无需该成分就可施展该法术。(法术的施展仍会象平常一样引发借机攻击。)如果法术所需的材料成分价值超过1金币,你必须象平常一样手里持有该施法材料来施展该法术。
!!Ethereal Filcher(灵窃怪)

''中型异怪''

|''生命骰:'' 5d8 (22 hp)|
|''先攻权:'' +8|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 17 (+4敏捷,+3天生),接触14,措手不及13|
|''基本攻击/擒抱:'' +3/ +3|
|''攻击:'' 啮咬 +3 近战 (1d4)|
|''全回合攻击:'' 啮咬 +3 近战 (1d4)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 黑暗视觉60尺,侦测魔法,幻化灵体|
|''豁免:'' 强韧+1,反射+5,意志+5|
|''属性:'' 力量10,敏捷18,体质11,智力7,感知12,魅力10|
|''技能:'' 聆听+9,手上功夫+12,侦察+9|
|''专长:'' 闪避,精通先攻|
|''环境:'' 地底|
|''组织:'' 单独|
|''挑战等级:'' 3|
|''宝物:'' 无钱币,标准工艺品,双倍物品|
|''阵营:'' 通常是中立|
|''进化:'' 6-7HD (中型);8-15HD (大型)|
|''等级调整:'' -|


灵窃怪是有喜欢从过路人身上抢走装饰物嗜好的长相奇特的生物。它们的在灵界与物质界之间迅速移动的能力使其成为天生的扒手。

灵窃怪不会说话。

!! 战斗
灵窃怪四处徘徊,使用它的幻化灵体能力使其不被看见 (而且经常穿越固体)。当它发现目标之后,会迅速转换至物质界,试图出其不意地抓出它的受害者。灵窃怪试图抓住一件物品,然后迅速撤回灵界。它不介意用啮咬来分散对手的注意力。物品一旦到手,它会迅速返回巢穴欣赏战利品。身受重伤时,灵窃怪会设法逃跑而不是继续战斗。

一些简单的办法可以反制灵窃怪的攻击。

''侦测魔法 (Su):''灵窃怪能任意地侦测魔法 (施法等级5),其效果如同名法术。

''幻化灵体 (Su):''灵窃怪可以从灵界转换至物质界 (这可以是任何移动动作的一部分),然后再通过一个即时动作转换回去。它可在回到物质界之前在灵界中停留1轮。除此之外,此能力与幻化灵体法术 (施法等级15)效果相同。

''技能:''在进行手上功夫检定时,灵窃怪可获得+8的种族加值。在进行聆听及侦察检定时,它可获得+4的种族加值。
!!!幻化灵体(Ethereal Jaunt)
|变化系|
|''等级:''牧师 7,术士/法师 7|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''1 轮/等级(可解消)|
|你和你的装备一起变成灵体。在法术持续时间内,你将身处灵界位面,这是一个与正常物质位面重叠的世界。一旦法术结束,你将变回实体。|
|灵体生物是不可见也摸不到的,同时可以向任意方向移动,包括上下,但速度减半。作为没有实体的生物,你可以穿越固体,包括活物。灵体生物可看见和听见主物质位面,但一切看上去都是灰色的模糊的,在主物质位面的视觉与听觉范围为60英尺。|
|力场效果和防护系法术对灵体有正常效果。这些效果可由物质位面延伸至以太位面,但反过来不是如此。灵体不能攻击实体生物,施展的法术也只能影响其他灵体。某些实体生物的攻击或效果却可影响灵体。|
|灵体生物或物品彼此视为正常物体。|
|若法术解除时,你在固体物中(如固体墙),则会从最近的开口处挤出,每经过5英尺受到1d6点伤害。|
!!Ethereal Marauder(灵褫兽)

''中型魔法兽(跨位面)''

|''生命骰:'' 2d10(11Hp)|
|''先攻权:'' +5|
|''速度:'' 40尺(8格)|
|''防御等级:'' 14(+1敏捷,+3天生),接触11,措手不及13|
|''基本攻击/擒抱:'' +2/+4|
|''攻击:'' 啮咬+4近身(1d6+3)|
|''全回合攻击:'' 啮咬+4近身(1d6+3)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' —|
|''特性:'' 60尺黑暗视觉,幻化灵体|
|''豁免:'' 强韧+3,反射+4,意志+1|
|''属性:'' 力量14,敏捷12,体质11,智力7,感知12,魅力10|
|''技能:'' 聆听+5,潜行+5,侦察+4|
|''专长:'' 精通先攻|
|''环境:'' 以太位面|
|''组织:'' 单独|
|''挑战等级:'' 3|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 3-4HD(中型);5-6HD(大型)|
|''等级调整:'' —|


灵褫兽在以太位面生存猎食。它们的体色介于亮蓝和深紫之间。灵褫兽站立时有4尺高,但身体的总长度可达7尺。体重大约为200磅。灵褫兽不使用已知的语言。在主物质位面逃过灵褫兽攻击的生存者说它们发出一种可怕的高频率鸣叫声,这种声音会随着灵褫兽的速度和健康状况而发生变化。

!!! 战斗

一旦灵褫兽发现敌人,它们将转换到主物质位面发动攻击,试图使敌人陷入措手不及的状态。该生物会啮咬对手,然后快速撤回以太位面。如果身受重伤,它们将逃回自己的位面,而不是留下来继续战斗。

''幻化灵体(Su):''灵褫兽能以一个即时动作从以太位面转换到主物质位面,然后再以一个移动动作转换回去。除此之外该能力与法术幻化灵体(施法者等级15级)具有同样效果。

''技能:''灵褫兽在聆听、潜行和侦察检定上具有+2的种族加值。 

''灵化:''一旦被启动,此能力让防具的穿戴着变为灵体(如同幻化灵体(ethereal jaunt)),每天一次。人物可以任意决定保持灵体的时间,但他一转化为正常体,当天就不能再变为灵体。

强烈变化系灵光;CL13;制造魔法武器和防具,幻化灵体(Ethereal Jaunt);价格+49000金币。
相位蜘蛛和某些特定种类的生物能在以太位面生存。当位于以太位面时,该生物称为灵体(ethereal)。与虚体生物不同,灵体生物并不会显现在主物质位面。

灵体生物是主物质位面生物看不到,听不见,摸不着也闻不到的。连大部分的魔法攻击对他们也无效。法术识破隐形(see invisibility)和真知术(true seeing)可以发现灵体生物。

灵体生物在主物质位面的视力和听力范围为60尺半径,但固态障碍物可以阻碍视听(例如一个灵体生物无法看穿一堵物质墙)。一个处于主物质位面固态物体之内的灵体生物无法视物。主物质位面的物体对灵体生物来说是灰暗而不清晰的,虚无缥缈的。灵体生物无法影响主物质位面,用魔法也不行。但是灵体生物和其它灵体生物或物品可以产生相互影响,其方式和主物质位面生物和主物质生物物品之间的影响方式相同。

即使位于主物质位面的生物能看见灵体生物,灵体生物也还是处在其它位面上。只有力场效果才能影响灵体生物。在另一方面,如果双方都是灵体生物,那么它们之间可以正常的互相影响。

一个主物质位面产生的力场能延伸到以太位面,因此力墙术(wall of force)可以阻挡灵体生物,魔法飞弹(magic missile)能击中灵体生物(前提是施法者可以看到灵体生物)。凝视效果和防护系法术也可从主物质位面拓展到以太位面。但这些效果均不能从以太位面拓展到主物质位面。

灵体生物可以随意向任何方向移动(包括上和下)。他们无须在地面行走,固态物质无法阻挡他们(当他们的眼睛被固态物质包围时无法视物)。

幽魂(ghost)拥有显现(manifestation)的能力,可使它在象虚体生物一般显现在主物质位面。当然,他们仍然处于以太位面,而且另一个灵体生物能正常的影响显现中的幽魂。在水中灵体生物象在空气中一样行动自由。灵体生物不会跌落也不会受到跌落伤害。

!!!同游灵界(Etherealness)
|变化系|
|''等级:''牧师 9,术士/法师 9|
|''距离:''接触;见说明|
|''目标:''自己,以及每三级可多带一个被接触的生物|
|''持续时间:''1 分钟/等级(可解消)|
|''法术抗力:''可|
|和幻化灵体一样,不过你可与其他自愿生物手牵手,连同他们的装备一起变成灵体。不算自己,施法者每3施法者等级可多带一个生物进入以太位面。一旦成为灵体,就无需再保持接触。|
|一旦持续时间终止,所有生物都会变回实体。|
!!Ettercap(伊特怪)

''中型异怪''

|''生命骰:'' 5d8+5 (27hp)|
|''先攻权:'' +3|
|''速度:'' 30尺(6格),攀爬30尺|
|''防御等级:'' 14(+3敏捷,+1天生), 接触 13, 措手不及11|
|''基本攻击/擒抱:'' +3/+15|
|''攻击:'' 啮咬+5近战(1d8+2额外毒素)|
|''全回合攻击:'' 啮咬+5近战(1d8+2额外毒素)和2爪抓+3近战(1d3+1)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 毒素,蛛网|
|''特性:'' 昏暗视觉|
|''豁免:'' 强韧+4,反射+4,意志+6|
|''属性:'' 力量14,敏捷17,体质13,智力6,感知15,魅力8|
|''技能:'' 知识(自然)+2,聆听+6,察言观色+4,侦察+15,生存+3|
|''专长:'' 加强坚韧,多重攻击|
|''环境:'' 温暖的森林|
|''组织:'' 单独,成双或集团(1-2外加2-4变种蜘蛛)|
|''挑战等级:'' 3|
|''宝物:'' 标准|
|''阵营:'' 通常是中立邪恶|
|''进化:'' 6-7HD(中型);8-15HD(大型)|
|''等级调整:'' +4|


伊特怪大约6尺高重约200磅。

伊特怪说通用语。

战斗

伊特怪并不算什么勇敢的生物,但他们致命的陷阱可能让敌人连拔出武器的时间都没有。和敌人短兵相接的时他们依靠锐利的爪子和毒牙作战。他们通常只会对那些失去行动能力的家伙发动近身攻击。

''毒素(特异):''强韧检定DC15,初始伤害1d6敏捷,后续伤害2d6敏捷。此项豁免DC基于体质,已包含+2种族加值。

''蛛网(特异):''伊特怪每天可以射出8次蛛网。其效果很类似于捕网,但最大射程为50尺,射程单位为10尺,并且只能用于对付中型以下的目标。蛛网会把目标困在原地,不能移动。

身陷网中的生物如果通过DC13的脱逃检定或DC17的力量检定撕开蛛网脱身。此项检定DC基于体质,而力量检定DC已包含+4种族加值。蛛网拥有6点生命,硬度0,火焰对其将造成双倍伤害。

伊特怪能编织出一块5到60尺大的粘稠蛛网。他们通常用它来捕捉飞行生物,但它对地面上的生物也有作用。接近的生物必须成功通过DC20的侦查检定才能发现蛛网,否则将被蛛网困住,如同被伊特怪喷出的蛛网命中一样。被困生物如果拥有在蛛网上攀附或者行走的能力,在进行正对蛛网的脱逃检定和力量检定时获得+5加值。这片蛛网每5尺大小拥有6点生命,硬度0,火焰对其将造成双倍伤害。

伊特怪在自己编织的蛛网上能以攀爬速度移动。如果有任何生物接触到蛛网,它都能准确的判断精确的位置。

''技能:''伊特怪在进行手艺(陷阱),躲藏和侦察检定时获得+4种族加值。他在攀爬检定时获得+8种族加值并能够任意取10,即使是在匆忙或是受威胁的情况下。 
!!Ettin(双头巨人)

''大型巨人''

|''生命骰:'' 10d8+20 (65hp)|
|''先攻权:'' +3|
|''速度:'' 穿革甲时30尺 (6格);基础速度40尺|
|''防御等级:'' 18 (-1体形,-1敏捷,+7天生,+3革甲) ,接触8,措手不及18|
|''基本攻击/擒抱:'' +7/ +17|
|''攻击:'' 钉头锤 +12 近战 (2d6+6) 或 标枪 +5 远程 (1d8+6)|
|''全回合攻击:'' 2 钉头锤 +12/+7 近战 (2d6+6) 或 2 标枪 +5 远程 (1d8+6)|
|''面宽/触及:'' 10尺/ 10尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,超级双武器作战|
|''豁免:'' 强韧+9,反射+2,意志+5|
|''属性:'' 力量23,敏捷8,体质15,智力6,感知10,魅力11|
|''技能:'' 聆听+10,搜索+1,侦察+10|
|''专长:'' 警觉,精通先攻,钢铁意志,猛力攻击|
|''环境:'' 寒冷的山地|
|''组织:'' 独行,成队 (3-5),成群 (1-2外加1-2棕熊),一大群 (3-5外加1-2棕熊),或部落 (3-5外加1-2棕熊及7-12兽人或9-16地精)|
|''挑战等级:'' 6|
|''宝物:'' 标准|
|''阵营:'' 通常混乱邪恶|
|''进化:'' 视人物等级而定|
|''等级调整:'' +5|


双头巨人是在夜晚出没,难以预测的可怕猎食者。

双头巨人几乎从不会洗澡,因此通常肮脏而难闻。他们的皮肤披着层浓密的灰毛,成年双头巨人高约13尺,体重约5,200磅。双头巨人通常能活75年。

双头巨人没有自己的语言,他们把兽人语,地精语和巨人语混合起来使用。懂得这些语言的生物可以进行DC 15的智力检定与双头巨人沟通。每一点信息需要进行一次检定。如果生物懂得以上两种语言,那么DC降低为10,如果懂得使用以上全部三种语言,则DC降低为5。

!!! 战斗

虽然双头巨人并不聪明,但在战斗中却很狡猾。

他们喜欢伏击目标,而不是直接了当的战斗,但在战斗开始后,双头巨人会勇猛地战斗到所有敌人死亡为止。

''超级双武器作战 (EX):''双头巨人两只手分别持握钉头锤或标枪作战。因为两颗脑袋分别控制双手,双头巨人在使用双武器作战时,攻击命中检定和伤害检定不受罚值。

''技能:''双头巨人有两颗脑袋,因此在进行聆听,侦察及搜索检定时可获得+2的种族加值。 
这两项特异能力允许目标通过跳跃和转身来躲避区域伤害。游荡者和武僧具有反射闪避与精通反射闪避能力职业特性,但某些其他生物也拥有这些能力。

如果某种伤害可以通过成功的反射豁免而只受一半伤害,那么拥有反射闪避的人物通过检定将不受伤害。

就象利用反射豁免,一个人物必须要有空间来进行闪避。一个被绑住或挤在狭窄区域的人物无法使用反射闪避。

同样和反射豁免一样,反射闪避是被动能力。人物不必知道攻击来临就可以使用反射闪避。

穿着中型和重型盔甲的游荡者和武僧不能使用反射闪避。一些将反射闪避作为天生能力的生物不受这个限制。

精通反射闪避类似反射闪避,除了人物未通过反射豁免检定也只受一半伤害。

''Evasion(反射闪避):'' 穿戴者拥有矫健身手,如同具有反射闪避能力。进行伤害减半的反射检定时,若通过检定,可完全不受伤。

施法者等级:7。先决条件:“锻造戒指”,“跳跃术”。交易价格:25000金币。
''Eversmoking Bottle(无尽烟壶):'' 看起来和“火巨灵囚瓶”一样,但是只会冒烟。一旦拔起瓶塞,瓶中冒出的浓烟会完全遮蔽50英尺半径的视线,为时一轮。只要瓶口没封住,每轮烟雾扩散半径增加10英尺,最远可达100英尺,影响区域内烟雾弥漫。

欲封住瓶口必须说出指令,封住之后烟雾便正常消散。中强度的风(11英里/时)可以在4回合内将烟吹散,强烈的风(21英里/时)可以在1回合内将烟吹散。

CL 3rd; Craft Wondrous Item, pyrotechnics; Price 5,400 gp;Weight 1 lb.
''邪恶(Evil)亚种:''此亚种通常只适用于居住在邪恶阵营外位面上的异界生物。邪恶的异界生物也常被称作妖魔。绝大多数此亚种生物也具有邪恶阵营;但如果他们的阵营发生变化,他们仍然维持此亚种不变。在计算依赖于阵营的效果影响时,无论本身阵营如何邪恶亚种的生物都被视为邪恶阵营。它也会同样因为它的自身实际阵营而受到影响。邪恶亚种的生物在对抗伤害减免时,它的天生武器和任何持有的武器都视作具有邪恶阵营(见上文,伤害减免)。
''力竭(Exhausted):''力竭的人物以正常速度的一半移动,并在力量和敏捷上有-6减值。在1小时完全的休息之后,力竭的人物将变得疲乏(fatigued)。疲乏的人物在做过一些通常会让人陷入疲乏状态的事之后会变为力竭。

 
!!! 擅长异种武器(EXOTIC WEAPON PROFICIENCY)[一般专长]

选择一种异种武器,你知道在战斗中如何使用它。

''先决条件:''基本攻击加值+1(对于重剑或矮人重斧则还需力量13)。

''效果:''你使用该武器时可以正常做攻击检定。

''正常:''使用不擅长的武器进行攻击时,攻击检定有-4减值。

''特殊:''你可以多次选择本专长,但每次必须选择不同的异种武器。若选择重剑或矮人重斧,要额外增加一条先决条件:力量达13。

战士可以选择本专长作为其战士奖励专长。

!!!脚底抹油(Expeditious Retreat)
|变化系|
|''等级:''吟游诗人 1,术士/法师 1|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''1 分钟/等级(可解消)|
|此法术可将你的步行速度提高30英尺(这视作增强加值)。对其他移动方式没有影响,如:挖掘,攀爬,飞行或游泳,但可以使你跳得更远(见跳跃技能)。|
''生命骰数: ''d6。

!!!!本职技能

专家可以选择任何10种技能作为本职技能。

''1级人物起始技能点:''(6 + 智力调整值) x4。

''升级技能点数:'' 6 + 智力调整值。

 

''表: 专家''

|!	NPC等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|
|^	1	|^	+0	|^	+0	|^	+0	|^	+2	|
|^	2	|^	+1	|^	+0	|^	+0	|^	+3	|
|^	3	|^	+2	|^	+1	|^	+1	|^	+3	|
|^	4	|^	+3	|^	+1	|^	+1	|^	+4	|
|^	5	|^	+3	|^	+1	|^	+1	|^	+4	|
|^	6	|^	+4	|^	+2	|^	+2	|^	+5	|
|^	7	|^	+5	|^	+2	|^	+2	|^	+5	|
|^	8	|^	+6/+1	|^	+2	|^	+2	|^	+6	|
|^	9	|^	+6/+1	|^	+3	|^	+3	|^	+6	|
|^	10	|^	+7/+2	|^	+3	|^	+3	|^	+7	|
|^	11	|^	+8/+3	|^	+3	|^	+3	|^	+7	|
|^	12	|^	+9/+4	|^	+4	|^	+4	|^	+8	|
|^	13	|^	+9/+4	|^	+4	|^	+4	|^	+8	|
|^	14	|^	+10/+5	|^	+4	|^	+4	|^	+9	|
|^	15	|^	+11/+6/+1	|^	+5	|^	+5	|^	+9	|
|^	16	|^	+12/+7/+2	|^	+5	|^	+5	|^	+10	|
|^	17	|^	+12/+7/+2	|^	+5	|^	+5	|^	+10	|
|^	18	|^	+13/+8/+3	|^	+6	|^	+6	|^	+11	|
|^	19	|^	+14/+9/+4	|^	+6	|^	+6	|^	+11	|
|^	20	|^	+15/+10/+5	|^	+6	|^	+6	|^	+12	|

 

!!!!职业特性

下述为专家 NPC职业的职业特性。

''擅长武器和防具: ''专家擅长所有简单武器和轻型盔甲,但不擅长使用盾牌。

!!!爆裂符文(Explosive Runes)
|防护系 [力场]|
|''等级:''术士/法师 3|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''接触|
|''目标:''不重于10磅的一个被接触物体|
|''持续时间:''永久,直到能量散发(可解消)|
|''豁免检定:''见说明 |
|''法术抗力:''可|
|你将这些神秘符文画在书、地图、卷轴,或者诸如此类有文字信息的物体上。一旦被阅读,符文将会被引发,同时造成6d6点力场伤害。任何站在旁边的人(近到足以阅读符文)将承受全部伤害,符文10英尺内的其他所有生物可通过反射检定来使伤害减半。书写了符文的物体也将承受全部伤害(无豁免)。|
|你和你特别指定的人可以读取被符文保护的信息而不触发符文。你也可以随时移除符文,其他人可尝试用解除魔法(dispel magic)或抹消术(erase)来移除符文,但是如果失败就会引爆符文。|
|//注意://爆裂符文之类的魔法陷阱是难以侦测和解除的。游荡者(只有游荡者)可以通过搜索检定来发现它,并通过解除装置来除去。这样做的DC为25+法术等级,爆裂符文的DC为28。|
!!! 法术延时(EXTEND SPELL)[超魔专长]

''效果:''搭配此专长时,法术持续时间成为原来的两倍。持续时间为专注、立即或永久的法术不受本专长的影响。延时的法术需占用高于原本一个等级的法术位。

!!! 额外驱散(EXTRA TURNING)[一般专长]

''先决条件:''驱散或斥喝生物的能力。

''效果:''每次选择本专长时,你每天可以比平时多使用4次驱散或斥喝生物的能力。

如果你能够驱散或斥喝一种以上的生物,则对于每种生物的驱散或斥喝能力均每天增加4次。

''正常:''若没有本专长,该人物每天使用驱散或斥喝不死生物(或其他生物)能力的次数一般等于3+其魅力调整值。

''特殊:''你可以多次选择本专长,每次都可再获得每天4次的额外驱散或斥喝能力。

''跨位面(Extraplanar)亚种:''此亚种指那些不在它原本所属位面的生物。一个在位面间旅行的生物在转移位面时可能获得或失去此亚种。怪物描述中默认和生物之间的遭遇发生在主物质位面,于是那些原本不属于主位面的生物都是跨位面亚种(但当它在其原始位面的时候便不是了)。本书中提到的跨位面生物,在描述中都注明了它原本所属的位面。没有标明跨位面的生物都属于主物质位面,当他们离开主物质位面的时候将获得此亚种。正处于过渡位面,如星界(Astral Plane)、灵位面(Ethereal Plane)和阴影位面(Plane of Shadow)的生物不会获得跨位面亚种。
!!!摄心目光(Eyebite)
|死灵系 [邪恶]|
|''等级:''吟游诗人 6, 术士/法师 6|
|''法术成分:''言语,姿势|
|''施法时间:'' 一个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''目标:''一个活物|
|''持续时间:''每三等级一轮;见说明|
|''豁免检定:''强韧,通过则无效|
|''法术抗力:''可|
|每一轮,你都可以选择一个目标,用邪恶力量波攻击它。根据受术者的HD,此法术产生以下三种效果。|

|!	HD	 |!	效果	 |
|^	10或更多	 |^	恶心	 |
|^	5–9	 |^	恐慌,恶心	 |
|^	4 或更低	 |^	沉睡,恐慌,恶心	 |

效果可累加,并同时发生。

//[[恶心(Sickened)|Sickened(恶心)]]://目标遭到突如起来的痛苦及热病。恶心状态的生物在攻击,伤害,豁免,技能及属性检定上承受-2的减值。此效果持续10分钟/施法者等级。移除疾病(remove disease)和医疗术(heal)无法去除此效果,但移除诅咒(remove curse)可以。

//[[恐慌(Panicked)|Panicked(恐慌)]]://目标陷入恐慌状态1d4轮。即便恐慌结束,目标依然会处于战栗(shaken)状态,持续时间为每施法者等级10分钟,如果在此期间它又进入你的视线范围,它会重新陷入恐慌。这属于恐惧效果。

//沉睡(Comatose)://目标陷入僵硬的病态沉眠,持续10分钟/施法者等级。在此期间,生物无法以任何不足以解除此魔法的方式叫醒。这并非是睡眠效果,因此精灵不能免疫它。

此法术可持续每3施法者等级1轮,第一轮后每轮你必须以一个移动动作来瞄准目标。

''Eyes of Charming(魅惑镜片): ''这是两片水晶镜片,配戴者只要和目标人物四目交投,就可以施展“魅惑人类”(每轮一个目标)。目标人物未通过意志检定(DC=16)就会被魅惑,效果如同“魅惑人类”。如果配戴者只有一个镜片,则豁免检定的DC降为10。

施法者等级:7。先决条件:“制造奇物”,升阶“魅惑人类”。交易价格:56000金币。
''Eyes of Doom(丧志镜片):'' 配戴此水晶镜片者只要和目标对象四目交投,就可以向对方施展“丧志术”(每轮一个目标),受术者若通过意志检定(DC=11)则无效。如果配戴者只有一个镜片,则豁免检定的DC降为10。如果配戴者有两个镜片,还可以获得持续“观命术”能力,此外每周可以使用一次“慑心目光”(DC=16)。

CL:11。先决条件:“制造奇物”,“丧志术”、“观命术”、“慑心目光”。价格:25000金币。
''Eyes of Petrification(石化镜片):'' 配戴此水晶镜片者可以进行石化凝视攻击(DC=19),每天可以使用该能力十轮。使用时必须同时配戴两只镜片。

施法者等级:11。先决条件:“制造奇物”,“石化术”。交易价格:98000金币。
''Eyes of the Eagle(鹰眼镜片): ''配戴此水晶镜片者的“侦察”检定有+5环境加值。如果只配戴有一个镜片,配戴者会目眩,即震慑一轮。如果把另一只眼睛遮住,便可不受震慑而正常使用。当然,他随时可以把镜片取下恢复正常视力,或是戴上另一只镜片避免目眩。

施法者等级:3。先决条件:“制造奇物”,“锐耳术/鹰眼术”。交易价格:2500金币。
!!!鬼斧神工(Fabricate)
|变化系|
|''等级:''术士/法师 5|
|''法术成分:''言语,姿势,材料|
|''施法时间:''见正文|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''至多每等级10立方英尺;见正文|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''不可|
|你将一种材料转化成同种材料的产品。不能用鬼斧神工来制造生物或魔法物品。用该法术制造的物品其品质和制成品中主要部分的原料品质相称。如果你使用矿石来制造物品,那么目标物品缩小到每等级1立方英尺,而非10立方英尺。|
|对于那些需要高度手工艺的产品而言,你必须做一个相关的手艺检定。|
|施展该法术需要的时间为每影响10立方英尺(或者每1立方英尺)材料1轮。|
|//材料成分://原始材料,即和创造出的物品相同数量的原材料。|
!!!妖火(Faerie Fire)
|塑能系[光亮]|
|''等级:''德鲁伊 1|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''远距(400英尺+40英尺/每等级)|
|''区域:''5英尺半径爆发范围内的生物和物品|
|''持续时间:''1分钟/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''可|
|一团微光笼罩并勾勒出目标的轮廓。被笼罩的目标发出蜡烛般的光芒。被笼罩的生物无法从黑暗中获得正常的隐蔽好处(但是2级或更高等级的黑暗(darkness)效果依然可以正常运作),也无法从朦胧术(blur)、位移(displacement)、隐形,或类似的效果中获得好处。这种光亮太黯淡了,因此无法对那些会被光所伤的不死生物或居住在黑暗中的生物产生影响。根据你施法时的选择,妖火可以是蓝色、绿色或者是紫色。妖火对那些被笼罩的物品或生物无法造成任何损害。|
!!!虚假生命(False Life)
|死灵系|
|''等级:''术士/法师 2|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''你自己|
|''持续时间:''1小时/每等级或直到被耗散掉;见正文|
|控制反生命的力量让你获得能在一定限度内避开死亡的能力。当此法术起作用时,你获得1d10+1/每施法者等级(最多+10)的暂时生命值。|
|//材料成分://少量酒精或蒸馏烈酒,在施法的时候用它在你身体上画出某些符号。在酒精或烈酒蒸发后,这些符号将变得不可见。|
!!!虚假景象(False Vision)
|幻术系(五官幻觉)|
|''等级:''吟游诗人 5,术士/法师 5,诡术 5|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''区域:''40英尺半径弥漫区域|
|''持续时间:''1小时/每等级|
|''豁免:''无|
|''法术抗力:''不可|
|任何用来查看被此法术影响区域内物品的预言系(探知)法术都将获得一个虚假的幻影(如同高等幻影(major image)),该幻影由你在施法时确定。在持续时间内,你可以集中精神来根据意愿改变幻影。当你不集中精神的时候,该幻影保持静止。|
|//奥术材料成分://至少价值250金币的翡翠微尘,施法时将其洒在空中。|
!!! 远程射击(FAR SHOT)[一般专长]

''先决条件:''近程射击。

''效果:''当你使用弹射类武器时(如弓),射程将增加原本的1/2(即乘1.5)。当你使用投掷类武器时,射程增加为两倍。

''特殊:''战士可以选择本专长作为其战士奖励专长。
''迷魂(Fascinated):''处在迷魂状态的人物被超自然能力或法术弄得神志恍惚。人物会静静的站着或坐着,除了专心于产生迷魂的效果外什么都不做,直到效果结束。在基于感应的技能检定上(例如聆听和侦察检定)有-4减值。任何潜在的威胁,如敌对生物的接近,将允许被迷魂的生物进行一次新的豁免检定来对抗迷魂效果。任何明显的威胁, 例如其他人拔出武器、施展法术或以远程武器瞄准被迷魂的生物,都会自动地打破效果。被迷魂生物的同伴可以通过一个标准动作摇晃他来使他摆脱迷魂状态。 

 
''快速痊愈(Fast Healing,特异能力):''具有快速痊愈特性的生物能够以不寻常的速度恢复生命值,在这些生物的回合开始时它们会医疗回复特定点数生命值(取决于具体描述)。除非特别注明,否则快速痊愈类似于自然痊愈。快速痊愈无法恢复由饥饿、口渴、窒息引起的生命值减少,也不能够象再生(regeneration)一样让生物重新长出失去的肢体部位。除非特别说明,它亦不能使断落的肢体部位重新接在一起。

*一个同时承受正常伤害和非致命伤害的生物将首先治疗非致命伤害。

*快速医疗不会增加当生物变形(polymorph)时获得的生命值。

''疲乏(Fatigued):''疲乏的人物无法奔跑或冲锋,并在力量和敏捷上有-2减值。疲乏的人物做任何通常会让人陷入疲乏状态的事之后都会变为力竭状态(exhausted)。在8小时完全休息后,疲乏的人物就不再疲乏。

''恐惧(Fear,超自然能力或类法术能力):''恐惧攻击有多种效果。法术、魔法物品和某些怪物可以对人物产生恐惧效果。在大多数情况下,人物可通过一次成功的意志豁免检定来抵抗这种效果,失败则意味着人物陷入战栗、惊惧或恐慌状态。

恐惧灵气(Fear Aura,超自然能力):使用此能力属于即时动作。这种灵气可以让对手动弹不得(比如木乃伊的绝望)或是类似于惊恐术(fear)效果,也可能会是其他效果。恐惧灵气是一种区域效果。说明文字会给出区域的大小和灵气的种类。

恐惧锥(类法术能力)和恐惧射线(超自然能力):这些效果通常类似于惊恐术。

如果恐惧效果允许进行豁免判定,那么豁免是一个意志豁免(DC为10+1/2发出恐惧效果生物的种族生命骰+生物的魅力调整值;具体DC在生物说明中给出)。所有的恐惧攻击都是影响心灵[mind-affecting]的恐惧类效果。


//战栗(Shaken)://战栗状态下的人物攻击检定、豁免、技能检定以及属性检定都受到-2士气减值。

//惊惧(Frightened)://惊惧状态的人物同样处于战栗状态,同时还会以最快的速度逃离恐惧源。他们会选择逃跑的路线。除了上述限制外,一旦他们跑出可以看到(或听到)恐惧来源的地方就可以控制自己的行为。然而,如果他们还处在恐惧期间,当之前的恐惧源再次出现时他们会被迫再次逃离。若人物无法逃跑便会战斗(但仍处于战栗状态)。

//恐慌(Panicked)://恐慌状态的人物同样处于战栗状态,同时他们会以最快的速度逃离恐惧源。除了都是远离恐惧源外,逃跑路线是随机。他们会远离遇到的其它危险而不是面对这些。无法逃跑则进入畏缩状态(cower)。

//变的更恐惧(Becoming Even More Fearful)://恐惧效果是可积累的。一个战栗状态的人物再次遭受到战栗影响的话将处于惊惧状态。而一个战栗的人物被惊惧影响的话将处于恐慌状态。一个惊惧状态的人物受到战栗或惊惧影响的话会处于恐慌状态。


!!!恐惧术(Fear)
|死灵系[恐惧,影响心灵]|
|''等级:''吟游诗人 3,术士/法师 4|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''30英尺|
|''区域:''锥形爆发|
|''持续时间:''1轮/每等级或1轮;见正文|
|''豁免:''意志,通过则部分生效|
|''法术抗力:''可|
|一个不可见的锥形范围恐惧让这个区域内的所有活物都变为恐慌状态,除非他们成功地进行了一次意志豁免。如果被逼到绝路,恐慌的生物会变成畏缩状态。如果意志豁免成功,那么该生物战栗1轮。|
|//材料成分://母鸡心脏或者一片白羽毛。|
!!!羽落术(Feather Fall)
|变化系|
|''等级:''吟游诗人 1,术士/法师 1|
|''法术成分:''言语|
|''施法时间:''一个即时动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''每等级一个正在自由落体的中型或更小的物体或生物,任意两者之间距离不得超过20英尺|
|''持续时间:''直到落地或1轮/每等级|
|''豁免:''意志通过则无效(无害),或意志通过则无效(物品)|
|''法术抗力:''可|
|被影响的生物或物品坠落速度会减慢。羽落术能立刻改变坠落物的速度,将其变为仅每轮60英尺(相当于从几英尺高度落下的最后速度),当法术还生效时,受术者落地也不会受到伤害。但是,当法术持续时间过期后,坠落速度又会恢复正常。|
|该法术可以影响一个或多个中型或更小的生物(包括装备和携带的物品,但至多为每个生物的最大负重上限)或物品,或者对等的较大体型生物:一个大体型生物或物品计作两个中型生物或物品,一个超大型生物计作两个大型生物或物品,以此类推。|
|你可以用极快的一句话来施展该法术,快到足够在你意外坠落的时候救自己的命。和施展瞬发法术类似,施展该法术是一个即时动作,同时它也计入每轮只能施展一个瞬发法术的正常限制中。就算不是你的回合中,你也可以施展这个法术。|
|该法术对远程武器没有特别功效,除非它们完全是掉落下来的。如果该法术施展在坠落物品上,根据该物品重量而造成的伤害只有一半,并且没有因为坠落高度而获得的加值。|
|羽落术只能对自由落体物品起作用。对剑的挥动以及冲锋或飞行中的生物来说,它没有作用|
''Feather Falling(羽落):'' 此戒指刻了一圈羽毛状的花纹,效果如同“羽落术”。当穿戴者坠落5英尺时,就会自动启动。

施法者等级:1。先决条件:“锻造戒指”,“羽落术”。交易价格:2200金币。
''Feather Token(夸尔的羽符)'': 具有不同功能的羽毛,每个羽符只能使用一次。种类说明如下:

*锚:使船碇泊在水面,停在原地不动一天。
*鸟:可将一条简短书面讯息传送给目标对象,传送完后羽符就消失。
*风扇:超大型风扇,吹起一股足以推动船前进的风(时速25英里)。此风不能和已存在的风累加,如果已刮著烈风,不能相加形成暴风。但可逆风用来减弱风势(但对风暴内的浪没有影响)。风扇可以使用8小时,在陆地上没有作用。
*天鹅船:可以变出一艘天鹅形的船,水中航行速度60英尺。可乘载8匹马及装备,或32名中型人物或类似组合。船只能存在一天。
*树:变出一棵巨大橡树(树干直径6英尺、高60英尺、树冠40英尺),立即生效。
*鞭:变出一条巨大皮鞭,如同“舞空”武器一样挥向敌人。它具有+10基本攻击加值,基本伤害值1d6+1点,攻击和伤害有+1增强加值,如果击中可以进行擒抱攻击(+15攻击加值)。鞭子只能存在一小时。

施法者等级:12。先决条件:“制造奇物”,“高等造物术”。交易价格:50金币(锚),300金币(鸟),200金币(风扇),450金币(天鹅船),100金币(树),500金币(鞭)。重量:不记。
!!!弱智术(Feeblemind)
|惑控系(胁迫)[影响心灵]|
|''等级:''术士/法师 5|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''一个生物|
|''持续时间:''立即|
|''豁免:''意志通过则无效;见正文|
|''法术抗力:''可|
|如果目标生物在意志豁免中失败,他的智力和魅力值都将掉到1。被影响的生物不能使用任何基于智力或魅力的技能,不能施法,不能理解语言,也不能连贯的交流。但是他依然知道谁是他的朋友,也能跟随他们行动,甚至可以保护他们。受术者会始终保持这一状态,直到被医疗术(heal)、有限祈愿术(limited wish)、神迹术(miracle)、或祈愿术(wish)来取消掉弱智术效果为止。能施展奥术的生物,例如术士或法师,在他的豁免判定中要受到-4减值。|
|//材料成分://一把粘土、水晶、玻璃、或矿石小球。|
!!! 虚招(FEINT)

虚招属于标准动作。使用虚招时,你要进行一次唬骗检定,来对抗目标的察言观色检定。目标可以将他的基本攻击加值加到察言观色的检定结果上去。如果你的唬骗检定结果超过目标的察言观色检定结果,则你下一次对该目标进行近战攻击时,他的AC便失去敏捷加值(如果有敏捷加值的话)。该攻击必须在你的下一回合或是在你的下一回合之前进行。

用这种方式对非类人生物使用虚招时,你的检定会受到-4的减值。对只有动物智力水平(1或2)的目标使用虚招时候,你的检定会受到-8的减值。而对没有智力属性的生物使用虚招则是不可能的。

在战斗中使用虚招不会引发借机攻击。

''以移动动作来使用虚招:''通过精通虚招(Improved Feint)专长,你就可以用一个移动动作来尝试使用虚招,而不是原来的标准动作。

 
''精类(Fey):''精类是具有超自然能力的生物,他们和自然界或一些其他的力量或地点联系在一起。精类通常具有人类的外形。

//特征://精类具有下列特征。

* d6生命骰。
* 基本攻击奖励等于1/2生命骰数总和(类似于法师)。
* 擅长的豁免检定:反射和意志。
* 技能点数等于每个生命骰(6+智力调整值,最少为1),第一个生命骰的技能点数为它的四倍。

//特性://精类拥有下列特性(除非生物描述中另有说明)。

* 低光视觉。
* 熟练使用所有简单武器和它的说明中所提到的任意武器。
* 熟练使用任何和它描述中所穿戴盔甲同类的盔甲(轻,中或重甲),以及比该盔甲轻的盔甲。说明中没有提到穿戴盔甲的精类不能熟练使用盔甲。熟练使用任一盔甲的精类可以熟练使用盾牌。
* 精类需要进食、睡眠和呼吸。

!! Fiendish Creature(炼狱生物)


炼狱生物居住在邪恶的下层位面,但在主物质位面也能找到与它们类似的生命。和俗世间的类似生物相比,它们拥有更加可怕的外貌。

!!! 创造炼狱生物

“炼狱” 是一个经遗传而得的模板,它可以加在任何非善良阵营的实体生物,即异怪类,动物类,龙类,精类,巨人类,类人生物类,魔法兽类,人形怪物类,植物类和虫类生物上(以下将其称为“基本生物”)。

除非特别注明,炼狱生物沿用基本生物的所有数据和能力。如果生物种类发生改变,不要重新计算其生命骰,基本攻击加值,豁免和技能点数。

''体型和种类:''获得此模板的动物和虫类将变成魔法兽,但其它生物种类不会因获得此模板而发生改变。生物体型不变。出现在主物质位面的炼狱生物将获得跨位面亚种。

''特殊攻击:''炼狱生物保留基本生物的所有特殊攻击,并获得以下特殊攻击。

''破善斩(Su): ''每天一次,炼狱生物在对抗善良阵营敌手时,可以在普通近战攻击同时制造等同于自身HD的额外伤害(最多+20)。

''特性:''炼狱生物保留基本生物的所有特性,并获得以下特性。

*60尺黑暗视觉。
*伤害减免 (见下表)。
*抗寒及抗火 (见下表)。
*等同于其HD+5(最多25)的法术抗力 。

如果基本生物已拥有一种或多种以上特性,则取两者中数值较高者。
如果天界生物获得伤害减免,那么在对抗伤害减免时其天生武器将视为魔法武器。

''属性:''与基本生物相同,但智力值至少是3。

''环境:''任意邪恶位面

''挑战等级:''HD小于或等于3时,与基本生物相同;HD 在4至7时,为基本生物+1;HD等于或大于8时,为基本生物+2

''阵营:''总是任意邪恶

''等级调整:''基本生物+2 

|!生命骰|!抗寒及抗火|!伤害减免|
|1–3|5|—|
|4–7|5|5/魔法|
|8–11|10|5/魔法|
|12 以上|10|10/魔法|

''阵营:''任意

''生命骰:''d10

 
!!!! 本职技能
战士的本职技能(和各技能的关键属性)为:攀爬(力量),手艺(智力),驯养动物(魅力),威吓(魅力),跳跃(力量),骑术(敏捷),游泳(力量)。

''1级人物起始技能点:''(2+智力修正)x4

''升级技能点数:''2+智力修正。

 

 

''表:战士''

|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!	特殊	|
|^	1 	|^	+1	|^	+2	|^	+0	|^	+0	|^	奖励专长	|
|^	2	|^	+2	|^	+3	|^	+0	|^	+0	|^	奖励专长	|
|^	3	|^	+3	|^	+3	|^	+1	|^	+1	|^		|
|^	4	|^	+4	|^	+4	|^	+1	|^	+1	|^	奖励专长	|
|^	5	|^	+5	|^	+4	|^	+1	|^	+1	|^		|
|^	6	|^	+6/+1	|^	+5	|^	+2	|^	+2	|^	奖励专长	|
|^	7	|^	+7/+2	|^	+5	|^	+2	|^	+2	|^		|
|^	8	|^	+8/+3	|^	+6	|^	+2	|^	+2	|^	奖励专长	|
|^	9	|^	+9/+4	|^	+6	|^	+3	|^	+3	|^		|
|^	10	|^	+10/+5	|^	+7	|^	+3	|^	+3	|^	奖励专长	|
|^	11	|^	+11/+6/+1	|^	+7	|^	+3	|^	+3	|^		|
|^	12	|^	+12/+7/+2	|^	+8	|^	+4	|^	+4	|^	奖励专长	|
|^	13	|^	+13/+8/+3	|^	+8	|^	+4	|^	+4	|^		|
|^	14	|^	+14/+9/+4	|^	+9	|^	+4	|^	+4	|^	奖励专长	|
|^	15	|^	+15/+10/+5	|^	+9	|^	+5	|^	+5	|^		|
|^	16	|^	+16/+11/+6/+1	|^	+10	|^	+5	|^	+5	|^	奖励专长	|
|^	17	|^	+17/+12/+7/+2	|^	+10	|^	+5	|^	+5	|^		|
|^	18	|^	+18/+13/+8/+3	|^	+11	|^	+6	|^	+6	|^	奖励专长	|
|^	19	|^	+19/+14/+9/+4	|^	+11	|^	+6	|^	+6	|^		|
|^	20	|^	+20/+15/+10/+5	|^	+12	|^	+6	|^	+6	|^	奖励专长	|


!!!!职业特性
以下是战士的职业特性。

''武器和防具擅长:''战士擅长使用所有的简单武器和军用武器,同时擅长所有类型盔甲(重甲,中甲,轻甲)和盾牌(包括塔盾)。

''奖励专长:''一级时,战士获得一个战斗方面的专长作为奖励专长,该专长是一级人物专长和人类角色奖励专长之外的奖励专长。战士2级和之后每2级(4,6,8,10,12,14,16,18,20级)都会获得一个奖励专长。这些专长必须从那些标明可以作为战士奖励专长的专长中选择。战士必须达到所有奖励专长的要求,包括属性值和最低基本攻击加值。这些奖励专长是对因角色升级而获得专长的补充。当战士选择角色升级专长时,他不受战士奖励专长表的限制。

 
''战士奖励专长列表:''盲斗(BLIND-FIGHT)、顺势斩(CLEAVE)、寓守于攻(COMBAT EXPERTISE)、战斗反射(COMBAT REFLEXES)、拨挡飞箭(DEFLECT ARROWS)、闪避(DODGE)、擅长异种武器(EXOTIC WEAPON PROFICIENCY)、远程射击(FAR SHOT)、大顺势斩(GREAT CLEAVE)、高等双武器攻击(GREATER TWO-WEAPON FIGHTING)、高等专攻武器(GREATER WEAPON FOCUS)、高等专精武器(GREATER WEAPON SPECIALIZATION)、精通冲撞(IMPROVED BULL RUSH)、精通重击(IMPROVED CRITICAL)、精通卸除武器(IMPROVED DISARM)、精通虚招(IMPROVED FEINT)、精通擒抱(IMPROVED GRAPPLE)、精通先攻(IMPROVED INITIATIVE)、精通闯越(IMPROVED OVERRUN)、高等精准射击(IMPROVED PRECISE SHOT)、精通盾击(IMPROVED SHIELD BASH)、精通击破武器(IMPROVED SUNDER)、精通拌摔(IMPROVED TRIP)、精通双武器攻击(IMPROVED TWO-WEAPON FIGHTING)、精通徒手击打(IMPROVED UNARMED STRIKE)、多重射击(MANYSHOT)、灵活移动(MOBILITY)、骑乘射击(MOUNTED ARCHERY)、骑乘战斗(MOUNTED COMBAT)、近程射击(POINT BLANK SHOT)、猛力攻击(POWER ATTACK)、精准射击(PRECISE SHOT)、即时备战(QUICK DRAW)、快速装填(RAPID RELOAD)、快速射击(RAPID SHOT)、快速骑乘攻击(RIDE-BY ATTACK)、移动射击(SHOT ON THE RUN)、抓取飞箭(SNATCH ARROWS)、奋力冲刺(SPIRITED CHARGE)、跳跃攻击(SPRING ATTACK)、震慑拳(STUNNING FIST)、践踏(TRAMPLE)、双武器防御(TWO-WEAPON DEFENSE)、双武器攻击(TWO-WEAPON FIGHTING)、武器娴熟(WEAPON FINESSE)、专攻武器(WEAPON FOCUS)、专精武器(WEAPON SPECIALIZATION)、旋风攻击(WHIRLWIND ATTACK)

 

 
 
''Figurines of Wondrous Power(异能塑像)'': 看起来像各种生物的小塑像,高约一英寸(其中有一个例外)。若掷出塑像并说出指令,塑像会马上变为活的生物,并恢复应有大小(除非另有说明),这些生物听从使用者指挥。

如果“异能塑像”在塑像状态下被打破或摧毁,就再也不能复原,所有魔力都消失。如果在动物状态下被杀死,只是回复到塑像状态,之后还可以再度使用。
!!!寻找捷径(Find The Path)
|预言系|
|''等级:''吟游诗人 6,牧师 6,德鲁伊 6,知识 6,旅行6|
|''法术成分:''言语,姿势,器材|
|''施法时间:''3轮|
|''距离:''个人或接触|
|''目标:''你自己或接触的生物|
|''持续时间:''10分钟/每等级|
|''豁免:''无,或意志通过则无效(无害) |
|''法术抗力:''不可,或可(无害)|
|该法术的受术者能找到去某个特定目的地最短最直接的物理途径,以便进入或离开某个地区。该地区可以是野外,地下,甚至是迷宫术(maze)内。寻找捷径只和地点相关,和地区内物品或生物无关。该地点必须和你施法时处在同一位面。|
|这个法术能让受术者感觉到最终能将他带到目的地的正确方向,在合适的时机指出精确的路径,或者该采取什么样的物理行动。例如,该法术能让受术者感觉到绊绳的存在,或者知道通过守卫刻文(glyph of warding)的正确词语。不管是先到达目的地还是持续时间先结束,法术都将结束。寻找捷径能在一轮内将受术者和他的伙伴从迷宫术中移出来。|
|这个预言仅为受术者所知,而和他的伙伴无关。它的效果也无法预知或预计到生物的行动(包括守卫)。|
|//器材://一套你擅用的预言筹码。A set of divination counters of the sort you favor.|
!!!寻找陷阱(Find Traps)
|预言系|
|''等级:''牧师 2|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''你自己|
|''持续时间:''1分钟/每等级|
|法术让你对陷阱有种直观的洞察。你可以像游荡者一样用搜索技能来找到陷阱。另外,在该法术期间内,寻找陷阱时你的搜索检定获得洞察加值,数值等于你施法者等级的一半(最多+10)。|
|注意,寻找陷阱不能让你解除掉你找到的陷阱。|
!!!死亡一指(Finger of Death)
|死灵系[死亡]|
|''等级:''德鲁伊 8,术士/法师 7|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个活物|
|''持续时间:''立即|
|''豁免:''强韧,通过则部分生效|
|''法术抗力:''可|
|你能杀死任何距离内的一个活物。目标可以进行一次强韧豁免来避免被杀。如果该豁免成功,该生物将只受到3d6+1/每施法者等级(最多+25)的伤害。|
|即便目标豁免成功,它依然有可能因为受到伤害而死亡。|
一个免疫火焰的生物不受火焰伤害。但更易被寒冷所伤,寒系伤害将为原先的一倍半(+50%),不管这种伤害是否允许进行豁免检定,或检定是否通过。
''高等抗火:''吸收每次攻击的前30点火焰伤害,其余和抗火相同。

中等防护系灵光;CL11;制造魔法武器和防具,抵抗能量(resist energy);价格+66000金币。
''强化抗火:''吸收每次攻击的前20点火焰伤害,其余和抗火相同。

中等防护系灵光;CL7;制造魔法武器和防具,抵抗能量(resist energy);价格+42000金币。
''抗火:''具有此能力的防具颜色通常略红且常以严肃主题的图案装饰。防具吸收穿戴者受到的每次攻击中前10点火焰伤害(类似抵抗能量(resist energy))。

微弱防护系灵光;CL3;制造魔法武器和防具,抵抗能量(resist energy);价格+18000金币。
!!!火种术(Fire Seeds)
|咒法系(创造)[火]|
|''等级:''德鲁伊 6,火 6,太阳 6|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''至多四个接触的橡实,或至多八个接触的冬青浆果|
|''持续时间:''10分钟/每等级或直到被使用|
|''豁免:''无或反射减半;见正文|
|''法术抗力:''不可|
|根据选择的不同火种术功效,你能将橡实转变为泼溅武器,可以让你或其他人投掷出去,或者将冬青浆果转变为你可以控制引爆的炸弹。|
|橡实手雷(Acorn Grenades):可以将至多4个橡实转变为一种特殊的泼溅武器,可以至多扔到100英尺的距离。要打到目标必须作一次远程接触攻击。所有橡实总共可造成的伤害上限为每施法者等级1d6点火伤害(最多20d6),你可以自由的来给这些橡实分配伤害。|
|每个橡实在撞击到任何坚硬表面的时候都会爆炸。除了正常的火伤害外,它还会造成每个伤害骰1点泼溅伤害,同时点燃10英尺内的所有易燃材料。在此区域内的生物可以做一个反射豁免,成功则只受到一半伤害;被直接打中的生物不能做豁免。|
|冬青浆果炸弹(Holly Berry Bombs):可以将至多八个冬青浆果转变为特殊的炸弹。这些冬青浆果一般都是手动放置的,因为它们太轻了,不能当作投掷武器(它们只能扔出5英尺远)。如果你在它们200英尺距离内,并说出命令词,每个浆果都会立刻炸出火焰,对5英尺半径爆发范围内的所有生物造成1d8+每施法者等级1点的火伤害,同时点燃5英尺内所有易燃材料。在此区域内的生物可以做一个反射豁免,成功则只受一半伤害。|
|//材料成分://橡实或冬青浆果。|
!!!火焰护盾(Fire Shield)
|塑能系[火或寒冷]|
|''等级:''火 5,术士/法师 4,太阳 4|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''你自己|
|''持续时间:''1轮/每等级(可解消)|
|这个法术将火焰环绕在你的身上,并且对所有在近战中攻击你的生物造成伤害。这种火焰同时还在基于寒冷的攻击或基于火的攻击(由你选择)中保护你。|
|任何用它肢体或手持的武器攻击到你的人依然造成正常伤害,但是同时攻击者会受到1d6+每施法者等级1点的伤害。该伤害或者是寒冷伤害(如果护盾防护的是基于火的攻击),或者是火伤害(如果护盾防护的是基于寒冷的攻击)。如果攻击者有法术抗力,那么它可以应用在该效果上。使用较长触及范围武器攻击的生物在攻击你时不会受到这个伤害。|
|当施展该法术时,你看起来是自焚了,但是火焰很薄也很纤细,只能提供正常火把一半的光照(10英尺)。火焰的颜色是随机的(各有50%机会),如果是寒冷护盾(chill shield),那么是蓝色或绿色,如果是温暖护盾(warm shield),那么是紫罗兰色或蓝色。每种功效的特殊能力见下。|
|//温暖护盾(Warm Shield)://火焰的触感是温暖的。基于寒冷的攻击只能对你造成一半的伤害。如果这类攻击允许通过反射豁免来减半伤害,那么当豁免成功时,你将不受伤害。|
|//寒冷护盾(Chill Shield)://火焰的触感是寒冷的。基于火的攻击只能对你造成一半的伤害。如果这类攻击允许通过反射豁免来减半伤害,那么当豁免成功时,你将不受伤害。|
|//奥术材料成分://温暖护盾需要一小块磷;寒冷护盾需要一只活的萤火虫或其幼虫,或者四只死萤火虫的尾部。|
!!!火焰风暴(Fire Storm)
|塑能系[火]|
|''等级:''牧师 8,德鲁伊 7,火 7|
|''法术成分:''言语,姿势|
|''施法时间:''1轮|
|''距离:''中距(100英尺+10英尺/每等级)|
|''区域:''每等级两个10英尺边长立方体(可变)|
|''持续时间:''立即|
|''豁免:''反射减半|
|''法术抗力:''可|
|当施展火焰风暴法术时,整个区域被咆哮的烈焰扫过。狂暴的火焰不会伤害天然植物,地表,以及该区域内你想排除在伤害之外的任何植物类生物。任何其它处在该区域的生物都将受到每施法者等级1d6的火伤害(最多20d6)。|
''火系(Fire)亚种:''火系亚种的生物免疫火焰。它们有惧怕寒冷的弱点,也就是说寒冷会对它们造成比一般多一半(50%)的伤害,无论是否有豁免和是否通过了豁免。

!!!火焰陷阱(Fire Trap)
|防护系[火]|
|''等级:''德鲁伊 2,术士/法师 4|
|''法术成分:''言语,姿势,材料|
|''施法时间:''10分钟|
|''距离:''接触|
|''目标:''接触的物品|
|''持续时间:''永久直到耗散(可解消)|
|''豁免:''反射减半;见正文|
|''法术抗力:''可|
|当入侵者打开被陷阱保护的物品时,火焰陷阱会制造一个炽热的爆炸。火焰陷阱可以用来保护任何可以被打开和关上的物品。|
|当你施展火焰陷阱时,你在物品上选择一点作为法术中心。当除你以外的人打开这个物品时,围绕法术中心5英尺半径的区域会充满一团炽热的爆炸。火焰会造成1d4+每施法者等级1点(最多+20)的火伤害。被此陷阱保护的物品不会被这次爆炸损害。|
|被施放了火焰陷阱的物品不能再被施加其他关闭或守卫性法术。|
|敲击术(knock)不能绕过火焰陷阱。没有成功的解除魔法(dispel magic)不会引爆这个法术。|
|在水下时,这道防护只能造成一半伤害,而且造成的是一大片蒸汽云。|
|你可以使用被施放了火焰陷阱的物品而不会触发它,同样施法时被特别指定的那些个体也能这样使用它。将被施放了火焰陷阱的物品与人同调通常包括设置一个口令,该口令可以和朋友共享。|
|//注意://像火焰陷阱的这类魔法陷阱很难被侦测和解除。游荡者(仅限游荡者)可以使用搜索技能来找到火焰陷阱,并用解除装置来破坏它。每一项DC均为25+法术等级(对于德鲁伊的火焰陷阱来说为DC 27,对奥术版本的来说为DC 29)。|
|//材料成分://涂撒在要防护的物品上的半磅金粉(价值25金币)。|
!!!火球术(Fireball)
|塑能系[火]|
|''等级:''术士/法师 3|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''远距(400英尺+40英尺/每等级)|
|''区域:''20英尺半径扩散区域|
|''持续时间:''立即|
|''豁免:''反射减半|
|''法术抗力:''可|
|火球术法术造成一团带着低鸣的火焰爆炸,对区域内所有生物造成每施法者等级1d6(最高10d6)的火伤害。没有被持用的物品也要受到这个伤害。爆炸几乎不会造成压力。|
|你用手指指向目标点,并决定火球术爆发起点的距离(距离和高度)。一颗豌豆大小的炽热小球会从指尖飞出,之后除非在到达前撞上物体或固体阻碍物,否则会在指定点爆炸开。(提前碰撞会在那点炸开。)如果你尝试让小球通过狭窄通道,例如箭孔等,你必须通过一个远程接触攻击来“命中”那个开口,否则就会撞上阻碍而过早引爆。|
|火球术会引燃易燃物,并且对区域内的物品造成伤害。它可以熔化低熔点的金属,例如铅、金、铜、银、青铜。如果伤害足以粉碎或破坏这类阻碍,火球术可以扩散到这阻碍后;否则和其他法术效果一样,它会被这阻碍所阻止。|
|//材料成分://一个蝙蝠粪和硫磺小球。A tiny ball of bat guano and sulfur.|
''连枷(Flailing):''持有者启动此权杖后,它会变为+3双头连枷。此双头连枷是一把双头武器,也就是两头都可以攻击(请见《玩者手册》)。使用者可以额外得到一次攻击机会(用武器的另一头),但若如此作,所有攻击都受-2减值(如同具有“双武器攻击”及“双巧手”专长)。

使用者可以启动权杖另一防御功能(即时动作),使防御等级有+4偏斜加值,且豁免检定有+4抗力加值,为时十分钟,每天一次。权杖不需处于武器状态即可使用此功能。转为武器状态或变回权杖都属于移动等效动作。

施法者等级:9。先决条件:“制造权杖”,“制造魔法武器及防具”,“祝福术”。交易价格:40000金币。
!!!火焰箭(Flame Arrow)
|变化系[火]|
|''等级:''术士/法师 3|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''五十件投射物,在施法的时候所有这些投射物都必须互相接触|
|''持续时间:''10分钟/每等级|
|''豁免:''无|
|''法术抗力:''不可|
|你将弹药(例如箭、矢、手里剑、石头)转变为带火的投射物。每件弹药都会对所击中的目标额外造成1d6点火伤害。燃烧的投射物很容易就能引燃可燃物品或建筑,但是不会引燃所击中的生物。|
|//材料成分://一滴油和一小片打火石。|
!!!火焰刀(Flame Blade)
|塑能系[火]|
|''等级:''德鲁伊 2|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''0尺 ft.|
|''效果:''剑形光柱|
|''持续时间:''1分钟/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''可|
|从你的手中喷射出一道三英尺长,赤热的火焰光柱。你能像挥舞一把弯刀一样挥舞这道光柱。使用火焰刀攻击是近战接触攻击。它造成1d8+每两个施法者等级1点火伤害(最多+10)。由于这把刀是非物质的,因此伤害上并不使用你的力量调整值。火焰刀可以引燃易燃材料,例如羊皮纸、稻草、干柴,以及衣服。|
|这个法术在水下没有作用。|
''火焰扑灭(Flame Extinguishing):''只要用此权杖一碰,即可扑灭中型或更小的非魔法火焰(标准动作)。欲扑灭大型或更大的非魔法
火焰,以及中型或更小的魔法火焰(如:一把“炽焰”武器或“燃烧之手”法术)须消耗1发。持续之魔法火焰会被压抑六轮,例如:武器上的魔法火焰或火系生物,六轮后恢复燃烧。欲扑灭即时生效的(?)火焰法术,权杖必须在法术效果范围之内,并采用准备动作反制法术。欲对付大型或更大的魔法火焰(如“火球术”、“焰击术”或“火墙术”),须消耗2发。如果用来对付火系生物,攻击检定成功可造成6d6点伤害,并须消耗3发。

权杖魔力共有10发,每日自动补满。

施法者等级:12。先决条件:“制造权杖”,“烟火术”。交易价格:15000金币。
!!!焰击术(Flame Strike)
|塑能系[火]|
|''等级:''牧师 5,德鲁伊 4,太阳5,战争 5|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''区域:''柱形(10英尺半径,40英尺高)|
|''持续时间:''立即|
|''豁免:''反射减半|
|''法术抗力:''可|
|焰击术产生一道垂直的圣火柱,轰鸣着从天而降。法术造成每施法者等级1d6的伤害(最多15d6)。这伤害一半是火伤害,但另一半是直接源自神力,因此抵抗火攻击的方式无法对这一部分起作用。|
''Flame Tongue(炽炎剑):''
这是一把+1焰爆长剑。此剑能发射一道射程30英尺的火焰射线攻击敌人,该攻击视为接触攻击。射线造成4d6点火焰伤害,每天能使用一次

中等塑能系灵光;CL12;制造魔法武器和防具,炽热射线(scorching ray)和火焰刀(flame blade),焰击术(flame strike)或火球术(fireball);价格20715金币;制造花费10515金币+816经验值。
''Flaming Burst(焰爆):''焰爆武器的作用方式和炽焰武器一样,除此之外在造成重击时还会爆出一团不会伤害使用者的火焰。焰爆武器除了能像炽焰武器一样产生额外的火焰伤害(见上文)外,重击时还会再造成1d10点火焰伤害。如果武器的重击倍数为x3,则再增加2d10点火焰伤害;如果是x4,则再增加3d10点。弓、弩和投石索自动将火的能量灌注在其发射的弹药中。

即使炽焰能力未被启动,武器也仍然能在重击时造成额外的火焰伤害。

强烈塑能系灵光;CL12;制造魔法武器和防具,火焰刀(flame blade)、炎击术(flame strike)或火球术(fire ball);价格+2加值。

!!!炽焰法球(Flaming Sphere)
|塑能系[火]|
|''等级:''德鲁伊 2,术士/法师 2|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''5英尺直径球形|
|''持续时间:''1轮/每等级|
|''豁免:''反射,通过则无效|
|''法术抗力:''可|
|一个燃烧的球形火团向你指向的方向滚去,点燃击中的东西。它以每轮30英尺速度移动。作为移动的一部分,它可以向上攀爬或跳起30英尺来击中目标。如果它进入生物所在空间,该轮内它会停止移动,并且对该生物造成2d6火伤害,但是成功的反射豁免可以避开伤害。炽焰火球可以滚过低于4英尺的障碍。它会引燃所接触的易燃物品,并能和一支火把一样照亮周围。|
|这个球体会按照你的主动引导(对你来说是一个移动动作)进行移动;否则它会停在原地燃烧。任何能熄灭同样大小普通火焰的方法都可以扑灭它。球体具有柔软的海绵状表面,因此除了本身的火焰外,它不会造成其他伤害。它也不能推开不愿离开的生物,或者击倒大的阻碍物。如果炽焰火球出了法术距离,那么它将熄灭。|
|//奥术材料成分://一点牛油,一撮硫磺,再加一点铁屑。|
''Flaming(炽焰):''一旦被下令启动,炽焰武器便被火包覆。这火不会伤害使用者。其效果一直持续到使用者再次对武器下令。攻击成功时,炽焰武器造成额外1d6点火焰伤害。弓、弩和投石索自动将火的能量灌注在其发射的弹药中。

中等塑能系灵光;CL10;制造魔法武器和防具和火焰刀(flame blade)、炎击术(flame strike)或火球术(fire ball);价格+1加值。

!!! 夹击(FLANKING)

在进行近战攻击时,如果你的对手正在被你对边或者对角的友方人物或生物所威胁,那么你将获得+2夹击加值。

要判断两个友方角色是否在夹击到中间的对手,从两个友方角色中心连一根想象线。如果这根线穿过了对手所占区域的两条对边(包括这些边上的角),那么这个对手被夹击了。

//例外://如果夹击者占据空间不止一个方格,那么只要他所占据的任何方格处于夹击位,那么他就可以获得夹击加值。

只有威胁到防御者的生物或人物才能帮助攻击者获得夹击加值。

0尺触及范围的生物无法夹击敌人。
!!!闪光术(Flare)
|塑能系[光亮]|
|''等级:''吟游诗人 0,德鲁伊 0,术士/法师 0|
|''法术成分:''言语|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''光脉冲|
|''持续时间:''立即|
|''豁免:''强韧,通过则无效|
|''法术抗力:''可|
|这个戏法造出一个光脉冲。如果你在一个生物的面前造出这个光脉冲,那个生物会目眩1分钟,除非它进行了一次成功的强韧豁免。没有视觉的生物,以及已经目眩的生物不受闪光术影响。|
 

''措手不及(Flat-Footed):''战斗开始还未开始行动的人物进入此状态,他尚不能正常应对当前形势。措手不及者在AC上失去敏捷加值,并且无法借机攻击。

!!!石化术(Flesh To Stone)
|变化系|
|''等级:''术士/法师 6|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''一个生物|
|''持续时间:''立即|
|''豁免:''强韧,通过则无效|
|''法术抗力:''可|
|受术者及其所有携带的装备都被转变为没有心智,完全静止的雕像。如果这座被法术制造的雕像被打坏或受损,受术者(如果它转化回之前的状态)也会受到类似的伤害或缺损。当用观命术(deathwatch)这类法术察看时,该生物并不算死,但是也不算活。|
|只有有肉的生物才会被此法术影响|
|//材料成分://石灰,水,泥土。|
''飞移(Flight,特异能力或超自然能力):''具有此能力的生物可以以即时动作开始或者停止飞移。如果此能力是超自然能力,它在反魔法力场中将会失效,并且此生物在反魔法力场效果影响下都将失去飞行的能力。

!!!浮碟术(Floating Disk)
|塑能系[力场]|
|''等级:''术士/法师 1|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''3英尺直径力场碟|
|''持续时间:''1小时/每轮|
|''豁免:''无|
|''法术抗力:''不可|
|你创造了一个微凹的力场圆盘,它会跟随你并为你携带货物。圆盘直径3英尺,中心厚度为1英寸。它可以放置每十发者等级100磅的重量。(如果用来运输液体,它的容量为2加仑。)圆盘总是漂浮在距地面大约3英尺高度,并保持水平。它在法术距离内水平漂浮,而且会跟随你行动,每轮最大速度为你的正常速度。如果没有其他指引,它会和你保持5英尺间隔。如果法术持续时间过期,浮碟会消散。同样如果你移出了法术距离,或者试图让浮碟和最近地面之间的距离超过3英尺,那么浮碟也会消散。当浮碟消散时,它上面装的所有东西都会掉到最近的地面上。|
|材料成分:一滴水银。|
!!!飞行术(Fly)
|变化系|
|''等级:''术士/法师 3,旅行 3|
|''法术成分:''言语,姿势,器材/法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的生物|
|''持续时间:''1分钟/每等级|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可(无害)|
|受术者可以以60英尺的速度飞行(如果他穿戴中型或重型盔甲,或者负重达到中载或重载,那么速度为40英尺)。他可以以半速上升,也可以以倍速下降,他的飞行机动力为良好(good)。使用飞行术和在地面上行走一样,不需要额外的专注,因此受术者可以正常的攻击或施法。飞行术的受术者可以冲锋但不能奔跑,他的携带重量也不能超过它最大负重,加上其穿戴的所有盔甲。|
|如果法术持续时间过期时受术者还在高处,这个魔法会缓慢的结束掉。受术者会漂浮着下降1d6轮,每轮60英尺。如果在此期间内他接触到了地面,那么他将安全着陆。如果没有,他会从剩余的高度处跌落,受到每10英尺坠落距离1d6的伤害。由于解除一个魔法实际上就是结束它,因此如果飞行术被解除掉,受术者依然可以以这种方式下降。但是如果是被反魔场(antimagic field)所抵消,那么将不会如此下降。|
|奥术器材:任何鸟的翅膀羽毛。|
!!!云雾术(Fog Cloud)
|咒法系(创造)|
|''等级:''德鲁伊 2,术士/法师 2,水 2|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''20英尺半径扩散,20英尺高的雾|
|''持续时间:''10分钟/每等级|
|''豁免:''无|
|''法术抗力:''不可|
|一道雾墙从你指定点翻腾着向外涌出。这道雾遮住了所有5英尺以外的视觉,包括黑暗视觉。在5英尺以内的生物具有隐蔽(攻击有20%失手机会)。更远的生物具有全隐蔽(50%的失手机会,并且攻击者不能用视觉来定位目标)。|
|常风(时速超过11英里)可以在4轮内吹散雾气;强风(时速超过21英里)可以在1轮内吹散。|
|这个法术在水下没有作用。|
!!!禁制术(Forbiddance)
|防护系|
|''等级:''牧师 6|
|''法术成分:''言语,姿势,材料,法器|
|''施法时间:''6轮|
|''距离:''中距(100英尺+10英尺/每等级)|
|''区域:''60英尺立方体/每等级(可变)|
|''持续时间:''永久|
|''豁免:''见正文|
|''法术抗力:''可|
|禁制术能阻止所有位面旅行进入一个区域,或者该区域内部的位面旅行。这包括所有的传送法术(例如任意门(dimension door)和传送术(teleport)),异界传送(plane shifting),星界旅行,以太旅行,以及所有的召唤法术。这类效果仅仅是自动失败。|
|另外,阵营和你不同的生物进入该区域时还会受到伤害。这些试图进入被守护区域的生物所遭受的效果和它阵营与你之间的关系相关(见下文)。当施法的时候已经在此区域的生物不会受到伤害,除非它离开后想再次进入,此时它如常受到影响。|
|//相同阵营://不受影响。该生物可以自由进入此区域(当然不能通过位面旅行方式)。|
|//在守序/混乱方向或善良/邪恶方向之一有差异://该生物受到6d6点伤害。成功的意志豁免可以减半伤害,可以使用法术抗力。|
|//在守序/混乱方向或善良/邪恶方向上都有差异://该生物受到12d6点伤害。成功的意志豁免可以减半伤害,可以使用法术抗力。|
|根据你的选择,这个法术可以包括一个口令,此时那些阵营和你不同的生物在进入区域的时候可以说出口令来避免受到伤害。你必须在施法的时候决定是否使用口令(以及口令内容)。|
|解除魔法(dispel magic)不能解除禁制术效果,除非解除者的等级至少和你的施法者等级一样高。|
|你不能叠加多重禁制术效果。此时较前的效果会在较后效果的边界线处中止。|
|//材料成分://少量圣水以及稀有薰香,薰香价值至少为1,500金币,每60英尺立方还要增加1,500金币。如果设置口令,那么还需要燃烧额外的薰香,这些额外薰香价值至少为1,000金币,每60英尺立方还要增加1,000金币。|
''Force Shield(力场护盾):''这只外表朴实的戒指看似铁环,却能造出一面如同大型盾的力墙(见“力墙术”说明),穿戴者可当作盾牌装备(+2 AC)。此特殊盾牌不会造成防具检定减值或奥术失效,因为它可以随意启动或解除(均为即时动作)。

施法者等级:9。先决条件:“锻造戒指”,“力墙术”。交易价格:8500金币。
!!!力场监牢(Forcecage)
|塑能系[力场]|
|''等级:''术士/法师 7|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''区域:''栅栏笼(20英尺立方体)或无窗隔间(10英尺立方体)|
|''持续时间:''2小时/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|这道强力法术能制造出一个不动的隐形立方体监牢,根据你的选择可以由力场栅栏或者固体力场墙所构成。|
|在此区域内的生物会被抓住并关在里面,除非它们太大了没法关进去,这种情况下该法术自动失败。可以通过传送和其他形式的星界旅行脱逃,但是力场墙能延伸到以太位面,因此以太旅行是被阻止的。|
|和力场墙(wall of force)法术类似,力场监牢(forcecage)能抗拒解除魔法(dispel magic),但是它可以受到解离术(disintegrate)影响,也会被灭绝球(sphere of annihilation)或解消权杖(rod of cancellation)所摧毁。|
|//栅栏笼(Barred Cage)://法术的这种功效会产生一个边长20英尺的立方体,它的栅栏由力场条索(和力场墙(wall of force)法术类似)构成。力场条索有半英寸宽,之间有半英寸间隙。所有能通过这么狭小空间的生物都能逃脱;其他则被阻拦。你不能攻击栅栏笼内的生物,除非武器能够钻过空隙。就算是这类武器(包括箭和其他远程攻击),栅栏笼内的生物也有掩蔽。所有法术和喷吐武器都能通过栅栏之间的空隙。|
|//无窗隔间(Windowless Cell)://法术的这种功效能产生一个边长10英尺的立方体,没有进去或出去的路。它的六面都是由完整的力场墙构成。|
|//材料成分://价值1,500金币的红宝石粉,在施法的时候将其洒入空中。|
!!!飞击掌(Forceful Hand)
|塑能系[力场]|
|''等级:''术士/法师 6|
|''法术成分:''言语,姿势,器材|
|该法术作用类似护身掌(interposing hand),只是飞击掌能够追赶并把选定的对手推开。此攻击视作冲撞,在力量检定上有+14的加值(力量27带来+8,大型+4,冲锋时+2,而它总是可以获得这一项)。这只巨手总是和敌手一起移动来将目标推向所允许的最大距离,它没有速度限制。将此法术指引向新的目标是一个移动动作。|
|特别强壮的生物也无法将巨手推离方向,因为随后巨手就会将自己重新定位在该生物和你之间,但是对手可以通过成功的冲撞巨手来将它推向你的方向。|
|//器材://一只皮制或厚布制的结实手套。|
!!!预警术(Foresight)
|预言系|
|''等级:''德鲁伊 9,知识 9,术士/法师 9|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''个人或接触|
|''目标:''见正文|
|''持续时间:''10分钟/每等级|
|''豁免:''无或意志通过则无效(无害)|
|''法术抗力:''不可或可(无害)|
|这个法术让你对你自身或其他人获得一种强有力的第六感。一旦预警术施放出来,当有危险或伤害迫近此法术受术者时,你能即刻获得警报。你永远不会处在被突袭或措手不及状态。另外,这个法术能让你知道通常采取什么行动能最大程度的保护自己,而且你的AC和反射豁免上获得+2洞察加值。在你失去AC上敏捷加值时,这种洞察加值也会随之失去。|
|当该法术的受术者是其他生物时,你能获得关于该生物的警报。要让这个警报发挥作用,你必须通知那个生物你所知道的,否则该生物会在没有这样的警报时中埋伏。只要你在得到警报时立刻采取行动,那么大声喊、把人猛拽回来,甚至是心灵沟通(通过相应法术)都可以在危险降临在受术者前完成。但是该生物并不能获得AC和反射豁免上的洞察加值。|
|//奥术材料成分://一根蜂鸟羽毛。|
!!! 锻造戒指(FORGE RING)[制造物品专长]

''先决条件:''施法者等级达12级。

''效果:''你可以制造任何你已经满足其制造前提的戒指。制造戒指时,你必须花的时间(以日为单位)相当于其基本价格的1/1000(以金币为单位)。此外,你还需要支付相当于其基本价格1/25的经验值,以及相当于该价格一半的原料费用。

只要你有能力制造同样的东西,便可以修复破损的戒指。你必须支付相当于制造时一半的经验值、原料费用和时间。

有些魔法戒指还需花费额外材料成分或经验值(不包括在上述支出中),这些都会注明在该物品说明中。不论是制造或修复时,都须支付这些额外支出。
!! Forgery(伪造文书)(智力)

''检定:''伪造需要要伪造文件的对应书写材料,能够让你看清你书写内容细节的足够光亮或充足可见度,封印的封蜡(如果有),还需要些时间。要伪造并非给特定个人的手写文件(军事命令,政府法令,商业账本,或者类似文件),你只需要之前看过一份类似文件,并且在你检定上获得+8加值。要伪造签名,你需要获得该人亲笔签名的副本,在你检定上获得+4加值。要伪造很长的特定个人手写文件,必须要有该人的大量手写样本。

伪造文书检定是秘密进行的,因此你不知道你的伪造到底有多成功。和易容类似,除非有人检查你的工作,否则不必做此检定。你的伪造文书检定要和检查文件真实性的检查者的伪造检定对抗。检查者的检定可以按下表情况获得修正。

|!	情况	|!	阅读者的伪造检定奖励	|
|^	阅读者不知道该文件类型 	|^	-2	|
|^	阅读者知道一些该文件类型 	|^	+0	|
|^	阅读者熟知该文件类型 	|^	+2	|
|^	阅读者不认得该笔迹 	|^	-2	|
|^	阅读者稍微认得该笔迹 	|^	+0	|
|^	阅读者熟识该笔迹 	|^	+2	|
|^	阅读者只是随便看看该文件 	|^	-2	|


和程序、命令冲突的文件,以前的知识,或者会导致检查文件者利益受损的文件都会增加检查者的怀疑(因此在对抗检定中可以给检查者创造有利环境)。

''动作:''伪造非常短且简单的文件需要大概一分钟。较长或较复杂的文件每页需要1d4分钟。

''重试:''通常不可。在特定阅读者发现特定伪造部分后永远不可能重试。但是伪造者制造的文件也许还是能愚弄其他人。对特定文件的伪造检定结果必须用来对抗每个检查文件的阅读者。没有阅读者可以多次尝试检查特定伪造文件;如果对抗检定对伪造者有利,那么阅读者不能再次尝试使用他的技能,即便他还在怀疑文件。

''特别:''如果你有欺诈(Deceitful)专长,你在伪造检定上获得+2加值。

''限制:''伪造是依赖于语言的;因此,要伪造文件或察觉伪造,你必须能读和写该语言。野蛮人在学习读写前不能学习伪造技能。

!! Formian(弗米蚁族)

|!		|!	弗米蚁工蚁(Formian Worker)	|!	弗米蚁兵蚁(Formian Warrior)	|!	弗米蚁监工蚁(Formian Taskmaster)	|
|!		|!	小型异界生物(守序,跨位面)	|!	中型异界生物(守序,跨位面)	|!	中型异界生物(守序,跨位面)	|
|^	''生命骰:''	|^	1d8+1(5hp)	|^	4d8+8(26hp)	|^	6d8+12(39hp)	|
|^	''先攻权:''	|^	+2	|^	+3	|^	+7	|
|^	''速度:''	|^	40尺(8格)	|^	40尺(8格)	|^	40尺(8格)	|
|^	''防御等级:''	|^	17(+1体型,+2敏捷,+4天生),接触13,措手不及15	|^	18(+3敏捷,+5天生),接触13,措手不及15	|^	19(+3敏捷,+6天生),接触13,措手不及16	|
|^	''基本攻击/擒抱:''	|^	+1/-2	|^	+4/+7	|^	+6/+10	|
|^	''攻击:''	|^	啮咬+3近战(1d4+1)	|^	螯刺+7近战(2d4+3外加毒素)	|^	螯刺+10近战(2d4+4外加毒素)	|
|^	''全回合攻击:''	|^	啮咬+3近战(1d4+1)	|^	螯刺+7近战(2d4+3外加毒素)及2爪抓+5近战(1d6+1)及啮咬+5近战(1d4+1)	|^	螯刺+10近战(2d4+4外加毒素)及2爪抓+8近战(1d6+2)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	5尺/5尺	|^	5尺/5尺	|
|^	''特殊攻击:''	|^	-	|^	毒素	|^	支配怪物,支配生物,毒素	|
|^	''特性:''	|^	治疗重伤,集体意识,对毒素、石化及寒冷免疫,完全修复,对电、火焰及音波抗力10	|^	集体意识,对毒素、石化及寒冷免疫,对电、火焰及音波抗力10,法术抗力18	|^	集体意识,对毒素、石化及寒冷免疫,对电、火焰及音波抗力10,法术抗力21,心灵感应100尺	|
|^	''豁免检定:''	|^	强韧+3,反射+4,意志+2	|^	强韧+6,反射+7,意志+5	|^	强韧+7,反射+8,意志+8	|
|^	''属性:''	|^	力量13,敏捷14,体质13,智力6,感知10,魅力9	|^	力量17,敏捷16,体质14,智力10,感知12,魅力11	|^	力量18,敏捷16,体质14,智力11,感知16,魅力19	|
|^	''技能:''	|^	攀爬+10,手艺(任意1种)+5,躲藏+6,聆听+4,搜索+2,侦察+4	|^	攀爬+10,躲藏+10,跳跃+14,聆听+8,潜行+10,(+3追随踪迹),翻滚+12	|^	攀爬+13,交涉+6,躲藏+12,威吓+13,聆听+12,潜行+12,搜索+9,察言观色+12,侦察+12,生存+3 (+5追踪)	|
|^	''专长:''	|^	技能专攻(手艺[选择的种类])	|^	闪避,多重攻击	|^	闪避,精通先攻,多重攻击	|
|^	''环境:''	|^	守序位面	|^	守序位面	|^	守序位面	|
|^	''组织:''	|^	成队(2-4)或成群(7-18)	|^	单独,成队(2-4),或成群(6-11)	|^	单独(1外加1只被支配的生物)或征召队(2-4外加每位队员的1只被支配的生物)	|
|^	''挑战等级:''	|^	1/2	|^	3	|^	7	|
|^	''宝物:''	|^	无	|^	无	|^	标准	|
|^	''阵营:''	|^	总是守序中立	|^	总是守序中立	|^	总是守序中立	|
|^	''进化:''	|^	2-3HD(中型)	|^	5-8HD(中型);9-12HD(大型)	|^	7-9HD(中型);10-12HD(大型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|

|!		|!	弗米蚁蚁卫(Formian Myrmarch)	|!	弗米蚁蚁后(Formian Queen)	|
|!		|!	大型异界生物(守序,跨位面)	|!	大型异界生物(守序,跨位面)	|
|^	''生命骰:''	|^	12d8+48(102hp)	|^	20d8+100(190hp)	|
|^	''先攻权:''	|^	+8	|^	-5	|
|^	''速度:''	|^	50尺(10格)	|^	0尺	|
|^	''防御等级:''	|^	28(-1体型,+4敏捷,+15天生),接触13,措手不及24	|^	23(-1体型,+14天生),接触9,措手不及23	|
|^	''基本攻击/擒抱:''	|^	+12/+20	|^	+20/+24	|
|^	''攻击:''	|^	螯刺+15近战(2d4+4外加毒素),或标枪+15远程(1d6+4)	|^	-	|
|^	''全回合攻击:''	|^	螯刺+15近战(2d4+4外加毒素)及啮咬+13近战(2d6+2);或标枪+15/+10远程 (1d6+4)	|^	-	|
|^	''面宽/触及:''	|^	10尺/5尺	|^	10尺/5尺	|
|^	''特殊攻击:''	|^	毒素,类法术能力	|^	类法术能力,法术	|
|^	''特性:''	|^	快速痊愈2,集体意识,对毒素、石化及寒冷免疫,对电、火焰及音波抗力10,法术抗力25	|^	快速痊愈2,集体意识,对毒素、石化及寒冷免疫,对电、火焰及音波抗力10,法术抗力30,心灵感应	|
|^	''豁免检定:''	|^	强韧+12,反射+12,意志+11	|^	强韧+19,反射-,意志+19	|
|^	''属性:''	|^	力量19,敏捷18,体质18,智力16,感知16,魅力17	|^	力量-,敏捷-,体质20,智力20,感知20,魅力21	|
|^	''技能:''	|^	攀爬+19,专注+18,交涉+20,躲藏+15,知识(任意1种)+18,聆听+18,潜行+19,察言观色+18,侦察+18,生存+3 (+5追踪)	|^	估价+28,唬骗+28,专注+28,交涉+32,易容+5(+5演技),威吓+30,知识 (任意3种)+28,聆听+30,察言观色+28,法术辨识+28 (+30卷轴),侦察+30,使用魔法装置+28 (卷轴+30)	|
|^	''专长:''	|^	闪避,精听先攻,灵活移动,多重攻击,跳跃攻击	|^	警觉,施法免材,强韧加强,精通反制法术,钢铁意志,物品制造专长(任意1种),法术极效,法术专攻 (附魔)	|
|^	''环境:''	|^	守序位面	|^	守序位面	|
|^	''组织:''	|^	单独,成队(2-4),或一群(1外加7-18工蚁及6-11兵蚁)	|^	族群(1外加100-400工蚁,11-40兵蚁,4-7监工蚁及每只监工蚁的1只被支配的生物,以及5-8蚁卫)	|
|^	''挑战等级:''	|^	10	|^	17	|
|^	''宝物:''	|^	标准	|^	双倍标准	|
|^	''阵营:''	|^	总是守序中立	|^	总是守序中立	|
|^	''进化:''	|^	13-18HD(大型);19-24HD(超大型)	|^	21-30HD(超大型);31-40HD(巨型)	|
|^	''等级调整:''	|^	-	|^	-	|


弗米蚁看起来像是蚂蚁和人马的混合体。所有的弗米蚁身上都覆盖着棕红色的甲壳,体型和外表则视其种类而定。

!!! 战斗
弗米蚁族通常很具攻击性,总是想要制服与之遭遇的生物。它们只要察觉到任何一丝可能对其蜂巢状城市或蚁后的威胁,就会立刻开始攻击直到死亡。此外,任何接到上级战斗命令的弗米蚁也会立刻开始攻击。

''集体意识 (Ex):''所有位于其蚁后50英里范围内的弗米蚁之间都保有持续的联络。只要任何一个发觉危险,其他的全部立刻都会晓得。群体中只要有一只弗米蚁没有措手不及,其他的也全都不会措手不及。群体中的任何一只都不会被夹击,除非它们全部都处于被夹击的状态中。

!! 工蚁
工蚁无法说话,但是它们能通过肢体语言来传达简单的信息 (例如危险)。通过集体意识,它们可以简单的交流──但它们有限的智力限制了它们所能理解的范围。

工蚁约3尺长,前端约2.5尺高。它重约60磅。它的手只适合做体力劳动。

!!! 战斗
弗米蚁工蚁只用它们的双颚啮咬攻击为保卫其蜂巢状的城市而战。

在对抗伤害减免时,弗米蚁工蚁的天生武器以及它所持有的任何武器,都被视为具有守序阵营。

''治疗重伤 (Sp):''8只工蚁一起可以治疗一个生物所受的伤,其效果如治疗重伤法术一样 (施法等级7)。对全部8只工蚁来说都是一个全回合动作。

''完全修复 (Sp):''3只工蚁一起可以修复一件物体,其效果如完全修复术一样 (施法等级7)。对全部3只工蚁来说都是一个全回合动作。

!! 兵蚁
兵蚁通过集体意识传达作战计划以及向其指挥官报告。除此之外它们无法说话。

兵蚁约5尺长,前端约4.5尺高。它重约180磅。

!!! 战斗
兵蚁是险恶的战斗者,使用爪抓,啮咬及毒刺同时展开攻击。通过集体意识,它们能够协调战术从而更有效的打击敌人。

在对抗伤害减免时,弗米蚁兵蚁的天生武器以及它所持有的任何武器,都被视为具有守序阵营。

''毒素 (Ex):''伤害,强韧豁免检定DC 14,初始及后续伤害皆为1d6点力量伤害。该豁免检定DC基于体质调整值。


!! 监工蚁
这些弗米蚁只通过心灵感应来交流,并且从它们所支配的生物身上获取心灵能量来维持生命。

监工蚁体型与兵蚁一样。

!!! 战斗
监工蚁会尽可能地利用它所支配的奴隶来为其战斗。如果不能利用奴隶的话,它也能用爪抓和毒刺来保护自己。

在对抗伤害减免时,弗米蚁监工蚁的天生武器以及它所持有的任何武器,都被视为具有守序阵营。

''支配怪物 (Su):''监工蚁能使用支配怪物的能力,效果如同10级施法者施展的同名法术一样 (意志豁免检定DC 17,通过则无效),不过目标可以是任何种类的生物且其体型不能超过大型。成功通过豁免检定的生物在24小时内不会再受到同一监工蚁的支配怪物能力所影响。一只监工蚁最多同时可支配4个生物。该豁免检定DC基于魅力调整值。

''支配生物 (Ex):''监工蚁绝不会单独出现。它身边总是跟随着一个受支配的非弗米蚁族生物 (挑选或随机选择一个CR 4的生物)。

''毒素 (Ex):''伤害,强韧豁免检定DC 15,初始及后续伤害皆为1d6点力量伤害。该豁免检定DC基于体质调整值。

!! 蚁卫
蚁卫是弗米蚁社会中的精英。与其他弗米蚁相比,它们更独立,更有目标、欲望及创造性的思维。

蚁卫约7尺长,前端约5.5尺高。它重约1500磅。它的爪子如人类的手一样非常灵活。每个蚁卫都戴着一个青铜头盔来表征自己的地位 (头盔越精巧代表声望越高)。

蚁卫说弗米蚁族语和通用语。

!!! 战斗
蚁卫的爪子像手一样因而不会用来从事战斗。蚁卫偶尔会使用涂抹了自己螯刺上毒液的标枪来做远程攻击。

蚁卫作战时很有策略,协助下面的部署 (如果有的话)并通过集体意识来指挥它们。如果有混乱阵营的生物出现,那么蚁卫就会一心一意地专注于摧毁它们。

在对抗伤害减免时,弗米蚁蚁卫的天生武器以及它所持有的任何武器,都被视为具有守序阵营。

''毒素 (Ex):''伤害,强韧豁免检定DC 20,初始及后续伤害皆为2d6点敏捷伤害。该豁免检定DC基于体质调整值。

''类法术能力:''施法等级12。该豁免检定DC基于魅力调整值。

|//随意施展 //- 魅惑怪物 (DC 17),锐耳术/ 鹰眼术,侦测混乱,侦测思想 (DC 15),反混乱法阵,高等传送术;|
|//每天1次// - 律言 (DC 20),秩序之怒 (DC 17)。|

!! 蚁后
弗米蚁蚁后无法移动。通过心灵感应能力,她可以对范围内的任何弗米蚁族下达指令及获取报告。

她有接近10尺长,大概4尺高,重约3500磅。

虽然她可以用心灵感应与其他生物交流,蚁后会说弗米蚁族语和通用语。

!!! 战斗
蚁后不参与战斗。她没有移动的能力。如果必要,一队工蚁和蚁卫 (或被支配的奴隶)会将她巨大的身躯拉到她需要去的地方。这种情况极为罕见,蚁后大部分时间都待在她那防御森严的房间。

尽管身体缺乏机动性,但蚁后可以施展法术和适用类法术能力来防御自身或其蜂巢状的城市。

法术:蚁后如17级术士一样施展奥术。

//典型术士已知法术 (6/ 8/ 7/ 7/ 7/ 7/ 6/ 6/ 4, 基本豁免DC 15 + 法术等级)://

|0级 - 酸液溅射,秘法印记,晕眩术,侦测魔法,光亮术,法师之手,阅读魔法,提升抗力,疲劳之触;|
|1级 - 通晓语言,鉴定术,法师护甲,魔法飞弹,护盾术;|
|2级 - 催眠图纹,隐形术,防护箭矢,抵抗能量伤害,灼热射线;|
|3级 - 解除魔法,英雄气概,回避侦测,缓慢术;|
|4级 - 困惑术,侦测探知,黑触手,探知;|
|5级 - 寒冰锥,驱逐术,传送术,力墙术;|
|6级 - 解析咒文,指使术,排斥术;|
|7级 - 7级怪物召唤术,灵视,力竭浪潮;|
|8级 - 虹光法墙,永恒静滞。|

''类法术能力:''施法等级17。该豁免检定DC基于魅力调整值。

|随意施展 - 安定心神 (DC 17),魅惑怪物 (DC 19),锐耳术/ 鹰眼术,侦测混乱,侦测思想,律言 (DC 22),预言术,怪物定身术 (DC 20),反混乱法阵,秩序之怒 (DC 19),秩序之盾 (DC 23),真知术。|

''心灵感应 (Su):''蚁后能通过心灵感应与50英里范围内她所知的任意智慧生物交流。
''护命:''这种盔甲或盾牌能在使用者生死攸关的时刻提供有效的魔法防护。当使用者遭受重击或偷袭时,有一定几率把重击或偷袭转化为普通攻击。

|护命类型|转换几率|基本价格调整|
|次级|25%|+1加值|
|中级|75%|+3加值|
|高级|100%|+5加值|

强烈防护系灵光;CL13;制造魔法武器和防具,有限祈愿术(limited wish)或奇迹术(miracle);价格(见上表)。
!!!群体狐之狡黠(Fox’s Cunning, Mass)
|变化系|
|''等级:''吟游诗人 6,术士/法师 6|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''每等级一个生物,任意两者之间不得超过30英尺|
|该法术和狐之狡黠相类似,只是可以影响多个生物。|
!!!狐之狡黠(Fox’s Cunning)
|变化系|
|''等级:''吟游诗人 2,术士/法师 2|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的生物|
|''持续时间:''1分钟/每等级|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可|
|受术生物变得更聪明。法术给受术者智力提供+4增强加值,因此会给基于智力的技能检定及其它使用到智力修正值的地方带来通常的好处。被此法术影响的法师(和其他依赖智力的施法者)不会因增加的智力值而获得任何额外的奖励法术,但是在此法术影响下他们施展的法术其豁免DC会增加。该法术不会带来额外的技能点。|
|//奥术材料成分://几根狐狸毛发,或一点狐狸粪便。|
!!!行动自如(Freedom of Movement)
|防护系|
|''等级:''吟游诗人 4,牧师 4,德鲁伊 4,机运 4,巡林客 4|
|''法术成分:''言语,姿势,材料,法器|
|''施法时间:''一个标准动作|
|''距离:''个人或接触|
|''目标:''你自己或接触的生物|
|''持续时间:''10分钟/每等级|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可(无害)|
|该法术持续时间内,你或你所触摸的生物即便处在通常会妨碍移动的魔法影响下也可正常的移动和攻击,例如麻痹,重雾术(solid fog),缓慢术(slow),蛛网术(web)。受术者在任何用来抗拒擒抱的擒抱检定时总是自动成功,同样在用来脱离擒抱或压制的擒抱检定或脱逃术检定时也是如此。|
|该法术还允许受术者在水下正常移动和攻击,甚至使用剑斧类挥砍武器或链枷、战锤、硬头锤等钝击类武器也可如此,只要该武器是手持而非投掷即可。但是行动自如不能让你在水中呼吸。|
|//材料成分://围绕在胳膊或类似肢体上的一根皮带。|
''Freedom of Movement(行动自如):''此金戒指使穿戴者随时带有“行动自如”法术效果。

施法者等级:7。先决条件:“锻造戒指”,“行动自如”。交易价格:40000金币。
!!!解锢术(Freedom)
|防护系|
|''等级:''术士/法师 9|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)或见正文|
|''目标:''一个生物|
|''持续时间:''立即|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可|
|受术者从限制移动的法术或效果中获得释放,包括目盲术(binding),纠缠术(entangle),擒抱,禁锢术(imprisonment),迷宫术(maze),麻痹,石化(petrification),压制,睡眠术(sleep),缓慢术(slow),震慑,永恒静滞(temporal stasis),蛛网术(web)。要从禁锢术或迷宫术中解救生物,你必须知道他的名字和背景,而且你必须在他被埋葬或被放逐进迷宫的地点施放此法术。|
!!!冰封法球(Freezing Sphere)
|塑能系[寒冷]|
|''等级:''术士/法师 6|
|''法术成分:''言语,姿势,器材|
|''施法时间:''一个标准动作|
|''距离:''远距(400英尺+40英尺/每等级)|
|''目标,效果,或区域:''见正文|
|''持续时间:''立即或1轮/每等级;见正文|
|''豁免:''反射减半;见正文|
|''法术抗力:''可|
|冰封法球以寒冷能量创造出一个冰冻小球,从你的指尖射出飞向你选择的地点,之后在那里爆炸(10尺半径爆发),对该区域内所有生物造成每等级1d6点寒冷伤害(最多15d6)。元素(水系亚种)生物会受到每等级1d8点寒冷伤害(最多15d8)。|
|如果冰封法球击中水或主要是水的液体(不包括水基生物的身体),它将冻结液体表面6英寸深度,冻结范围为每施法者等级100平方英尺(即一个边长10英尺的平方),最多1,500平方英尺。冰冻会持续每施法者等级1轮。正在液体表面游泳的生物会被冻结在冰里。尝试挣脱是一个整轮动作。被困住的生物必须做一个DC 25的力量检定或DC 25的脱逃术检定才可挣脱。|
|如果你愿意,你可以在完成法术后暂不发射。如果你暂不发射该法术,该法术视作接触法术。你可以暂不散发的时间为每等级1轮,在这时间结束后冰封法球会以你为中心爆炸(并且你不能进行豁免来避免此效果)。施法完成后再发射这个小球是一个标准动作。|
|//器材://一个小水晶球。A small crystal sphere.|
''Friend Shield(护卫同伴):''此戒指总是成对出现,单独一只没有用处。这对戒指的任一穿戴者可以随时施令,在另一个穿戴者身上施展“护卫他人”法术,不限距离。

施法者等级:10。先决条件:“锻造戒指”,“护卫他人”。交易价格:50000金币(一对)。
 

''惊惧(Frightened):''惊惧的人物会尽力逃离。如果无法逃离就有可能战斗。惊惧的人物在所有攻击检定、伤害掷骰、豁免检定技能检定和属性检定上有-2减值。惊惧的人物会用特殊能力逃离,包括使用法术;实际上如果只能用特殊能力逃离,那么人物就必须用那种方式逃离。

惊惧类似于[[战栗(shaken)|Shaken(战栗)]],除了生物只要有可能就必须逃离。[[恐慌(panicked)|Panicked(恐慌)]]是一种更激烈的恐惧状态。
''气势凶猛(Frightful Presence,特异能力):''这项特性使得生物具有某种令对手感到特别不安的外在表现。此效果在生物作出某些激烈的举动(例如冲锋,攻击或混乱纠缠)时自动生效。在范围内目击该举动的对手将会惊惧或战例。用来激发此能力的特定动作会在该生物的描述文字中给出。它的范围通常是30尺,持续时间通常为5d6回合。此能力仅能影响生命骰数或者等级数比该生物少的对手。被影响的对手可通过一个成功的意志豁免(DC等于10+1/2气势凶猛生物的种族HD+它的魅力调整值,具体DC将在生物说明中给出)抵抗这个效果。成功豁免的对手,在接下来的24小时内对同一生物的气势凶猛效果免疫。气势凶猛属于影响心灵[mind-affecting]的恐惧类效果。
''Frost Brand(寒冰剑):''
这把+3冻寒巨剑在温度低于0度的环境里能发出火炬般的光亮。一旦拔出,它的光便不能被隐蔽或熄灭。它保护使用者免受火的伤害,每轮吸收使用者受到的前10点火焰伤害。

寒冰剑会熄灭周围所有非魔法火焰。使用者能以一个标准动作解除持续效果而非即时效果的火法术,但需先通过解除检定(1d20+14),DC为11+火法术施法者的等级。

强烈塑能系灵光;CL14;制造魔法武器和防具,冰风暴(ice storm),解除魔法(dispel magic),防护能量伤害(protection from energy);价格54475金币;制造花费27375金币5银币+2179经验值。

!!Frost Worm(霜虫)

''超大型魔法兽(寒系)''

|''生命骰:'' 14d10+70 (147hp)|
|''先攻权:'' +4|
|''速度:'' 30尺(6格),挖掘10尺|
|''防御等级:'' 18(-2体型,+10天生), 接触 8, 措手不及18|
|''基本攻击/擒抱:'' +14/+30|
|''攻击:'' 啮咬+21(2d8+12额外1d8寒冷)|
|''全回合攻击:'' 啮咬+21(2d8+12额外1d8寒冷)|
|''面宽/触及:'' 15尺/10尺|
|''特殊攻击:'' 颤音, 寒冷, 喷吐攻击|
|''特性:'' 黑暗视觉60尺,焚身爆, 寒系免疫, 低光视觉, 畏火|
|''豁免:'' 强韧+14,反射+9,意志+6|
|''属性:'' 力量26,敏捷10,体质20,智力2,感知11,魅力11|
|''技能:'' 躲藏+3*,聆听+5,侦察+5|
|''专长:'' 警觉,精通先攻,精通天生攻击(啮咬), 钢铁意志, 武器专攻(啮咬)|
|''环境:'' 寒带平原|
|''组织:'' 单独|
|''挑战等级:'' 12|
|''宝物:'' 无|
|''阵营:'' 通常是中立|
|''进化:'' 15-21HD(超大型);22-42HD(巨型)|
|''等级调整:'' —|


霜虫能够挖穿冰和冻土但不能挖穿石头。在穿过坚硬物质时它们会在身后留下大约5尺直径的隧道。

霜虫大约40尺长,5尺粗,重约8000磅。

!!! 战斗
霜虫习惯埋伏在雪下,等待猎物接近。

他们会先使用颤音攻击,然后撕咬那些无助的猎物。

''颤音(超自然):''霜虫能够发出让猎物呆立不动的声响。在100尺范围内除霜虫外的生物,都将受到这种影响心灵的声音效果影响。生物除非成功通过DC17的意志检定,否则在霜虫发出颤音期间和之后的1d4轮内都会震慑,即使他们受到攻击也一样。然而,如果遭到攻击或剧烈的摇晃(一个全回合动作),该生物可以再进行一次检定。生物一旦成功抵抗或破除该效果,则他在24小时内将不再收同一只霜虫的颤音效果影响。此项能力施法者等级14,此项豁免基于魅力。

''寒冷(特异):''霜虫的身体散发着剧烈的寒气,每次成功的啮咬命中都将造成额外1d8的寒冷伤害。生物如果徒手或者天生武器成功命中霜虫也将受此寒冷伤害。

''喷吐攻击(超自然):''霜虫每小时可以喷出一团30尺锥形的寒气,造成15d6寒冷伤害,通过反射检定(DC22)减半。由于霜虫的颤音而呆立不动的生物无法对喷吐攻击进行豁免检定。此项豁免DC基于体质。

''焚身爆(特异):''被杀死时,霜虫的身体会变成冰块并碎裂对范围100尺内的任何生物造成12d6的寒冷伤害和8d6的穿刺伤害(通过DC22的反射检定伤害减半)。此项豁免DC基于体质。

''技能:''由于霜虫的天然保护色和喜好躲藏于学下的习性,他们在自己栖息环境内进行躲藏检定时获得+10种族加值。 

''Frost(冻寒):''一旦被下令启动,冻寒武器便被寒冷的冰包覆。这冰不会伤害使用者。其效果一直持续到使用者再次对武器下令。攻击成功时,冻寒武器造成额外1d6点寒冷伤害。弓、弩和投石索自动将此能量灌注在其发射的弹药中。

中等塑能系灵光;CL8;制造魔法武器和防具,冻寒金属(chill metal)或冰风暴(ice storm);价格+1加值。

!! Fungus(蕈类生物)

!!! 战斗
尖叫蕈和紫蕈经常合作诱捕猎物。如果尖叫蕈的叫声引来好奇的生物,紫蕈就会试图杀死他们,此后两种怪物就可以同时享用狩猎的成功。

|!		|!	尖叫蕈	|!	紫蕈	|
|!		|!	中型植物	|!	中型植物	|
|^	''生命骰:''	|^	2d8+2(11hp)	|^	2d8+6(15hp)	|
|^	''先攻权:''	|^	-5	|^	-1	|
|^	''速度:''	|^	0尺	|^	10尺(2格)	|
|^	''防御等级:''	|^	8(-5敏捷,+3天生),接触5,措手不及8	|^	13(-1敏捷,+4天生),接触9,措手不及13	|
|^	''基本攻击/擒抱:''	|^	+1/-4	|^	+1/+3	|
|^	''攻击:''	|^	-	|^	触须+3近战(1d6+2外加毒素)	|
|^	''全回合攻击:''	|^	-	|^	4触须+3近战(1d6+2外加毒素)	|
|^	''面宽/触及:''	|^	5尺/0尺	|^	5尺/10尺	|
|^	''特殊攻击:''	|^	尖叫	|^	毒素	|
|^	''特性:''	|^	昏暗视觉,植物特性	|^	昏暗视觉,植物特性	|
|^	''豁免检定:''	|^	强韧+4,反射-,意志-4	|^	强韧+4,反射-,意志-4	|
|^	''属性:''	|^	力量0,敏捷0,体质13,智力0,感知2,魅力1	|^	力量14,敏捷8,体质16,智力0,感知11,魅力9	|
|^	''技能:''	|^	-	|^	-	|
|^	''专长:''	|^	-	|^	-	|
|^	''环境:''	|^	地底	|^	地底	|
|^	''组织:''	|^	单独,成群(3-5)	|^	单独,成群(3-5),混合群(2-4紫蕈加3-5尖叫蕈)	|
|^	''挑战等级:''	|^	1	|^	1	|
|^	''宝物:''	|^	无	|^	无	|
|^	''阵营:''	|^	总是绝对中立	|^	总是绝对中立	|
|^	''进化:''	|^	3HD(中型)	|^	3-6HD(中型)	|
|^	''等级调整:''	|^	-	|^	-	|

!! 尖叫蕈
尖叫蕈是种没有行动能力的蕈类,如果受到打搅或是需要吸引猎物时会发出响亮的声音。尖叫蕈居住在黑暗的地底,通常与紫蕈共生,它们免疫紫蕈的毒素。

尖叫蕈外观呈暗紫色。

!!! 战斗
尖叫蕈没有攻击能力,但可以发出响亮的声音把猎物引到自己周围。

''尖叫 (EX):''如果有光源接近尖叫蕈10尺范围内或是生物在该范围内活动,都会导致尖叫蕈放出刺耳的声音,持续时间1d3轮。这种声音会吸引临近的生物进行调查。而有些居住在尖叫蕈附近的生物则知道,听到尖叫蕈的声音就意味着有食物来到了附近。

!! 紫蕈
紫蕈外观与尖叫蕈相同,并且生长在一起。

紫蕈的颜色呈紫色或暗灰色,有些则是浅紫色夹杂着深紫色斑点。

!!! 战斗
紫蕈会用触手卷住任何靠近其触及范围内的活体目标。

''毒素 (EX):''伤口,强韧DC 14,初始伤害1d4点力量以及1d4点体质。本能力豁免DC基于体质。 

!!Gargoyle(石像鬼)

''中型类人怪物(土系)''

|''生命骰:'' 4d8+19 (37 hp)|
|''先攻权:'' +2|
|''速度:'' 40尺(8格),飞行60尺(普通)|
|''防御等级:'' 16(+2敏捷,+4天然),接触12,措手不及14|
|''基本攻击/擒抱:'' +4/+6|
|''攻击:'' 爪抓+6近身(1d4+2)|
|''全回合攻击:'' 2爪抓+6近身(1d4+2),啮咬+4近身(1d6+1),抵撞+4近身(1d6+1)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' —|
|''特性:'' 伤害减免10/魔法,黑暗视觉60尺,静止不动|
|''豁免:'' 强韧+5,反射+6,意志+4|
|''属性:'' 力量15,敏捷14,体质18,智力6,感知11,魅力7|
|''技能:'' 躲藏+7,聆听+4,侦察+4|
|''专长:'' 多重攻击,健壮|
|''环境:'' 任意|
|''组织:'' 单独,成双,或者成队(5~16个)|
|''挑战等级:'' 4|
|''宝物:'' 标准|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 5-6HD(中型);7-12HD(大型)|
|''等级调整:'' +5|


石像鬼经常看起来像是有翅膀的石头雕像,这是因为它们能够一直保持静止不动,而且它们会利用这种伪装来突袭他们的敌人。它们不需要食物、水或空气,但它们经常会因为喜欢看到倒下的敌人痛苦的样子而将他们吃掉。

石像鬼会说通用语和土族语。

!!! 战斗

石像鬼不是保持静止不动,然后展开突然袭击,就是直接朝它们的猎物俯冲。

石像鬼的天然武器在对抗伤害减免的时候被看作魔法武器。

''静止不动(Ex):''石像鬼可以完全静止不动,让自己看起来像是一座雕像。观察者必须通过一个DC为20的“侦察”鉴定才能察觉到石像鬼事实上是活着的。

''技能:''石像鬼在躲藏,聆听和侦察鉴定时有+2的种族加值。*石像鬼如果隐藏在石制背景里,进行“躲藏”鉴定时可获得+8种族加值。

!!! 海石像鬼(KAPOACINTH)
这种类似的生物是石像鬼的海洋版本,它们属于水栖(Aquatic)亚种。它们在陆地上的速度为40尺,游泳速度为60尺(不是飞行速度)而且只会在水域环境出现。

!!! 石像鬼人物
石像鬼人物的种族特性如下。

*+4力量,+4敏捷,+8体质,-4智力,-4魅力。
*中等体型
*石像鬼的陆地速度为40尺,飞行速度60尺(普通)
*60尺黑暗视觉
*种族生命骰:石像鬼人物拥有4级类人怪物等级,这使它拥有4d8的生命骰,+4的基本攻击加值和坚韧+1,反射+4,意志+4的基本抗性。
*种族技能:石像鬼人物的类人怪物等级拥有7x(2+智力调整值)的技能点数。它的职业技能是躲藏,聆听和侦察。石像鬼在躲藏,聆听和侦察鉴定时有+2的种族加值。石像鬼如果隐藏在石制背景里,进行“躲藏”鉴定时可获得+8种族加值。
*种族专长:石像鬼人物的类人怪物等级使其获得2个专长。
*特性(见上):伤害减免10/魔法,静止不动。
*天生使用语言:通用语。 额外语言:风族语,矮人语,精灵语,侏儒语,半身人语,巨人语,土族语。
*天赋职业:战士
*等级调整+5
!!!气化形体(Gaseous Form)
|变化系|
|''等级:''气 3,吟游诗人 3,术士/法师 3|
|''法术成分:''姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的自愿实体生物|
|''持续时间:''2分钟/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|受术者和他所有的装备都变成透明缥缈的雾气。他的物质盔甲(包括天生防御)都变得毫无作用,但是他的体型、敏捷、偏斜加值、力场效果带来的防具加值依然有效。受术者获得10/魔法的伤害减免,同时免疫毒和重击。在气化状态时他不能攻击,或施展带有言语、姿势、材料、或器材成分的法术。(通过默发施法、静发施法、施法免材专长准备的法术不受此限。)同样气化状态中受术者还失去了超自然能力。如果他已经准备了一个接触法术等待使用,那么在气化形体发挥作用的时候,该法术将无害的耗散掉。|
|气化的生物不能奔跑,但他可以以10英尺的速度飞行(机动力为完美(perfect))。在法术持续期间内,他可以带着所有装备或手持的物品穿过小孔或狭窄的口子,甚至是一条裂缝。该生物会受到风的影响,同时他也不能进入水或其他液体中。他也不能操作或启动物品,即便是气化的形体所携带的东西。持续起作用的物品继续其作用,但是有些情况下它们的效果是没有意义的。|
|//奥术材料成分://一块薄纱和一把烟尘。|
某些生物拥有某种超自然或类法术能力,能将形体变成一团蒸汽或气体云雾。

气化形体状态下的生物不能跑但能飞。他们能象蒸汽或气体一样四处走动或行动,例如从门缝穿过。但是他不能穿过固体物质。气化生物不能进行物理攻击,也不能施展需要言语、动作、材料或器材成分的法术。他们会失去他们的超自然能力(当然,气化形体这一超自然能力除外)。

气化生物具有10/魔法的伤害减免。法术,类法术能力和超自然能力对他们发挥正常的效果。气化生物失去所有物质盔甲带来的好处(包括天生盔甲),但体型、敏捷、偏斜加值以及力场盔甲带来的加值仍有效。

气化生物不需要呼吸,也免疫那些因呼吸而受到的伤害(比如穴居人恶臭或毒气等等)。

气化生物不能进入水或液体中。他们既不是灵体生物也不是虚体生物。风和其它的空气流动会将他们吹向下风方向。但最强劲的风也不会吹散或伤害气化生物。

把气化生物和自然界的薄雾分辨开需要通过一个DC 15的侦察技能检定。尝试在薄雾,烟或其它气体中躲藏的气化生物有+20的加值。
!!!异界之门(Gate)
|咒法系(创造或呼唤)|
|''等级:''牧师 9,术士/法师 9|
|''法术成分:''言语,姿势,经验值;见正文|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''见正文|
|''持续时间:''立即或专注(至多1轮/每等级);见正文|
|''豁免:''无|
|''法术抗力:''不可|
|施展异界之门法术有两种效果。首先,它创造了一个连接你所在位面和你指定位面的跨维度连接,可以在两个位面之间双向旅行。|
|其次,你可以通过这个异界之门呼唤一个特定的生物个体。|
|异界之门本身是一个圆环或圆盘,直径5到20英尺(由施法者决定),在成形的时候由你决定开口方向(通常为竖直的,且面向你)。这是一个观察那个指定位面(施法时指定)的二维窗口,穿过它的任何人或任何东西都会立刻转移到在另一方。|
|异界之门有正面和反面。从正面穿过异界之门的生物会传送到另外那个位面;从反面穿过则不会。|
|//位面旅行://作为位面旅行的一种方式,异界之门的作用很像位面传送(plane shift),只是异界之门会正好在你指定地点打开(创造效果)。神祗和其他统治该位面的生物如果愿意的话可以阻止在他们所在或所拥有的地区打开异界之门。旅行者不需要和你手拉手——任何走入传送门的人都会被传送。异界之门不能在同一位面的另外地点打开;该法术只能用于位面间旅行。|
|你只能保持这个异界之门开放很短的时间(不能超过每施法者等级1轮),期间你必须保持专注,否则跨位面连接会被切断。|
|//呼唤生物://异界之门的第二种效果是呼唤一个跨位面生物来援助你(呼唤效果)。施法时通过叫出一个特定生物或一种生物的名字,你能让异界之门紧挨着该生物打开,之后不管它是否愿意都会被拉过传送门。神祗或独一无二的生物不会被迫穿过异界之门,但是他们可以根据自己的愿望决定这样做。法术的这种用法创造的异界之门仅仅能持续到被呼唤的生物被传送为止。法术的这种用法需要消耗经验值(见下)。|
|如果你决定呼唤一种生物而非呼唤一个已知的个体,你可以选择只呼唤一个生物(HD任意)或者几个生物。你能呼唤和控制多个生物,但是他们的HD总数不能超过你的施法者等级。如果只呼唤一个生物,那么如果他的HD不超过你施法者等级的两倍,那么你可以控制他。HD超过你施法者等级两倍的单个生物不会被你控制。神祗和独一无二的生物在任何情况下都不可能被控制。未被控制的生物可以按自己意愿行动,因此呼唤这类生物很危险。未被控制的生物可以在任何时候回到原属位面。|
|你可以命令被控制的生物来为你提供服务。这类服务分两类:即时任务和契约服务。为你在一场战斗中作战,或做其他可以在每施法者等级1轮的时间内完成的活动算作即时任务;你不需要为此订立任何协议或支付任何报酬。在法术结束的时候生物会离开。|
|如果你选择让被呼唤的生物做一些更持久或更棘手的服务,你必须进行一些公平交易来换取这种服务。你要求的服务应该和你许诺的报酬相当;适用的报酬见次等异界盟约(lesser planar ally)。(对有些生物来说,他们更希望报酬是“牲畜”而非钱币,而这样可能会比较麻烦。)当任务完成的时候,生物会被立刻传送到你身边,而你必须在此时此地支付你所许诺的报酬。当这些都完成的时候,生物立刻可以自由返回他自己的位面。|
|如果你未能丝毫不差地支付许诺的报酬,最好的情况是你必须为这个生物或他的主人服务。最坏的情况是,这个生物或他的同族会攻击你。|
|//注意://当使用异界之门这类呼唤法术呼唤一个气亚种、混乱亚种、土亚种、火亚种、善良亚种、守序亚种,或水亚种生物时,此法术也成为相应类型法术。|
|//经验值消耗://1,000经验值(仅用于呼唤生物功能)。|
!! Gather Information(收集信息)(魅力)

''检定:''只要没有什么明显原因阻止信息,那么一晚上的时间,用来买酒和交朋友的少量金币,再加上DC10的收集信息检定就可以让你获得城市主要新闻的一般概念。较高的检定结果可以获得较好的信息。

如果你想查明特别的流言或特别的物品,或者得到一份地图,或者做其他类似的事情,检定DC为15到25,甚至更高。

''动作:''一次典型的收集信息检定需要1d4+1小时。

''重试:''可以,但是每次检定都要花费时间。此外,如果重复追问某一类特定信息,你也许会引起注意。

''特别:''半精灵在收集信息检定上有+2种族加值。

如果你有调查员(Investigator)专长,你在收集信息检定上有+2加值。

''共效:''如果你在知识(本地)上级数达到5或更高,你在收集信息检定上获得+2加值。

''Gauntlet of Rust(锈蚀手套)'': 看起来腐朽无用,实际上却颇有威力。穿戴者每天可以使用一次“锈蚀爪”,而且身上装备都不会生锈(无论是否具有魔法),无惧锈蚀怪的攻击。

施法者等级:7。先决条件:“制造奇物”,“锈蚀爪”。交易价格:11500金币。重量:2磅。
''Gauntlets of Ogre Power(食人魔巨力手套)'': 由硬皮革制成,手背及手指处饰有铁制饰钉。穿戴者的力量值有+2增强加值。双手都要穿上手套才有该效果。

施法者等级:6。先决条件:“制造奇物”,“蛮力术”。交易价格:4000金币。重量:4磅。
''凝视(Gaze,超自然能力):''不是法术产生的凝视攻击属于超自然能力。

对手看到该生物眼睛时,凝视攻击在产生作用。这种攻击几乎可以具有任何效果:石化、死亡、魅惑及其他。通常凝视攻击的范围是30尺,具体见该生物的说明。凝视攻击的豁免类型存在差别,但通常是意志或强韧豁免(DC等于10+1/2凝视攻击生物的种族HD+它的魅力调整值,具体DC将在生物说明中给出),通过则无效。怪物的凝视攻击在它的描述中会有简要说明。在凝视攻击范围内的每个对手必须每轮按照行动顺序,在他的行动开始时进行一次豁免检定。只有直接看到具有凝视攻击的生物才会受此效果影响。对手可以通过以下两种方式来不直视该生物,从而免投此豁免判定。

//移开双眼(Averting Eyes)://对手避开不看该生物的脸,而只看它的身体、影子、反射的影像或其他。这样每回合对手都有50%的机会免于进行凝视攻击的检定。而对该对手来说,凝视攻击生物具有隐蔽效果。

//戴上眼罩(Wearing a Blindfold)://对手完全无法看到该生物(背过身去或闭上双眼也可达到效果)。这样凝视攻击生物对该对手具有全隐蔽效果。

具有凝视攻击的生物可以选择一个凝视范围内的目标主动以一个攻击动作进行凝视攻击。该对手必须进行豁免检定,当然他也可用上述的方法尝试免于受到影响。如此一来,对手可能在一个回合内要针对凝视进行两次检定,一次在自己行动以前而另一次在凝视攻击生物的回合中。

凝视攻击可以影响灵体生物。除非特别说明,具有凝视攻击的生物免疫其它同类生物的凝视攻击。

凝视攻击生物的伙伴也可能会受凝视影响。所有它的伙伴都被认为是移开双眼避开凝视攻击生物的视线,从而每回合对凝视攻击有50%的机会不必进行豁免检定。具有凝视攻击的生物可以遮住它的眼睛,中止自己凝视的能力。

*看着具有凝视攻击能力的生物的影像(诸如镜中的镜像或幻术影像)不会遭遇凝视攻击。

*生物免疫自己的凝视攻击。

*如果能见度有限(微弱的光,一场雾,或类似情况)而导致隐蔽,那么人物在对应轮内有机会不必进行豁免检定,该机会等同于该种程度隐蔽导致的失手率。这个机会与移开眼睛而避免进行豁免的机会不累计,而是单独判定。

*隐形生物无法使用凝视攻击。

*使用黑暗视觉的角色在完全的黑暗中会和正常情况一样受凝视攻击影响。

*除非具体说明,具有凝视攻击的生物可以控制自己的凝视攻击并在愿意的时候“关掉”它。


!!!次等指使术(Geas, Lesser)
|惑控系(胁迫)[依赖于语言,影响心灵]|
|''等级:''吟游诗人 3,术士/法师 4|
|''法术成分:''言语|
|''施法时间:''1轮|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个HD为7或更少的活物|
|''持续时间:''1天/每等级,或直到耗散(可解消)|
|''豁免:''意志,通过则无效|
|''法术抗力:''可|
|次等指使术会根据你的愿望给一个生物以一个魔法命令,让它完成某些服务,或者禁止采取某些行为或活动方式。该生物的HD必须为7或更低,而且要能理解你。指令几乎可以包括所有方面,但是不能强迫生物自杀,也不能让它作一些会必然导致死亡的行为。|
|不管会花费多长时间,被下达指令的生物都必须遵守给定的指示,直到指令完成为止。|
|如果指示包含一些受术者无法通过自身活动能完成的没有特定结局的任务,那么法术效果持续时间最多为每施法者等级一天。聪明的受术者可以曲解指示。|
|如果受术者不再遵守次等指使术达24小时,那么它将在每个属性值上受到-2减值。每天都会累计再受到-2减值,至多其总数达到-8。属性值不会因为这个效果降到1以下。该属性减值将会在受术者重新遵守次等指使术24小时后消失。|
|次等指使术(和带来的所有属性值减值)可以被破除结界(break enchantment)、有限祈愿术(limited wish)、移除诅咒(remove curse)、神迹术(miracle)、祈愿术(wish)所中止。解除魔法(Dispel magic)对次等指使术无效。|
!!!指使术(Geas/Quest)
|惑控系(胁迫)[依赖于语言,影响心灵]|
|''等级:''吟游诗人 6,牧师 6,术士/法师 6|
|''施法时间:''10分钟|
|''目标:''一个活物|
|''豁免:''无|
|该法术类似于次等指使术(lesser geas),只是它可以影响任意HD的生物,而且不允许进行豁免。|
|如果受术者不遵循指令或请求,此法术并不会带来属性值减值(如次等指使术那样),目标会受到每天3d6点伤害。另外,受术者必须每天进行一次强韧豁免,否则会进入恶心状态。这些效果将在该生物继续遵循指令或请求24小时后结束。|
|只有在施法者等级至少达到你的施法者等级两倍时,移除诅咒(remove curse)才能结束指使术。破除结界(Break enchantment)不能结束指使术,但是有限祈愿术(limited wish)、神迹术(miracle)、祈愿术(wish)可以。|
|吟游诗人、术士、法师通常叫此法术为指令术(geas),牧师则叫此法术为请求术(quest)。|
''Gem of Brightness(光彩夺目宝石)'': 此宝石看起来像狭长粗糙的三棱镜,不同指令会发出下列不同光线:

*指令一会使宝石发出一束长10英尺的锥状微光,不消耗发数。
*指令二会使宝石发出一束直径1英尺、长50英尺的强光,并进行远程接触攻击接触攻击。被击中的生物除非通过反射检定(DC=14),否则目盲1d4轮。此效果消耗1发。
*指令三会使宝石发出一束长30英尺的锥状刺眼强光。虽然很短暂,但区域内所有生物除非通过反射检定(DC=14),否则目盲1d4轮,并造成眼睛永久伤害,其攻击检定、“侦察”检定和“搜索”检定受-1减值。此效果消耗5发。眼睛所受伤害可以用“移除目盲”或“医疗术”治愈。全新的“光彩夺目宝石”有50发,所有发数消耗完毕之后,宝石就失去魔力。

CL:6。先决条件:“制造奇物”,“昼明术”、“目盲术/耳聋术”。交易价格:13000金币。
''Gem of Seeing(真知宝石)'': 这是经过细心切割和打磨的宝石,看起来如同一般珠宝。但使用者透过它凝视外界时,会产生如同“真实目光”法术的效果。

施法者等级:10。先决条件:“制造奇物”,“真实目光”。交易价格:75000金币。重量:不记。

!! Genie(巨灵)


巨灵是居住在元素位面的长得像人类的生物。它们素以其强壮,狡诈及善用幻术而闻名。

!!! 战斗
巨灵喜欢以策略和计谋战胜敌人。如果逃跑会使它们活下来他日再战的话,它们也不会宁死不屈。如果被困住,它们会提出给予宝物或提供某种回报来换取其生命和自由。

''异界传送 (Sp):''巨灵可以进入任意元素位面,星界及物质界。此能力能传送除巨灵之外最多8名与巨灵手牵手的生物。除此之外,其效果如同名法术相同 (施法等级13)。

!!Djinni(风巨灵)

''大型异界生物 (风系,跨位面)''

|''生命骰:'' 7d8+14 (45 hp)|
|''先攻权:'' +8|
|''速度:'' 20尺 (4格),飞行60尺 (完美)|
|''防御等级:'' 16 (-1体型,+4敏捷,+3天生),接触13,措手不及12|
|''基本攻击/擒抱:'' +7/ +15|
|''攻击:'' 挥击 +10 近战 (1d8+4)|
|''全回合攻击:'' 2 挥击 +10 近战 (1d8+4)|
|''面宽/触及:'' 10尺/ 10尺|
|''特殊攻击:'' 天空熟悉,类法术能力,旋风|
|''特性:'' 黑暗视觉60尺,对酸免疫,异界传送,心灵感应100尺|
|''豁免:'' 强韧+7,反射+9,意志+7|
|''属性:'' 力量18,敏捷19,体质14,智力14,感知15,魅力15|
|''技能:'' 估价+12,专注+12,手艺 (任意1种)+12,交涉+4,逃脱术+14,知识 (任意1种)+12,聆听+12,潜行+14,察言观色+12,法术辨识+12侦察+12,绳技+4 (+6捆绑)|
|''专长:'' 战斗施法,战斗反射,闪避,精通先攻|
|''环境:'' 风元素位面|
|''组织:'' 单独,成队 (2-4),或成群 (6-15)|
|''挑战等级:'' 5 (贵族8)|
|''宝物:'' 标准|
|''阵营:'' 总是混乱善良|
|''进化:'' 8-10HD (大型);11-21HD (超大型)|
|''等级调整:'' +6|


风巨灵是来自于风元素位面的巨灵。

风巨灵约10.5尺高,重约1000磅。

风巨灵说风族语,天界语,通用语及火族语。

!!! 战斗
风巨灵不屑于肉搏战,它们喜欢使用其魔法力量和飞行能力对抗敌人。风巨灵一旦在战斗中失利通常会立刻飞离,并变成旋风来干扰追来的敌人。

''天空熟悉 (Ex):''飞行中的生物在对抗风巨灵时其攻击及伤害检定将受到-1的罚值。

''类法术能力:''施法等级20。该豁免检定DC基于魅力调整值。

|//随意施展 //- 隐形术 (仅限自身);|
|//每天1次// - 造粮术,造酒术 (同造水术,但制造出的是酒),强效造物术 (创造出的植物是永久性的),长驻幻影 (DC 17),御风而行。|

每天一次,风巨灵可以转化成气化形体 (如同名法术)长达1小时。

''旋风 (Su):''风巨灵每10分钟可以将自己转变成一道旋风,风巨灵可保持在旋风状态7轮。在这种形态下,风巨灵可以其飞行速度在空中或沿著物质表面移动。

旋风的基部有5尺宽,顶端最大可到30尺宽,高度最大可到50尺。风巨灵可以控制旋风的准确高度,但是旋风最低也要有10尺高。

处于旋风形态下的风巨灵的行动不会引发借机攻击,即使它进入其他生物占据的空间也不会。如果其他生物接触到或进入旋风,或者风巨灵移动进或穿越该生物占据的空间,那么该生物就会被卷入其中。

体型比风巨灵小一级或更多的生物被卷入旋风时可能会受到伤害被升到空中。受影响的生物在接触旋风时必须通过一个DC 20的反射豁免检定,否则会将会受到3d6点伤害。该生物也必须要通过第二次DC 20的反射豁免检定,否则整个身体会被卷入其中并且被强风悬吊在半空中,每轮将会自动受到1d8点伤害。拥有飞行速度的生物每轮都可进行一次DC 20的反射豁免检定以逃脱旋风。生物仍会受到伤害但是如果豁免检定成功将会脱离旋风。该豁免检定DC基于力量调整值并+3的种族调整值。

被卷入旋风的生物除了被风巨灵带著移动或尝试逃脱之外不能移动。被卷入旋风中的生物可以正常的做其他动作,但是必须在专注技能检定中获得成功 (DC 15 + 法术等级)才能施展法术。被卷入旋风中的生物敏捷受到-4的罚值,在攻击检定上受到-2的罚值。风巨灵同时能困住的生物数量取决于其旋风的体积。

风巨灵随时都能将其卷入的生物抛出来,它们会被丢到旋风目前的位置。

如果旋风的基部接触到地面的话,将会产生一片旋转的沙砾云。这沙砾云以风巨灵为中心,直径等于旋风高度的一半。沙砾云会遮挡5尺距离外的所有视觉能力,包括黑暗视觉。5尺之外的生物获得隐蔽,更远的生物则获得全隐蔽。被沙砾云笼罩的生物必须通过一个专注技能检定 (DC 15 + 法术等级)才能施展法术。

旋风形态下的风巨灵不能进行挥击攻击,同时也不会威胁到其身边的区域。

!!! 风巨灵贵族
一些风巨灵 (占其总人口的1%)是贵族。风巨灵贵族可以给予抓住它们的生物 (仅限非巨灵)三个祈愿术。风巨灵贵族不会提供其他任何服务,而且在三个祈愿术达成之后它们就会从其被奴役的状态中解放出来。风巨灵贵族如火巨灵 (见下)一样强壮,有10生命骰。



!!Efreeti(火巨灵)

''大型异界生物 (跨位面,火系)''


|''生命骰:'' 10d8+20 (65 hp)|
|''先攻权:'' +7|
|''速度:'' 20尺 (4格),飞行40尺 (完美)|
|''防御等级:'' 18 (-1体型,+3敏捷,+6天生),接触12,措手不及15|
|''基本攻击/擒抱:'' +10/ +20|
|''攻击:'' 挥击 +15 近战 (1d8+6外加1d6火焰)|
|''全回合攻击:'' 2 挥击 +15 近战 (1d8+6外加1d6火焰)|
|''面宽/触及:'' 10尺/ 10尺|
|''特殊攻击:'' 改变外形,改变体型,高温,类法术能力|
|''特性:'' 黑暗视觉60尺,对火焰免疫,异界传送,心灵感应100尺,易受寒冷伤害|
|''豁免:'' 强韧+9,反射+10,意志+9|
|''属性:'' 力量23,敏捷17,体质14,智力12,感知15,魅力15|
|''技能:'' 唬骗+15,手艺 (任意1种)+14,专注+15,交涉+6,易容+2 (+4演技),威吓+17,聆听+15,潜行+16,察言观色+15,法术辨识+14,侦察+15|
|''专长:'' 战斗施法,战斗反射,闪避,精通先攻,类法术能力瞬发 (灼热射线)|
|''环境:'' 火元素位面|
|''组织:'' 单独,成队 (2-4),或成群 (6-15)|
|''挑战等级:'' 8|
|''宝物:'' 标准钱币,双倍工艺品,标准物品|
|''阵营:'' 总是守序邪恶|
|''进化:'' 11-15HD (大型);16-30HD (超大型)|
|''等级调整:'' -|


火巨灵是来自于火元素位面的巨灵。

火巨灵站立约12尺高,重约2000磅。

火巨灵说风族语,通用语,火族语及炼狱语。

!!! 战斗
火巨灵喜欢误导,迷惑及困惑它们的对手。这是它们的兴趣也是战术。

''改变外形 (Su):''火巨灵能够转换成任意小型、中型或大型类人生物或巨人的外形。

''改变体型 (Sp):''每天两次,火巨灵可以改变一个生物的体型。此能力除了能作用在火巨灵身上之外就好像变巨人类或缩小人类法术一样 (火巨灵会选择何时使用此能力)。通过一个DC 13的强韧豁免检定则无效。该豁免检定DC基于魅力调整值。此能力相当于一个2级法术。

''高温 (Ex):''当火巨灵近战攻击击中对手时它炽热的身体会制造出额外1d6点的火焰伤害,使用擒抱将对手定身的每一轮也会制造出同样的额外伤害。

''类法术能力:''施法等级12。该豁免检定DC基于魅力调整值。

|//随意施展// - 侦测魔法,燃火术,烟火术 (DC 14),灼热射线 (仅1条射线);|
|//每天3次// - 隐形术,火墙术 (DC 16);|
|//每天1次// - 给予最多3次祈愿术 (仅对非巨灵),气化形体,永恒幻影 (DC 18)。|


!!Janni(小巨灵)


''中型异界生物 (本地)''

|''生命骰:'' 6d8+6 (33 hp)|
|''先攻权:'' +6|
|''速度:'' 穿链甲时20尺 (4格),飞行15尺 (完美);基本陆地速度30尺,基本飞行速度20尺 (完美)|
|''防御等级:'' 18 (+2敏捷,+1天生,+5链甲),接触12,措手不及16|
|''基本攻击/擒抱:'' +6/ +9|
|''攻击:'' 弯刀 +9 近战 (1d6+4/ 18-20),或长弓 +8 远程 (1d8/ *3)|
|''全回合攻击:'' 弯刀 +9/ +4 近战 (1d6+4/ 18-20),或长弓 +8/ +3 远程 (1d8/ *3)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 改变体型,类法术能力|
|''特性:'' 黑暗视觉60尺,元素耐力,异界传送,对火焰抗力10,心灵感应100尺|
|''豁免:'' 强韧+6,反射+7,意志+7|
|''属性:'' 力量16,敏捷15,体质12,智力14,感知15,魅力13|
|''技能:'' 估价+11,专注+10,手艺 (任意2种)+11,交涉+3,逃脱术+6,聆听+11,潜行+6,骑术+11,察言观色+11,侦察+11,绳技+2 (+4捆绑)|
|''专长:'' 战斗反射,闪避,精通先攻,灵活移动|
|''环境:'' 温暖的沙漠|
|''组织:'' 单独,成队 (2-4),或成群 (6-15)|
|''挑战等级:'' 4|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 7-9HD (中型);10-18HD (大型)|
|''等级调整:'' +5|


小巨灵是巨灵中最弱的一种。小巨灵由全部四种元素组成,因此大部分时间都必须待在物质界。

小巨灵说通用语,一种元素语言 (风族语,水族语,火族语或土族语),以及一种阵营语言 (深渊语,天界语或炼狱语)。

!!! 战斗
小巨灵很强壮也很勇敢,不会任人侮辱或伤害。如果它们遇到一个不能正面击败的敌人,它们会利用飞行和隐形能力移动到一个更有力的地点重新集结。

''改变体型 (Sp):''每天两次,小巨灵可以改变一个生物的体型。此能力除了能作用在小巨灵身上之外就好像变巨人类或缩小人类法术一样 (小巨灵会选择何时使用此能力)。通过一个DC 13的强韧豁免检定则无效。该豁免检定DC基于魅力调整值。此能力相当于一个2级法术。

''类法术能力:''施法等级12。该豁免检定DC基于魅力调整值。

|每天3次 - 隐形术 (仅限自身),动物交谈术。|

每天一次,小巨灵可以使用造粮术 (施法等级7),也可以使用幻化灵体 (施法等级12)达1小时。

''元素耐力 (Ex):''小巨灵能在风、土、火或水元素位面生存长达48小时。这段时间结束后若没有回到物质界会导致小巨灵在元素位面每多停留的1小时都会受到1点伤害,直到它死亡或者返回物质界为止。

小巨灵作为人物

小巨灵人物拥有以下种族特性。

*+6力量,+4敏捷,+2体质,+4智力,+4感知,+2魅力。
*中等体型。
*小巨灵的基本陆地速度为30尺。同时拥有20尺的飞行速度 (机动力完美)。
*黑暗视觉60尺。
*种族生命骰:小巨灵拥有6个异界生物等级,这使它拥有6d8的生命骰,+6的基本攻击加值,以及强韧+5,反射+5,意志+5的基本豁免检定加值。
*种族技能:小巨灵的异界生物等级使它拥有9* (8 + 智力调整值)的技能点数。它的本职技能为估价,专注,手艺 (任意),逃脱术,聆听,潜行,骑术,察言观色及侦察。
*种族专长:小巨灵的异界生物等级使它拥有3个专长。小巨灵获得精通先功作为奖励专长。
*+1天生防御等级。
*特殊攻击 (见上):改变体型,类法术能力。
*特性 (见上):元素耐力,异界传送,对火焰抗力10,心灵感应100尺。
*天生使用语言:通用语。额外语言:深渊语,风族语,水族语,天界语,火族语,炼狱语,土族语。
*天赋职业:游荡者。
*等级调整+5。

!!!遗体防腐(Gentle Repose)
|死灵系|
|''等级:''牧师 2,术士/法师 3|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的尸体|
|''持续时间:''一天/每等级|
|''豁免:''意志,通过则无效(物品)|
|''法术抗力:''可(物品)|
|你对一个死去生物的遗骸进行了防腐处理,这样它们就不会继续腐坏了。这样处理可以有效的延长复活死者的时间限制(见死者复活(raise dead))。在这个法术影响下经过的日期不计入那个时间限制。另外,该法术能让运输倒下的战友时较为舒坦些。|
|该法术也能用在被切断的身体部分或其他类似东西上。|
|//奥术材料成分://一撮盐,以及该尸体每拥有(或曾经拥有)一只眼睛一个铜币。|
!!Ghaele(迦勒天使)

''中型异界生物 (混乱,跨位面,善良)''


|''生命骰:'' 10d8+20 (65 hp)|
|''先攻权:'' +5|
|''速度:'' 50尺 (10格),飞行150尺 (完美)|
|''防御等级:'' 25 (+1敏捷,+14天生),接触11,措手不及24;或14 (+1敏捷,+3偏斜),接触14,措手不及13|
|''基本攻击/擒抱:'' +10/ +17|
|''攻击:'' +4神圣巨剑 +21 近战 (2d6+14/ 19-20),或强光射线 +11 远程接触 (2d12)|
|''全回合攻击:'' +4神圣巨剑 +21/ +16 近战 (2d6+14/ 19-20),或2 强光射线 +11 远程接触 (2d12)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 类法术能力,法术,凝视|
|''特性:'' 变化形态,伤害减免10/ 邪恶及寒铁,黑暗视觉60尺,对电及石化免疫,昏暗视觉,护体灵气,对寒冷及火焰抗力10,法术抗力28,巧言|
|''豁免:'' 强韧+9,反射+8,意志+10|
|''属性:'' 力量25,敏捷12,体质15,智力16,感知17,魅力16|
|''技能:'' 专注+15,交涉+5,逃脱术+14,驯养动物+16,躲藏+14,知识 (任意2种)+16,聆听+16,潜行+14,骑术+16,察言观色+16,侦察+16,绳技+1 (+3捆绑)|
|''专长:'' 寓守于攻,精通卸除武器,精通先攻,精通拌摔|
|''环境:'' 混乱善良位面|
|''组织:'' 单独,成对,或成群 (3-5)|
|''挑战等级:'' 13|
|''宝物:'' 无钱币,双倍工艺品,标准物品|
|''阵营:'' 总是混乱善良|
|''进化:'' 11-15HD (中型);16-30HD (大型)|
|''等级调整:'' -|


迦勒天使能变成一个直径5尺,颜色吓人的虚体圆球。迦勒天使约6尺高,重约170磅。

迦勒天使说天界语,炼狱语和龙语,而且她的巧言能力使她可以与绝大多数的生物交流。

!!! 战斗
迦勒天使进入战斗时喜欢与敌人正面较量,并会运用一些巧妙或狡诈的方式伤害对手。她们通常会以类人形态作战,使用炽热的+4神圣巨剑。如果迦勒天使想使用灵活一些的作战方式,她们会变为圆球形态使用强光射线攻击敌人。

在对抗伤害减免时,迦勒天使的天生武器以及她所持有的任何武器,都被视为混乱和善良阵营。

''类法术能力:''施法等级12。该豁免检定DC基于魅力调整值。

|随意施展 - 援助术,魅惑怪物 (DC 17),七彩喷射 (DC 14),通晓寓言,不灭明焰,治疗轻伤 (DC 14),舞光术,侦测邪恶,侦测思想 (DC 15),易容术,解除魔法,怪物定身术 (DC 18),高等隐形术 (仅限自身),强效幻影 (DC 16),侦测隐形,高等传送术 (仅限自身外加50磅重的物品);|
|每天1次 - 连环闪电 (DC 19),虹光喷射 (DC 20),力墙术。|

''法术:''类人形态下的迦勒天使可以如14级牧师一样施展神术。迦勒天使可获得以下领域中的两个:气,动物,混乱,善良或植物 (外加从其神祉处获得的领域)。该豁免检定DC基于感知调整值。

//典型牧师准备法术 (6/ 7/ 7/ 6/ 5/ 4/ 4/ 3;豁免DC 13 + 法术等级)://

|0级 - 治疗微伤,侦测魔法,神导术,光亮术,提升抗力,恩赐;|
|1级 - 祝福术,安抚动物*,命令术,神恩,隐雾术,圣域术,虔诚护盾;|
|2级 - 援助术,阵营武器,熊之坚韧,动物定身术*,次等复原术,移除麻痹,诚实之域;|
|3级 - 昼明术,气化形体*,祈祷术,移除诅咒,灼热光辉,水中呼吸;|
|4级 - 防死结界,驱逐术,神能,复原术,四级自然盟友召唤术*;|
|5级 - 操控风向*,焰击术,死者复活,真知术;|
|6级 - 放逐术,剑刃护壁,连环闪电*,医疗术;|
|7级 - 动物形态*,圣言,七级怪物召唤术。|
|*领域法术。领域:气和动物。|

''凝视 (Su):''类人形态中 - 直接杀死生命骰为5或5以下的邪恶生物,距离60尺,通过DC 18的意志豁免检定则无效。而且即使通过豁免检定,该生物也会受到如恐惧术效果所影响达2d10轮。非邪恶生物或生命骰在5以上的邪恶生物则必须通过DC 18的意志豁免检定否则会收到恐惧术效果影响。该豁免检定DC基于魅力调整值。

''强光射线 (Ex):''圆球形态下的迦勒天使可以射出300尺的强光射线。此攻击无视任何种类的伤害减免。

''变化形态 (Su):''迦勒天使可以通过一个标准动作在其类人形态和圆球形态中变化。类人形态下,她不能飞行也不能使用强光射线,但是可以使用其凝视攻击和类法术能力,也能做出物理攻击和施放魔法。在圆球状态中,她可以飞行,可以使用强光射线,也可以使用类法术能力,但是她不能施放法术或使用凝视攻击。迦勒天使变化成的圆球是虚体,处于此形态时她没有力量值。

迦勒天使可以保持在一种形态下直到她选择变化成另一种。形态的改变不能被解除,即使迦勒天使被杀死也不会回复成任何其他形态。但是,真知术可以同时看到这两种形态。

''护体灵气 (Su):''迦勒天使周围20尺以内的任何人在对抗邪恶生物作出的攻击或产生的效果时,防御等级上会获得此能力提供的+4的偏斜加值,在豁免上会获得+4的抗力加值。除此之外,此灵气的作用还相当于反邪恶法阵和次等法术无效结界的效果,半径皆为20尺(施法等级等于迦勒天使的生命骰)。(法阵所带来的防御上的奖励未计入天使的数据中。)

''巧言 (Su):''迦勒天使能和所有有语言的生物交谈,就如同使用巧言术一样 (施法等级14) 。这项能力一直都处于启用状态。
!!!幻音术(Ghost Sound)
|幻术系(虚假幻觉)|
|''等级:''吟游诗人 0,术士/法师 0|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''虚幻假声|
|''持续时间:''1轮/每等级(可解消)|
|''豁免:''意志,通过则不相信(如果有交互)|
|''法术抗力:''不可|
|幻音术能让你创造出很大的声音,声音可以变响、减弱、靠近,或停留在固定的地点。你在施放幻音术的时候选择创造何种声音,之后不能改变该声音的基本特征。|
|声音的音量和你的等级相关。你可以最多产生每施法者等级四个正常人类的喧闹声(最多二十个人)。可以创造出交谈、唱歌、喊叫、行走、行军、奔跑的声音。实际上幻音术可以创造各种声音,只要在音量范围内即可。一大群老鼠奔跑尖叫的声音相当于八个人类奔跑和喊叫。咆哮的狮子相当于十六个人,而咆哮的凶暴虎则相当于二十个人。|
|幻音术可以增强无声幻影(silent image)法术的效果。|
|幻音术可以被魔法恒定术(permanency)所恒定。|
|//材料成分://一点羊毛或一小块蜡。|
''幽冥:''这种盔甲或盾牌看上去几乎是透明的。它的增强加值和盔甲加值都可在对抗虚体生物时正常作用。任何时刻它都可以被虚体生物拿起、移动和穿戴。虚体生物在遭受虚体或实体生物的攻击时,盔甲或盾牌的增强加值都可正常作用,且虚体生物仍然可以穿过固态物体。

强烈变化系灵光;CL15;制造魔法武器和防具,同游灵界(Etherealness);价格+3加值。
''Ghost Touch(幽冥):''
幽冥武器能正常伤害虚体生物,且无视其加值。(虚体生物有50%的几率避开伤害,但在受到幽冥武器的攻击时无效。)虚体生物能捡起或移动幽冥武器。一个显形的幽魂能用幽冥武器攻击实体生物。本质上,幽冥武器是实体或虚体取决于哪种形式对使用者更有利。

中等防护系灵光;CL9;制造魔法武器和防具,异界传送(plane shift);价格+1加值。
!! Ghost(幽魂)


幽魂是智慧生物所遗留下来的灵体,它们因为某些理由无法轻易安息在墓穴里。

幽魂的外貌与生前大致相同,但有些情况下其灵体外貌会有一些改变。

!!! 创造一个幽魂
“幽魂”是一个后天性的模板,它可以被加在任何异怪类,动物类,龙类,巨人类,类人生物类,魔法兽类,人形怪物类以及植物类生物上。该生物 (此后统称“基础生物”)的魅力值至少为6。

幽魂使用其基础生物的所有数据和特殊能力,除了在这里提到的之外。

''体型和种类:''该生物种类变为不死生物。不要重新计算该生物的基本攻击加值,豁免及技能点数。它会获得虚体亚种。体型不会改变。

''生命骰:''所有生命骰提升为12面骰。

''速度:''除非基础生物有更高的飞行速度,否则幽魂的飞行速度为30尺,机动性为完美。

''防御等级:''天生防御等级与基础生物相同但只适用于灵界中的遭遇。当幽魂显现 (见下)出来时,它的天生防御加值为+0,但是它会获得等于其魅力调整值或+1的偏斜加值,取较高者。

''攻击:''幽魂拥有其基础生物的所有攻击能力,但其中需要物理接触的能力无法影响到非灵体生物。

''全回合攻击:''幽魂拥有其基础生物的所有攻击能力,但其中需要物理接触的能力无法影响到非灵体生物。

''伤害:''对抗灵体生物时,幽魂使用其基础生物的伤害值。对抗非灵体生物时,幽魂通常完全不能造成物理伤害但是可以在显现时使用它所拥有的任何特殊攻击。

''特殊攻击:''幽魂拥有其基础生物的所有特殊攻击,但其中需要物理接触的不会影响到非灵体生物。此外幽魂会获得显现能力以及下述特殊攻击中的一到三种。除非另有注明,对抗其特殊攻击的豁免检定DC等于10 + 1/2幽魂的生命骰 + 幽魂的魅力调整值。

//腐化凝视 (Su)://幽魂能通过目光攻击活着的生物,距离最远可达30尺。看到幽魂目光的生物必须通过一个强韧豁免检定否则会收到2d10点伤害以及1d4点的魅力伤害。

//腐化触碰 (Su)://幽魂使用其虚体接触攻击命中活着的目标时会制造1d6点伤害。对抗灵体生物时,它可以将其力量调整值加到攻击和伤害检定上。对抗非灵体生物时,它只能将其敏捷调整值加到攻击检定上。

//吸取触碰 (Su)://幽灵使用其虚体接触攻击命中活着的目标时会造成1d4点它所选择的任意一种属性的属性吸取。每一次成功的攻击,幽魂可以治疗自身所受的5点伤害。对抗灵体生物时,它可以将其力量调整值加到攻击检定上。对抗非灵体生物时,它可以将其敏捷调整值加到攻击检定上。

//恐怖哀嚎 (Su)://幽魂可以通过一个标准动作发出哀嚎。30尺扩散区域内的所有活着的生物必须通过一个意志豁免检定否则会恐慌2d4轮。这是种音波类死灵系影响心灵的恐惧效果。成功通过豁免检定的生物在24小时内不会再受到同一幽魂的哀嚎效果影响。

//骇人外貌 (Su)://任何60尺范围内看见幽魂的活物必须通过一个强韧豁免检定否则会立刻受到1d4点的力量伤害,1d4点的敏捷伤害以及1d4点的体质伤害。成功通过豁免检定的生物在24小时内不会再受到同一幽魂的骇人外貌效果影响。

//附身 (Su)://每轮1次,灵体化的幽魂可以将其身体与一个物质界的生物融合在一起。除了不需要容器外,此能力类似于魔魂壶法术 (施法等级等于10或幽魂的生命骰数,取其较高者)。要使用此能力,幽魂必须显现并且必须要尝试移入目标的占据空间;使用附身能力移入目标的占据空间不会引发借机攻击。目标能够以成功地通过意志豁免检定 (DC=15 + 幽魂的魅力调整值)来抵抗此攻击。成功通过豁免检定的生物在24小时内对同一幽魂附身能力免疫,并且幽魂无法进入该生物的占据空间。如果豁免检定失败,幽魂则会附在目标的身体中。

//显现 (Su)://所有幽魂都拥有此能力。幽魂居住在灵界,作为灵体生物,它不能影响物质界的任何事务也不会受其影响。当幽魂显现时,它会部分进入物质界并且能被看到但是仍然处于虚体状态。显现中的幽魂只能被其他虚体生物,魔法武器或法术伤害,同时有50%的机率无视任意实体来源的伤害。显现中的幽魂可以随意穿越固体,而且它的攻击也可穿透盔甲。显现中的幽魂总是悄无声息地移动。显现中的幽魂可以使用其接触攻击或幽冥武器 (见下述“幽魂的装备”)进行攻击。显现中的幽魂部分留在灵界,在那里它不是虚体。显现中的幽魂既能被物质界的对手攻击也能被灵界中的对手攻击。幽魂的虚体形态在对抗物质界的敌人时会保护它,但是对抗灵界的敌人时则无效。

处于灵界没有显现的幽魂施法者,其法术不能影响物质界的目标,但是对于灵体目标有效。幽魂施法者显现时,其法术仍可影响灵体目标,而且只要不是需要接触的法术的话也可以影响物质界的目标。幽魂的接触法术在其显现时不会对非灵体生物生效。


幽魂有两个所属位面,物质界和灵界。它处于这两个位面时不会获得跨位面亚种。

//心灵遥控 (Su)://幽魂可以通过一个标准动作使用心灵遥控 (施法等级12或等于幽魂的生命骰,取其高者)。当幽魂使用此能力时,它必须等1d4轮之后才能再次使用。

''特性:''幽魂拥有其基础生物的所有特性以及下列特性。

//复生 (Su)://大多数情况下,仅靠战斗很难将幽魂摧毁:被“摧毁”的灵魂在2d4天后就会恢复。既是最强大的法术通常也只能暂时解决问题。被其他方式摧毁的幽魂如果成功通过一个DC 16的等级检定 (1d20 + 幽魂的生命骰)则会回到它的老巢。通常,真正消灭幽魂的唯一方法就是找出它存在的原因所在,并且把阻止它安息的事务校正过来。每个幽魂的成因都不相同,必须要花些时间好好研究。

//驱散抗力 (Ex)://幽魂拥有+4的驱散抗力。

*属性:与其基础生物相同,除了幽魂没有体质值并且魅力值+4。
*技能:鬼魂在进行躲藏,聆听,搜索及侦察检定时刻获得+8的种族加值。其他的与其基础生物相同。
*区域:任意,通常与其基础生物相同。
*组织:单独,成队 (2-4),或成群 (7-12)。
*挑战等级:基础生物+2。
*宝物:无。
*阵营:任意。
*等级调整:基础生物+5。

!!! 幽魂的装备
一个幽魂形成时,它的所有装备和携带物品通常会跟随它一起变成灵体装备。此外,幽魂还可以保有它生前最重视的2d4件物品 (只要物品还未被其他生物所占有)。这些装备在灵界中会正常发挥作用但是会无害地穿过物质界的物体和生物。然而,具有+1或更高魔法增强的武器可以在幽魂显现时伤害到物质界的生物,但是除非该武器是幽冥武器否则这样的攻击会有50%的失手率 (就如同魔法武器攻击幽魂有失手率一样)。

这些物品的本体和幽魂的尸体一样留在墓穴里。当其他生物持用这些物品的本体时,它们的灵体版本就会消失。这种情况会激怒幽魂,它们会不顾一切将物品放归原处。 
!!!食尸鬼之触(Ghoul Touch)
|死灵系|
|''等级:''术士/法师 2|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的活着的类人生物|
|''持续时间:''1d6+2轮|
|''豁免:''强韧,通过则无效|
|''法术抗力:''可|
|你身上浸满了负能量,通过一个成功的近战接触攻击,这个法术能让你在法术持续时间内麻痹一个活着的类人生物。|
|另外,被麻痹的生物散发出一股腐肉的恶臭,这股恶臭会导致10英尺扩散范围内的所有活物(除了你)都进入恶心状态(强韧通过则无效)。法术中和毒性(neutralize poison)可以将处在恶心状态的生物身上的此效果移除,免疫毒素的生物不受此恶臭影响。|
|//材料成分://一小片从食尸鬼穿着衣物上取下的布片,或者一撮食尸鬼巢穴的泥土。|
!! Ghoul(食尸鬼)


|!		|!	食尸鬼(Ghoul)	|!	妖鬼(Ghast)	|
|!		|!	中型不死生物	|!	中型不死生物	|
|^	''生命骰:''	|^	2d12(13hp)	|^	4d12+3(29hp)	|
|^	''先攻权:''	|^	+2	|^	+3	|
|^	''速度:''	|^	30尺(6格)	|^	30尺(6格)	|
|^	''防御等级:''	|^	14(+2敏捷,+2天然),接触12,措手不及12	|^	17(+3敏捷,+4天然),接触12,措手不及14	|
|^	''基本攻击/擒抱:''	|^	+1/+2	|^	+2/+5	|
|^	''攻击:''	|^	啮咬+2近身(1d6+1外加麻痹)	|^	啮咬+5近身(1d8+3外加麻痹)	|
|^	''全回合攻击:''	|^	啮咬+2近身(1d6+1外加麻痹),2爪抓+0近身(1d3外加麻痹)	|^	啮咬+5近身(1d8+3外加麻痹),2爪抓+3近身(1d4+1外加麻痹)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	5尺/5尺	|
|^	''特殊攻击:''	|^	食尸鬼热疫,麻痹	|^	食尸鬼热疫,麻痹,散发恶臭	|
|^	''特性:''	|^	黑暗视觉60尺,不死生物特性,+2驱散抗力	|^	黑暗视觉60尺,不死生物特性,+2驱散抗力	|
|^	''豁免检定:''	|^	强韧+0,反射+2,意志+5	|^	强韧+1,反射+4,意志+6	|
|^	''属性:''	|^	力量13,敏捷15,体质—,智力13,感知14,魅力13	|^	力量17,敏捷17,体质—,智力13,感知14,魅力16	|
|^	''技能:''	|^	平衡+6,攀爬+5,躲藏+6,跳跃+5,潜行+6,侦察+7	|^	平衡+7,攀爬+9,躲藏+8,跳跃+9,潜行+8,侦察+8	|
|^	''专长:''	|^	多重攻击	|^	多重攻击,健壮	|
|^	''环境:''	|^	任意(水食尸鬼:任意水域)	|^	任意	|
|^	''组织:''	|^	单独,成队(2-4个)或成群(7-12个)	|^	单独,成队(2-4个)或成群(2-4个外加7-12个食尸鬼)	|
|^	''挑战等级:''	|^	1	|^	3	|
|^	''宝物:''	|^	无	|^	标准	|
|^	''阵营:''	|^	总是混乱邪恶	|^	总是混乱邪恶	|
|^	''进化:''	|^	3HD(中型)	|^	5-8HD(中型)	|
|^	''等级调整:''	|^	—	|^	—	|

食尸鬼会说他们生前使用的语言(通常是通用语)。

!!! 战斗

食尸鬼会尽可能突袭它们的对手。它们从墓碑后面冲出来,或者从浅坟里冒出来。

''食尸鬼热疫(Su):''疾病—啮咬,强韧检定DC12。潜伏期1天,造成1d3体质和1d3敏捷的属性伤害。检定DC基于魅力。

''麻痹(Ex):''任何生物一旦被食尸鬼的啮咬或爪抓攻击击中就必须通过DC15的强韧检定,否则会麻痹1d4+1轮。精灵对这种麻痹效果免疫。检定DC基于魅力。

!! 水食尸鬼(LACEDON)
它们是食尸鬼生活在水域的表亲,它们经常潜伏在隐藏的暗礁附近,或者其它的可能会有船只遇险的地方。它们拥有30尺的陆行速度和30尺的游泳速度,并且只出现在水域环境之中。

!! 妖鬼(GHAST)
虽然妖鬼看起来只是食尸鬼的小型同类,但它们事实上远比食尸鬼更加致命,也更加狡猾。

''食尸鬼热疫(Su):''疾病—啮咬,强韧检定DC15。潜伏期1天,造成1d3体质和1d3敏捷的属性伤害。检定DC基于魅力。

''麻痹(Ex):''任何生物一旦被妖鬼的啮咬或爪抓攻击击中就必须通过DC15的强韧检定,否则会麻痹1d4+1轮。即使是精灵也无法抵挡这种麻痹效果。检定DC基于魅力。

''散发恶臭(Ex):''妖鬼身上散发出强烈的瘟疫而腐败的恶臭。距它10尺之内的任何活着的生物都必须通过DC15的强韧检定,否则会立刻感到恶心(Sickened),这种影响持续1d6+4分钟。若一个生物成功通过该检定,则它在24小时内不会被同一妖鬼的恶臭影响。缓毒术 和 解毒术 能够解除此种恶心的效果。对毒素免疫的生物不会被此种能力影响,对毒素有抗力的生物在进行检定时拥有加成。检定DC基于魅力。
|!		|!	巨工蚁 (Giant Ant, Worker)	|!	巨兵蚁 (Giant Ant, Soldier)	|!	巨蚁后 (Giant Ant, Queen)	|
|!		|!	中型虫类生物	|!	中型虫类生物	|!	大型虫类生物	|
|^	''生命骰:''	|^	2d8 (9 hp)	|^	2d8+2 (11 hp)	|^	4d8+4 (22 hp)	|
|^	''先攻权:''	|^	+0	|^	+0	|^	-1	|
|^	''速度:''	|^	50尺 (10格),攀爬20尺	|^	50尺 (10格),攀爬20尺	|^	40尺 (8格)	|
|^	''防御等级:''	|^	17 (+7天生),接触10,措手不及17	|^	17 (+7天生),接触10,措手不及17	|^	17 (-1体型,-1敏捷,+9天生),接触8,措手不及17	|
|^	''基本攻击/擒抱:''	|^	+1/ +1	|^	+1/ +3	|^	+3/ +10	|
|^	''攻击:''	|^	啮咬 +1 近战 (1d6)	|^	啮咬 +3 近战 (2d4+3)	|^	啮咬 +5 近战 (2d6+4)	|
|^	''全回合攻击:''	|^	啮咬 +1 近战 (1d6)	|^	啮咬 +3 近战 (2d4+3)	|^	啮咬 +5 近战 (2d6+4)	|
|^	''面宽/触及:''	|^	5尺/ 5尺	|^	5尺/ 5尺	|^	10尺/ 5尺	|
|^	''特殊攻击:''	|^	精通攫抓	|^	精通攫抓,酸刺	|^	精通攫抓	|
|^	''特性:''	|^	灵敏嗅觉,虫类生物特性	|^	灵敏嗅觉,虫类生物特性	|^	灵敏嗅觉,虫类生物特性	|
|^	''豁免检定:''	|^	强韧+3,反射+0,意志+0	|^	强韧+4,反射+0,意志+1	|^	强韧+5,反射+0,意志+2	|
|^	''属性:''	|^	力量10,敏捷10,体质10,智力 -,感知11,魅力9	|^	力量14,敏捷10,体质13,智力 -,感知13,魅力11	|^	力量16,敏捷9,体质13,智力 -,感知13,魅力11	|
|^	''技能:''	|^	攀爬+8	|^	攀爬+10	|^	-	|
|^	''专长:''	|^	追踪	|^	追踪	|^	追踪	|
|^	''环境:''	|^	温带平原	|^	温带平原	|^	温带平原	|
|^	''组织:''	|^	成队 (2-6),或成群 (6-11外加1巨兵蚁)	|^	单独或成队 (2-4)	|^	蚁窝 (1外加10-100巨工蚁及5-20巨兵蚁)	|
|^	''挑战等级:''	|^	1	|^	2	|^	2	|
|^	''宝物:''	|^	无	|^	无	|^	1/ 10钱币,50%工艺品,50%物品	|
|^	''进化:''	|^	3-4HD (中型);5-6HD (大型)	|^	3-4HD (中型);5-6HD (大型)	|^	5-6HD (大型);7-8HD (超大型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


巨蚁是所有虫类生物中最坚韧,也是适应性最强的一种。巨兵蚁和巨工蚁约6尺长,巨蚁后则可长至9尺。

!!!战斗

''酸刺 (Ex):''巨兵蚁有一根螯刺,且其腹部有一个能分泌酸液的腺体。如果它成功攫抓到对手,就可以每轮都尝试螯刺对手 (+3攻击加值)。被螯刺击中可造成1d4+1点穿刺伤害及1d4点酸伤害。

''精通攫抓 (Ex):''使用此能力之前,巨蚁必须通过其啮咬攻击击中对手。在擒抱检定中胜出的巨蚁可以将对手定身并且可以螯刺对手。

''技能:''*通过嗅觉追踪进行生存检定时巨蚁可获得+4的种族加值。进行攀爬检定时可获得+8的种族加值。巨蚁可以在攀爬检定中总是取10,即使在很匆忙或受到威胁时也一样。
!!Giant Bee(巨蜂 )

''中型虫类生物''

|''生命骰:'' 3d8 (13 hp)|
|''先攻权:'' +2|
|''速度:'' 20尺 (4格),飞行80尺 (良好)|
|''防御等级:'' 14 (+2敏捷,+2天生),接触12,措手不及12|
|''基本攻击/擒抱:'' +2/ +2|
|''攻击:'' 螯刺 +2 近战 (1d4外加毒素)|
|''全回合攻击:'' 螯刺 +2 近战 (1d4外加毒素)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 毒素|
|''特性:'' 黑暗视觉60尺,虫类生物特性|
|''豁免:'' 强韧+3,反射+3,意志+2|
|''属性:'' 力量11,敏捷14,体质11,智力 -,感知12,魅力9|
|''技能:'' 侦察+5,生存+1*|
|''专长:'' -|
|''环境:'' 温带平原|
|''组织:'' 单独,成群 (2-5),或一窝 (11-20)|
|''挑战等级:'' 1|
|''宝物:'' 无钱币,1/ 4工艺品 (只有蜂蜜),无物品|
|''阵营:'' 4-6HD (中型);7-9HD (大型)|
|''等级调整:'' -|

尽管体型要大上许多倍而且能长到5长,但巨蜂的的行为和普通蜜蜂没有什么差别。

!!!战斗
除了在保卫它们自己或其巢穴时,否则巨蜂通常不具攻击性。

''毒素 (Ex):''伤口,强韧豁免检定DC 11,初始及后续伤害皆为1d4点体质伤害。该豁免检定DC基于体质调整值。

巨蜂成功螯刺一个生物后会立刻离开,它的螯刺会留在该生物体内。然后巨蜂就会死亡。

''技能:''在进行侦察检定时巨蜂可获得+4的种族加值。*在进行生存检定以确定方向时巨蜂可获得+4的种族加值。

!!Giant Bombardier Beetle(巨投弹甲虫 )

''中型虫类生物''

|''生命骰:'' 2d8+4 (13 hp)|
|''先攻权:'' +0|
|''速度:'' 30尺 (6格)|
|''防御等级:'' 16 (+6天生),接触10,措手不及16|
|''基本攻击/擒抱:'' +1/ +2|
|''攻击:'' 啮咬 +2 近战 (1d4+1)|
|''全回合攻击:'' 啮咬 +2 近战 (1d4+1)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 喷吐酸液|
|''特性:'' 黑暗视觉60尺,虫类生物特性|
|''豁免:'' 强韧+5,反射+0,意志+0|
|''属性:'' 力量13,敏捷10,体质14,智力 -,感知10,魅力9|
|''技能:'' -|
|''专长:'' -|
|''环境:'' 温暖的森林|
|''组织:'' 成队 (2-5),或成群 (6-11)|
|''挑战等级:'' 2|
|''宝物:'' 3-4HD (中型);5-6HD (大型)|
|''等级调整:'' -|

这些生物主要以腐尸和内脏为食,它们会聚集成堆的废物来建筑自己的巢穴并在里面产卵。巨投弹甲虫约6尺长。

!!!战斗
巨投弹甲虫通常只有在保卫自身、巢穴或卵时才会战斗。

''喷吐酸液 (Ex):''每轮一次,巨投弹甲虫在受到攻击或骚扰时可以吐出10尺锥形的酸雾。处于锥形范围内的生物必须通过一个DC 13的强韧豁免检定否则会受到1d4+2点酸伤害。该豁免检定DC基于体质调整值。

!!Giant Fire Beetle(巨火甲虫 )

''小型虫类生物''

|''生命骰:'' 1d8 (4 hp)|
|''先攻权:'' +0|
|''速度:'' 30尺 (6格)|
|''防御等级:'' 16 (+1体型,+5天生),接触11,措手不及16|
|''基本攻击/擒抱:'' +0/ -4|
|''攻击:'' 啮咬 +1 近战 (2d4)|
|''全回合攻击:'' 啮咬 +1 近战 (2d4)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 黑暗视觉60尺,虫类生物特性|
|''豁免:'' 强韧+2,反射+0,意志+0|
|''属性:'' 力量10,敏捷11,体质11,智力 -,感知10,魅力7|
|''技能:'' -|
|''专长:'' -|
|''环境:'' 温暖的平原|
|''组织:'' 成队 (2-5),或成群 (6-11)|
|''挑战等级:'' 1/ 3|
|''进化:'' 2-3HD (小型)|
|''等级调整:'' -|

这些会发光的夜行性昆虫对矿工和冒险者来说颇具价值。它们两只眼睛上各有一个会发红光的腺体。这些腺体分泌物从甲虫身上拿开后可继续发光1d6天,能照亮半径10尺的圆形范围。巨火甲虫约2尺长。
!!Giant Praying Mantis(巨螳螂 )

''大型虫类生物''

|''生命骰:'' 4d8+8 (26 hp)|
|''先攻权:'' -1|
|''速度:'' 20尺 (4格),飞行40尺 (不良)|
|''防御等级:'' 14 (-1体型,-1敏捷,+6天生),接触8,措手不及14|
|''基本攻击/擒抱:'' +3/ +11|
|''攻击:'' 爪抓 +6 近战 (1d8+4)|
|''全回合攻击:'' 爪抓 +6 近战 (1d8+4)及啮咬 +1 近战 (1d6+2)|
|''面宽/触及:'' 10尺 (4格)/ 5尺|
|''特殊攻击:'' 精通攫抓|
|''特性:'' 黑暗视觉60尺,虫类生物特性|
|''豁免:'' 强韧+6,反射+0,意志+3|
|''属性:'' 力量19,敏捷8,体质15,智力 -,感知14,魅力11|
|''技能:'' 躲藏-1*,侦察+6|
|''专长:'' -|
|''环境:'' 温带森林|
|''组织:'' 单独|
|''挑战等级:'' 3|
|''进化:'' 5-8HD (大型);9-12HD (超大型)|
|''等级调整:'' -|

这种具有耐心的食肉昆虫在它等待猎物接近时能保持静止不动。

!!!战斗

''精通攫抓 (Ex):''使用此能力之前,巨螳螂必须通过其爪抓攻击击中对手。在擒抱检定中胜出的巨螳螂可将对手定身,且能如进行主要攻击一样啮咬对手 (攻击加值+6)。

''技能:''在进行躲藏及侦察检定时巨螳螂可获得+4的种族加值。*因为具有保护色,所以巨螳螂在树叶附近进行躲藏检定时其加值可提升为+12。

!!Giant Stag Beetle(巨锹甲虫 )

''大型虫类生物''

|''生命骰:'' 7d8+21 (52 hp)|
|''先攻权:'' +0|
|''速度:'' 20尺 (4格)|
|''防御等级:'' 19 (-1体型,+10天生),接触9,措手不及19|
|''基本攻击/擒抱:'' +5/ +15|
|''攻击:'' 啮咬 +10 近战 (4d6+9)|
|''全回合攻击:'' 啮咬 +10 近战 (4d6+9)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' 践踏 2d8+3|
|''特性:'' 黑暗视觉60尺,虫类生物特性|
|''豁免:'' 强韧+8,反射+2,意志+2|
|''属性:'' 力量23,敏捷10,体质17,智力 -,感知10,魅力9|
|''技能:'' -|
|''专长:'' -|
|''环境:'' 温带森林|
|''组织:'' 成队 (2-5),或成群 (6-11)|
|''挑战等级:'' 4|
|''阵营:'' 总是中立|
|''进化:'' 8-10HD (大型);11-21HD (超大型)|
|''等级调整:'' -|

这些生物是危害极大的害虫,它们会贪婪地吞噬农作物。单只巨锹甲虫能在很短时间内疚吃光整片农田。成年巨锹甲虫约10尺长。

!!!战斗

''践踏 (Ex):''通过DC 19的反射豁免检定则伤害减半。该豁免检定DC基于力量调整值。

巨人类(Giant):巨人是类人形状的生物,它们力量巨大,体型通常至少是大体型。

//特征://巨人具有下列特征。

*d8生命骰。
*基本攻击奖励等于3/4生命骰数总和(类似于牧师)。
*擅长的豁免检定:强韧。
*技能点数等于每个生命骰(2+智力调整值,最少为1),第一个生命骰的技能点数为它的四倍。

//特性://巨人拥有下列特性(除非生物描述中另有说明)。

*低光视觉。
*熟练使用所有简单武器和军用武器,以及任何天生武器。
*熟练使用任何和它描述中所穿戴盔甲同类的盔甲(轻、中或重甲),以及比该盔甲轻的盔甲。说明中没有提到穿戴盔甲的巨人不能熟练使用盔甲。熟练使用任一盔甲的巨人可以熟练使用盾牌。
*巨人需要进食、睡眠和呼吸。

!!!巨虫术(Giant Vermin)
|变化系|
|''等级:''牧师 4,德鲁伊 4|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''至多三个虫类,任何两者之间距离不得超过30英尺|
|''持续时间:''1分钟/每等级|
|''豁免:''无|
|''法术抗力:''可|
|你可以将三只正常大小的蜈蚣,或两只正常大小的蜘蛛,或一只正常大小的蝎子变成更大的形体。只能转变一类虫子(因此单独一次施法不能同时影响一只蜈蚣和一只蜘蛛),而且所有虫子都必须变成同样大小。这些虫子可以变大的尺寸和你的等级有关;见后附表格。|
|通过这个法术创造的任何巨虫都不会尝试伤害你,但是你只能用有限的简单命令来控制这些生物(“攻击”,“防御”,“停止”,以及类似)。对它们来说,在特定生物出现时攻击它或者防护特定事件等都太过复杂而无法理解。除非另有命令,否则巨虫会攻击任何靠近它们的东西。|

|!	施法者等级	 |!	虫类体型	 |
|^	9或更低	 |^	中型	 |
|^	10–13	 |^	大型	 |
|^	14–17	 |^	超大型	 |
|^	18–19	 |^	巨型	 |
|^	20或更高	 |^	超巨型	 |
!!Giant Wasp(巨胡蜂 )

''大型虫类生物''

|''生命骰:'' 5d8+10 (32 hp)|
|''先攻权:'' +1|
|''速度:'' 20尺 (4格),飞行60尺 (良好)|
|''防御等级:'' 14 (-1体型,+1敏捷,+4天生),接触10,措手不及13|
|''基本攻击/擒抱:'' +3/ +11|
|''攻击:'' 螯刺 +6 近战 (1d3+6外加毒素)|
|''全回合攻击:'' 螯刺 +6 近战 (1d3+6外加毒素)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' 毒素|
|''特性:'' 黑暗视觉60尺,虫类生物特性|
|''豁免:'' 强韧+6,反射+2,意志+2|
|''属性:'' 力量18,敏捷12,体质14,智力 -,感知13,魅力11|
|''技能:'' 侦察+9,生存+1*|
|''专长:'' -|
|''环境:'' 温带森林|
|''组织:'' 单独,成群 (2-5),或蜂巢 (11-20)|
|''挑战等级:'' 3|
|''进化:'' 6-8HD (大型);9-15HD (超大型)|
|''等级调整:'' -|

!!!战斗
巨胡蜂在饥饿或受到威胁时会展开攻击,螯刺其猎物直到死亡。它们会将死去或失去行动能力的对手作为未孵化幼虫的食物带回其巢穴。

''毒素 (Ex):''伤口,强韧豁免检定DC 14,初始及后续伤害皆为1d6点敏捷伤害。该豁免检定DC基于体质调整值。

''技能:''在进行侦察检定时巨胡蜂可获得+8的种族加值。*在进行生存检定以确定方向时巨胡蜂可获得+4的种族加值。
!! Giant(巨人)


所有巨人都会说巨人语。智力值10或以上的巨人还会说通用语。

!!! 战斗
巨人喜欢肉搏战。他们喜欢使用巨大的双手持用武器,而且他们使用这种武器的技巧也很出色。他们很有战术头脑,如果可能的话,他们先用远程攻击削弱敌人。巨人最喜欢的远程武器是大石头。

''掷石 (Ex):''成年巨人对投掷石头相当熟练,他们在投掷石头时其攻击检定可获得+1的种族加值。体型达到大型的巨人可以将一块40到50磅重的石头 (小型物体)最远掷出5倍射程的距离。射程的大小因巨人种类而异。超大型的巨人能掷出60到80磅重的石头 (中型物体)。

''接石 (Ex):''体型达到大型的巨人可以接住小型,中型或大型的石头 (或形状类似的物体)。每轮1次,正常情况下会被石头击中的巨人可以通过一个即时动作做一个反射豁免检定来接住石头。小型石头的DC为15,中型为20,大型为25。(如果石头的攻击检定中具有魔法加值,则DC上要加上此数值。)巨人必须做好准备而且知道攻击次序才能尝试接石。



!!Cloud Giant(云巨人)
''
超大型巨人 (风系)''


|''生命骰:''17d8+102(178hp)|
|''先攻权:''+1|
|''速度:''50尺(10格)|
|''防御等级:''25(-2体型,+1敏捷,+12天生,+4链甲衫),接触9,措手不及24|
|''基本攻击/擒抱:''+12/+32|
|''攻击:''巨型钉头锤+22近战(4d6+18),或挥击+22近战(1d6+12),或石头+12远程(2d8+12)|
|''全回合攻击:''巨型钉头锤+22/+17/+12近战(4d6+18),或2挥击+22近战(1d6+12),或石头+12远程(2d8+12)|
|''面宽/触及:''15尺/15尺|
|''特殊攻击:''掷石,类法术能力|
|''特性:''昏暗视觉,过大武器,接石,灵敏嗅觉|
|''豁免:''强韧+16,反射+6,意志+10|
|''属性:''力量35,敏捷13,体质23,智力12,感知16,魅力13|
|''技能:''攀爬+19,手艺(任意1种)+11,交涉+3,威吓+11,聆听+15,表演(弦乐器)+2,察言观色+9,侦察+15|
|''专长:''无畏一击,顺势斩,精通冲撞,精通闯越,钢铁意志,猛力攻击|
|''环境:''温带山脉|
|''组织:''单独,成队(2-4),家族(2-4外加35%非战斗人员,1等级4-7的术士或牧师以及2-5狮鹫或2-8凶暴狮),或一大群(6-9外加1等级4-7的术士或牧师以及2-5狮鹫或2-8凶暴狮)|
|''挑战等级:''11|
|''宝物:''标准钱币,双倍工艺品,标准物品|
|''阵营:''通常是中立善良或中立邪恶|
|''进化:''视人物职业而定|
|''等级调整:''-|




云巨人的肤色介于乳白色到天蓝色之间。他们的发色为银白色或黄铜色,眼睛是明亮的蓝色。成年男性约18尺高,约5000磅重。女性稍矮一些也轻一些。云巨人能活到400岁。

云巨人一向都穿着最好的衣服而且佩戴珠宝。对许多云巨人而言,外表象征地位:衣着越华丽,珠宝越漂亮,代表穿戴者越重要。他们也懂得音乐,而且大多数都会演奏一到两种乐器 (竖琴最受他们喜爱)。

!!! 战斗
云巨人在作战时很有组织,而且会采用事先准备计划好的作战方案。他们喜欢从高处攻击对手。他们最喜欢的战术是团团围住对方,在有施法能力的云巨人用法术使对手混乱的时候用石头进行攻击。

''掷石 (Ex):''云巨人投掷石头的射程是140尺。

''过大武器 (Ex):''云巨人可以使用巨大的双手钉头锤 (适合巨型生物使用)而不受罚值。

类法术能力:施法等级15。

|//每天3次 //- 浮空术 (自身外加2000磅),隐雾术;|
|//每天1次// - 云雾术。|

!!! 云巨人的人物
多数成群的云巨人中都包括一个术士或牧师。
善良阵营的牧师可以从以下领域中选择两个:善良,医疗,力量或太阳。
邪恶阵营的牧师可以从以下领域中选择两个:死亡,邪恶或诡术。



!!Fire Giant(火巨人)

''大型巨人 (火系)''

|''生命骰:'' 15d8+75 (142 hp)|
|''先攻权:'' -1|
|''速度:'' 穿半身甲时30尺 (6格);基本陆地速度40尺|
|''防御等级:'' 23 (-1体型,-1敏捷,+8天生,+7半身甲),接触8,措手不及23|
|''基本攻击/擒抱:'' +11/ +25|
|''攻击:'' 巨剑 +20 近战 (3d6+15),或挥击 +20 近战 (1d4+10),或石头 +10 远程 (2d6+10外加2d6火焰)|
|''全回合攻击:'' 巨剑 +20/ +15/ +10 近战 (3d6+15),或2 挥击 +20 近战 (1d4+10),或石头 +10 远程(2d6+10外加2d6火焰)|
|''面宽/触及:'' 10尺/ 10尺|
|''特殊攻击:'' 掷石|
|''特性:'' 对火焰免疫,昏暗视觉,接石,易受寒冷伤害|
|''豁免:'' 强韧+14,反射+4,意志+9|
|''属性:'' 力量31,敏捷9,体质21,智力10,感知14,魅力11|
|''技能:'' 攀爬+9,手艺 (任意1种)+6,威吓+6,跳跃+9,侦察+14|
|''专长:'' 顺势斩,大顺势斩,精通闯越,精通击破武器,钢铁意志,猛力攻击|
|''环境:'' 温暖的山脉|
|''组织:'' 单独,成队 (6-9外加35%非战斗人员,1等级1-2的导师或牧师),狩猎队/ 突击队 (6-9外加1等级3-5的导师或术士,以及2-4地狱犬和2-3巨魔或双头巨人),或部落 (21-30外加1等级6-7的导师、牧师或术士,以及12-30地狱犬,12-22巨魔,5-12双头巨人以及1-2少年红龙|
|''挑战等级:'' 10|
|''宝物:'' 标准|
|''阵营:'' 通常是守序邪恶|
|''进化:'' 视人物职业而定|
|''等级调整:'' +4|


一些火巨人有亮橘色的头发。成年男性有12尺高,胸膛9尺宽,重约7000磅。女性稍矮一些也轻一些。火巨人可以活到350岁。

火巨人穿耐用的衣物或红色、橘色、黄色或褐色的皮制衣服。武者穿戴黑色的钢制头盔和半身甲。

!!! 战斗
火巨人用附近的火焰、间歇泉或岩浆池加热他们的石头,因此能造成额外伤害。他们在肉搏战中喜爱魔法火焰剑 (如果能得到的话)。他们也喜欢将体型较小的对手抱起来丢到非常热的地方去。

''掷石 (Ex):''火巨人投掷石头的射程是120尺。

!!! 火巨人的人物
多数成群的火巨人中都包括牧师。火巨人牧师可以从以下领域中选择两个:邪恶,秩序,诡术或战争 (多数选择诡术或战争,一些两个全选)。


!!Frost Giant(霜巨人)

|!		|!	霜巨人(Frost Giant)	|!	霜巨人首领,8级黑暗卫士(Frost Giant Jarl,8th-LevelBlack guard)	|
|!		|!	大型巨人(寒系)	|!	大型巨人(寒系)	|
|^	''生命骰:''	|^	14d8+70(133hp)	|^	14d8+84加8d10+48(231hp)	|
|^	''先攻权:''	|^	-1	|^	+5	|
|^	''速度:''	|^	40尺(8格)	|^	穿+2全身甲时30尺(6格);基本陆地速度40尺	|
|^	''防御等级:''	|^	21(-1体型,-1敏捷,+9天生,+4链甲衫),接触8,措手不及21	|^	29(-1体型,+1敏捷,+9天生,+10+2全身甲),接触10,措手不及28	|
|^	''基本攻击/擒抱:''	|^	+10/+23	|^	+18/+33	|
|^	''攻击:''	|^	超大型巨斧+18近战(3d6+13/*3),或挥击+18近战(1d4+9),或石头+9远程(2d6+9)	|^	+2冻寒巨斧+30近战(3d6+18/*3外加1d6寒冷),或挥击+28近战(1d4+11),或石头+18 远程 (2d6+11)	|
|^	''全回合攻击:''	|^	超大型巨斧+18/+13近战(3d6+13/*3),或2挥击+18近战(1d4+9),或石头+9远程 (2d6+9)	|^	+2冻寒巨斧+30/+25/+20/+15近战(3d6+18/*3外加1d6寒冷),或2挥击+28近战(1d4+11),或石头 +18 远程 (2d6+11)	|
|^	''面宽/触及:''	|^	10尺/10尺	|^	10尺/10尺	|
|^	''特殊攻击:''	|^	掷石	|^	掷石,破善斩,偷袭+2d6	|
|^	''特性:''	|^	对寒冷免疫,昏暗视觉,接石,易受火焰伤害	|^	绝望暗气,邪恶灵光,命令不死生物,暗黑祝福,侦测善良,对寒冷免疫,昏暗视觉,用毒,对火焰抗力10,接石,易受火焰伤害	|
|^	''豁免检定:''	|^	强韧+14,反射+3,意志+6	|^	强韧+25,反射+13,意志+13	|
|^	''属性:''	|^	力量29,敏捷9,体质21,智力10,感知14,魅力11	|^	力量32,敏捷12,体质22,智力10,感知12,魅力18	|
|^	''技能:''	|^	攀爬+13,手艺(任意1种)+6,威吓+6,跳跃+17,侦察+12	|^	攀爬+17,躲藏+2,跳跃+17,知识(宗教)+2,骑术+11,侦察+5	|
|^	''专长:''	|^	顺势斩,大顺势斩,精通闯越,精通击破武器,猛力攻击	|^	顺势斩,大顺势斩,精通先攻,精通击破武器,钢铁意志,闪电反射,猛力攻击,即时备战	|
|^	''环境:''	|^	寒冷的山脉	|^	寒冷的山脉	|
|^	''组织:''	|^	单独,成队(2-5),成群(6-9外加35%非战斗人员以及1等级1-2的导师),狩猎队/突击队 (6-9外加35%非战斗人员,1等级3-5的导师以及2-4冬狼和2-3食人魔),或部落(21-30外加1等级6-7的导师、牧师或术士,以及12-30冬狼,12-22食人魔和1-2少年白龙)	|^	单独或与部落一起	|
|^	''挑战等级:''	|^	9	|^	17	|
|^	''宝物:''	|^	标准	|^	标准	|
|^	''阵营:''	|^	通常是混乱邪恶	|^	总是混乱邪恶	|
|^	''进化:''	|^	视人物职业而定	|^	视人物职业而定	|
|^	''等级调整:''	|^	+4	|^	-	|

霜巨人的头发是淡蓝色或土黄色,眼睛的颜色通常和头发一样。霜巨人穿着动物的毛皮,并戴着自己拥有的珠宝。霜巨人武者会加穿链甲衫,并戴着用兽角或羽毛装饰的金属头盔。

成年男性霜巨人约15尺高,重约2800磅。女性稍矮一些也轻一些,其他则与男性完全相似。霜巨人能活到250岁。

!!! 战斗
霜巨人通常在远距离展开战斗,不断地投掷石头直到弹药耗尽或敌人接近,然后使用其巨大的战斧战斗。

霜巨人最喜欢的战术是把自己埋在一条冰雪坡道顶端的雪中来突袭敌人,这样敌人会很难接近他们。

''掷石 (Ex):''霜巨人投掷石头的射程是120尺。

!!! 霜巨人的人物
多数成群的霜巨人中都包括牧师。霜巨人牧师可以从以下领域中选择两个:混乱,毁灭,邪恶或战争 (多数选择毁灭或战争,一些两个全选)。

!!! 霜巨人首领
霜巨人的首领通常是野蛮人,牧师,战士或术士,但是有一些最为冷酷邪恶的霜巨人会成为黑暗卫士。

这里描述的霜巨人首领拥有标准霜巨人所有的特性和能力,同时也有作为黑暗卫士所得到的能力。其中一些技能的详述如下。

''绝望暗气 (Su):''此首领会展开一道能使距离他10尺范围的敌人在所有豁免检定上受到-2罚值得有害暗气。

''邪恶灵光 (Ex):''此首领会如等级8的邪恶牧师一样展开一道强烈的邪恶灵光 (如邪恶灵光法术)。

''命令不死生物 (Su):''此首领可以如等级6的邪恶牧师一样命令及斥喝不死生物。

''暗黑祝福 (Su):''此首领可以将其魅力调整值用于其所有豁免检定中。

''侦测善良 (Sp):''此首领可任意施展侦测善良,这是一种类法术能力,效果等同于同名法术。

''用毒:''暗黑卫士受过用毒训练,不会在为武器淬毒时意外中毒。

''破善斩 (Su):''每天2次,此首领可以通过一次普通近战攻击使出破善斩。他可以在将其+4的魅力调整值加在他的攻击检定上并能造成8点的额外伤害 (每个黑暗卫士等级1点)。如果他对非善良生物使用破善斩,则没有特殊效用,而且仍计入当日使用次数。

标准黑暗卫士准备法术 (3/1;豁免检定DC 11 + 法术等级):

|1级 - 惊恐术,丧志术,魔化武器;|
|2级 - 牛之力量。|

''物品:''+2冻寒巨斧,+2全身甲,+2魅力斗篷,低等抵抗能量伤害戒指,2剂血根草。(这些物品带来的奖励以计入其数据中。)




!!Hill Giant(山丘巨人)

''大型巨人''


|''生命骰:'' 12d8+48 (102 hp)|
|''先攻权:'' -1|
|''速度:'' 穿革甲时30尺 (6格);基本陆地速度40尺|
|''防御等级:'' 20 (-1体型,-1敏捷,+9天生,+3革甲),接触8,措手不及20|
|''基本攻击/擒抱:'' +9/ +20|
|''攻击:'' 巨木棒 +16 近战 (2d8+10),或挥击 +15 近战 (1d4+7),或石头 +8 远程 (2d6+7)|
|''全回合攻击:'' 巨木棒 +16/ +11 近战 (2d8+10),或2 挥击 +15 近战 (1d4+7),或石头 +8 远程(2d6+7)|
|''面宽/触及:'' 10尺/ 10尺|
|''特殊攻击:'' 掷石|
|''特性:'' 昏暗视觉,接石|
|''豁免:'' 强韧+12,反射+3,意志+4|
|''属性:'' 力量25,敏捷8,体质19,智力6,感知10,魅力7|
|''技能:'' 攀爬+7,跳跃+7,聆听+3,侦察+6|
|''专长:'' 顺势斩,精通冲撞,猛力攻击,精通击破武器,专攻武器 (巨木棒)|
|''环境:'' 温带山区|
|''组织:'' 单独,成队 (2-5),成群 (6-9外加35%的非战斗人员),狩猎队/ 突击队 (6-9外加2-4凶暴狼),或部落 (21-30外加35%的非战斗人员,以及12-30凶暴狼,2-4食人魔和12-22兽人)|
|''挑战等级:'' 7|
|''宝物:'' 标准|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 视人物职业而定|
|''等级调整:'' +4|



山丘巨人的肤色介于淡褐色与深红棕色之间。头发为褐色或黑色,眼睛颜色与头发相同。山丘巨人穿着几层简单处理过还带有毛发的兽皮。他们很少清洗或修补他们的衣物,通常只在旧的穿坏之后再外面再套几件新的。

成年山丘巨人约10.5尺高,约1100磅重。山丘巨人能活到200岁。

!!! 战斗
山丘巨人喜欢在较高的岩石地形上展开攻击,这样他们可以用石头丢掷下面的敌人同时也可降低自己遇到危险的可能。

山丘巨人在刚开始战斗时喜欢对比自己体型小的生物展开闯越攻击。接下来,他们迅速停下脚步并用其巨大的木棒横扫对手。

''掷石 (Ex):''山丘巨人投掷石头的射程是120尺。

!!! 扮演山丘巨人人物
拥有难以置信的蛮力但很愚蠢,山丘巨人人物从来也没有被社会完全接受。然而他们在其领域内却做得相当好,成为了强有力的存在。尽管他们外表粗糙体型巨大,但他们的类人外形使其更容易的与更文明的人们联系起来。

山丘巨人人物角色拥有以下种族特性。

*+14力量,-2敏捷,+8体质,-4智力,-4魅力。
*大型体型。防御等级受到-1罚值,攻击检定受到-1罚值,躲藏技能检定受到-4罚值,擒抱检定获得+4加值,举重及负重能力上限为中型体型人物的两倍。
*占据/ 触及:10尺/ 10尺。
*山丘巨人的基本陆地速度为40尺。
*昏暗视觉。
*种族生命骰:山丘巨人拥有12个巨人类生物等级,这使他拥有12d8的生命骰,+8的基本攻击加值,以及强韧+8,反射+4,意志+4的基本豁免检定加值。
*种族技能:山丘巨人的巨人类生物等级使其拥有15* (2 + 智力调整值)的技能点数。他的本职技能为攀爬,跳跃,聆听和侦察。
*种族专长:山丘巨人的巨人类生物等级使其拥有5项专长。
*+9天生防御加值。
*特殊攻击 (见上):掷石。
*特性 (见上):接石。
*武器和盔甲擅长:山丘巨人擅长使用所有轻型武器,军用武器,轻型及中型盔甲,以及盾牌。
*天生使用语言:巨人语。额外语言:通用语,龙语,精灵语,地精语,兽人语。
*天赋职业:野蛮人。
*等级调整+4。




!!Stone Giant(石巨人)

''大型巨人 (土系)''

|''生命骰:'' 14d8+56 (119 hp)|
|''先攻权:'' +2|
|''速度:'' 穿革甲时30尺 (6格);基本陆地速度40尺|
|''防御等级:'' 25 (-1体型,+2敏捷,+11天生,+3革甲),接触11,措手不及23|
|''基本攻击/擒抱:'' +10/ +22|
|''攻击:'' 巨木棒 +17 近战 (2d8+12),或挥击 +17 近战 (1d4+8),或石头 +11 远程 (2d8+12)|
|''全回合攻击:'' 巨木棒 +17/ +12 近战 (2d8+12),或2 挥击 +17 近战 (1d4+8),或石头 +11 远程(2d8+12)|
|''面宽/触及:'' 10尺/ 10尺|
|''特殊攻击:'' 掷石|
|''特性:'' 黑暗视觉60尺,昏暗视觉,接石|
|''豁免:'' 强韧+13,反射+6,意志+7|
|''属性:'' 力量27,敏捷15,体质19,智力10,感知12,魅力11|
|''技能:'' 攀爬+11,躲藏+6*,跳跃+11,侦察+12|
|''专长:'' 战斗反射,钢铁意志,近程射击,猛力攻击,精准射击 |
|''环境:'' 温带山脉|
|''组织:'' 单独,成队 (2-5),成群 (6-9外加35%的非战斗人员),狩猎队/ 突击队 (6-9外加1长老),或部落 (21-30外加35%的非战斗人员,以及1-3长老和3-6凶暴熊)|
|''挑战等级:'' 8 (长老9)|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 视人物职业而定|
|''等级调整:'' +4 (长老+6)|


石巨人喜欢厚实的皮制衣物,将其染成棕灰色以便与他们周围的石头相称。成年石巨人约12尺高,重约1500磅。石巨人能活到800岁。

!!! 战斗
石巨人在战斗中尽可能与敌人保持距离,但是如果无法避免肉搏的话,他们会使用石头凿成的巨大木棒战斗。石巨人最喜爱的战术是静止不动的站着,融入周围的环境中,然后再突然上前投掷石头来突袭敌人。

''掷石 (Ex):''石巨人投掷石头的射程是180尺。石巨人在投掷石头时使用双手。

''接石 (Ex):''在石巨人进行反射豁免检定尝试接石时,他可获得+4的种族加值。

''技能:''*石巨人在岩石地形中进行躲藏检定时可获得+8的种族加值。

!!! 石巨人长老
一些石巨人可以发展出一些与其环境相关的特殊能力。这些石巨人长老的魅力值至少有15而且还能如等级10的术士一样施展其类法术能力。每天一次他们可以使用塑石术,石言术,以及化石为泥或化泥为石 (DC 17)。该豁免检定DC基于魅力调整值。每10名长老中会有1名术士,其等级通常为3-6。

!!! 扮演石巨人人物
强壮,孤独,石巨人在人类土地上很少被见到。

石巨人人物角色拥有以下种族特性。

*+16力量,+4敏捷,+8体质,+2感知。
*大型体型。防御等级受到-1罚值,攻击检定受到-1罚值,躲藏技能检定受到-4罚值,擒抱检定获得+4加值,举重及负重能力上限为中型体型人物的两倍。
*占据/ 触及:10尺/ 10尺。
*石巨人的基本陆地速度为40尺。
*黑暗视觉60尺,昏暗视觉。
*种族生命骰:石巨人拥有14个巨人类生物等级,这使他拥有14d8的生命骰,+10的基本攻击加值,以及强韧+9,反射+4,意志+4的基本豁免检定加值。
*种族技能:石巨人的巨人类生物等级使其拥有17* (2 + 智力调整值)的技能点数。他的本职技能为攀爬,跳跃,聆听和侦察。石巨人在岩石地形中进行躲藏检定时可获得+8的种族加值。
*种族专长:石巨人的巨人类生物等级使其拥有5项专长。
*+11天生防御加值。
*特殊攻击 (见上):掷石。
*特性 (见上):接石。
*天生使用语言:巨人语。额外语言:通用语,龙语,精灵语,地精语,兽人语。
*天赋职业:野蛮人。
*等级调整+4。




!!Storm Giant(风暴巨人)

''超大型巨人''


|''生命骰:'' 19d8+114 (199 hp)|
|''先攻权:'' +2|
|''速度:'' 穿胸甲时35尺 (7格),游泳30尺 (6格);基本陆地速度50尺,游泳速度40尺|
|''防御等级:'' 27 (-2体型,+2敏捷,+12天生,+5胸甲),接触10,措手不及25|
|''基本攻击/擒抱:'' +14/ +36|
|''攻击:'' 巨剑 +26 近战 (4d6+21/ 19-20),或挥击 +26 近战 (1d4+14),或复合长弓 (+14力量)+14 远程 (3d6+14/ *3)|
|''全回合攻击:'' 巨剑 +26/ +21/ +16 近战 (4d6+21/ 19-20),或2 挥击 +26 近战 (1d4+14),或复合长弓 (+14力量) +14/ +9/ +4 远程 (3d6+14/ *3)|
|''面宽/触及:'' 15尺/ 15尺|
|''特殊攻击:'' 类法术能力|
|''特性:'' 行动自如,对电免疫,昏暗视觉,接石,水中呼吸|
|''豁免:'' 强韧+17,反射+8,意志+13|
|''属性:'' 力量39,敏捷14,体质23,智力16,感知20,魅力15|
|''技能:'' 攀爬+20,专注+26,手艺 (任意1种)+13,交涉+4,威吓+12,跳跃+24,聆听+15,表演 (唱歌)+12,察言观色+15,侦察+25,游泳+18*|
|''专长:'' 无畏一击,顺势斩,战斗反射,精通冲撞,精通击破武器,钢铁意志,猛力攻击|
|''环境:'' 温暖的山脉|
|''组织:'' 单独或家族 (2-4外加35%的非战斗人员,1等级7-10的术士或牧师,以及1-2鹏鸟,2-5狮鹫或2-8海狮)|
|''挑战等级:'' 13|
|''宝物:'' 标准钱币,双倍工艺品,标准物品|
|''阵营:'' 通常是混乱善良|
|''进化:'' 视人物职业而定|
|''等级调整:'' -|



极为少见的风暴巨人有紫色的皮肤。紫色皮肤的风暴巨人有深紫色或蓝黑色的头发和银灰色或紫色的眼睛。成年风暴巨人约21尺高,重约12000磅。风暴巨人能活到600岁。风暴巨人的服装通常是短袖束腰上衣,脚上穿着便鞋或光脚,头上束着头带。他们会穿戴几件造型简单但做工精细的珠宝,其中以踝环 (最受赤脚的巨人喜爱),戒指或头环最为普遍。风暴巨人过着平静的,与世无争的生活,将大部分时间花费在沉思世事,作曲,演奏音乐,耕种土地采集食物上面。

!!! 战斗
风暴巨人使用武器和类法术能力来取代投掷石头。他们的复合长弓射程为180尺。

''类法术能力:''施法等级20。

|每天2次 - 操控天气,浮空术。|

施法等级15。该豁免检定DC基于魅力调整值。

|每天1次 - 召雷术 (DC 15),连环闪电 (DC 18)。|

''行动自如 (Su):''风暴巨人拥有持续性的行动自如能力,效果如同名法术 (施法等级20)。此效果可以被解除,但是风暴巨人可以在他下一轮行动时以一个即时动作将其重新展现。

''水中呼吸 (Ex):''风暴巨人可以水中呼吸,而且在潜水时也可以自由地使用其类法术能力。

''技能:''在进行游泳检定来做出特殊动作或躲避危险时风暴巨人可获得+8的种族加值。他可在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。他可在游泳中使用奔跑动作,但是只能直线前进。*风暴巨人在游泳时,无视所有因携带装备的重量而导致的罚值。

!!! 风暴巨人的人物
大概有20%的成年风暴巨人是术士或牧师。风暴巨人牧师可以从以下领域中选择两个:混乱,善良,保护或战争。 
!!Gibberingmouther(惧噬体)

''中型异怪''

|''生命骰:'' 4d8+24(42hp)|
|''先攻权:'' +1|
|''速度:'' 10尺(2格),游泳速度20尺|
|''防御等级:'' 19(+1体形,+8天生,+3革甲),接触11,措手不及18|
|''基本攻击/擒抱:'' +3/+3|
|''攻击:'' 啮咬+4近战(1)或唾沫+4远程(1d4酸液外加目盲)|
|''全回合攻击:'' 啮咬+4近战(1)及唾沫+4远程(1d4酸液外加目盲)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 语无伦次,唾沫,顺势擒抱,吸血,包卷,控制地表|
|''特性:'' 无定形,伤害减免5/钝击,60尺黑暗视觉|
|''豁免:'' 强韧+7,反射+4,意志+5|
|''属性:'' 力量10,敏捷13,体质22,智力4,感知13,魅力13|
|''技能:'' 聆听+4,侦察+9,游泳+8|
|''专长:'' 快速反射,武器娴熟|
|''环境:'' 地底|
|''组织:'' 独行|
|''挑战等级:'' 5|
|''宝物:'' 无|
|''阵营:'' 通常中立|
|''进化:'' 5-12HD(大型)|
|''等级调整:'' -|

惧噬体看起来像是由最疯狂的恶梦中走出来的可怕怪物。虽然惧噬体并非邪恶生物,但却喜爱吸食体液,特别是智能生物的鲜血。

惧噬体约宽3尺,高3到4尺,重约200磅。

惧噬体可以使用通用语,但除胡言乱语外很少说话。

!!! 战斗

惧噬体可以伸出自己体内的原生质形成条状,每根的末端都有多枚眼睛和嘴用来嘶咬目标。惧噬体每轮可以伸出六条这样的原生质条。

''语无伦次 (SU):''当惧噬体发现可以食用的猎物后,可以通过即时动作持续胡言乱语。任何60尺生物 (除惧噬体外)必须通过DC 13的意志检定,否则将受到如同困惑术的效果影响,持续时间1d2轮。本能力视为需要依靠声音,影响心智的胁迫效果。在检定中成功的生物24小时内免疫该惧噬体的语无伦次能力。本能力豁免DC基于魅力。

''唾沫 (EX):''惧噬体每轮可以通过即时动作对30尺以内的单体目标。惧噬体必须首先进行远程接触攻击,如果攻击命中,可以造成1d4点酸液伤害,目标必须通过DC 18的强韧检定,否则将目盲1d4轮。没有眼睛的生物对目盲效果免疫,但仍会受到酸液的伤害。本能力豁免DC基于体质。

''顺势擒抱 (EX):''惧噬体如果用啮咬攻击命中目标,可以通过即时动作尝试擒抱,而不会引发借机攻击。

''包卷 (EX):''惧噬体可以通过成功的擒抱检定包卷中型或更小体型的目标。(惧噬体不必真正“吞食”目标,而只是利用其不定形态覆盖目标,但效果相同)。当惧噬体成功包卷目标后,可以使用其吸血能力。被包卷的生物可以通过对惧噬体造成5点伤害脱出 (防护等级相同)。

''吸血 (EX):''被包卷的生物每轮受到1d4点体质伤害。

''控制地表 (SU):''惧噬体可以通过标准动作随意使相邻的岩石或泥土变成沼泽或流沙。软化泥土,砂土或是类似的物质需要耗时1轮,软化岩石需要耗时2轮。在该区域内除惧噬体外的生物必须通过移动动作避免陷在其中 (视为压制)。

''无定形 (EX):''惧噬体免疫重击和夹击。

''技能:''惧噬体有很多眼睛,因此在进行侦察检定时可以获得+4的加值。

惧噬体在利用游泳检定进行特殊活动或避免伤害时可以获得+8的加值。惧噬体在游泳检定时总可以取10,即使受到干扰或是在危险环境中。惧噬体可以在游泳时奔跑,但必须保持直线。 
!!Girallon(四臂猩猩)


''大型魔法兽''

|''生命骰:'' 7d10+20(58hp)|
|''先攻权:'' +3|
|''速度:'' 40尺(8格),攀爬40尺|
|''防御等级:'' 16(-1体型,+3敏捷,+4天然),接触12,措手不及15|
|''基本攻击/擒抱:'' +7/+17|
|''攻击:'' 爪抓+12近身(1d4+6)|
|''全回合攻击:'' 4爪抓+12近身(1d4+6),啮咬+7近身(1d8+3)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 撕扯2d4+9|
|''特性:'' 黑暗视觉60尺,昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+7,反射+8,意志+5|
|''属性:'' 力量22,敏捷17,体质14,智力2,感知12,魅力7|
|''技能:'' 攀爬+14,潜行+8,侦察+6|
|''专长:'' 钢铁意志,健壮(2)|
|''环境:'' 暖和的森林地带|
|''组织:'' 单独,成队(5-8个)|
|''挑战等级:'' 6|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 8-10HD(大型);11-21HD(超大型)|
|''等级调整:'' —|

四臂猩猩是一般猩猩的野蛮的魔法兽表亲。它们会用双脚和两只较低的手臂在地面上行走。成年的四臂猩猩大约有8尺高,胸膛很宽,上面覆盖着很厚的纯白的毛皮。它们的体重约为800磅。

!!! 战斗
单独行动的四臂猩猩经常隐蔽在树丛之中,或树叶堆、灌木丛下面,只露出鼻子。当它看见或闻到猎物时,便立刻冲出来攻击。四臂猩猩会挑选体型足够小的猎物带着着逃开,它们经常在得手之后,在受害者的同伴做出任何反应之前消失在树丛之中。对付体型较大的敌人时,四臂猩猩会尽快将一名对手撕成碎片。

''撕扯(Ex):''当四臂猩猩两次或更多的爪抓攻击都成功命中对手时,它就可以抓住并撕裂对方的身体。这种攻击必然造成额外的2d4+9点伤害。

''技能:''四臂猩猩在攀爬技能检定上拥有+8的种族加值,而且它在攀爬检定中可以随意取10,即使它处于分心或受威胁的情况下也是如此。 
''无相:''具有此能力的盔甲看起来没什么特别。一旦被启动,盔甲会变成普通衣服的样子。变化后盔甲仍保留原来的属性(包括重量)。只有真知术(True Seeing)或类似法术能识破。

中等幻术系灵光;CL10;制造魔法武器和防具,变颜术(disguise self);价格+2700金币。
!!!花言巧语(Glibness)
|变化系|
|''等级:''吟游诗人 3|
|''法术成分:''姿势|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''你自己|
|''持续时间:''10分钟/每等级(可解消)|
|你的讲话很流利,而且更可信。在让他人相信你话的真实性所进行的唬骗检定上,你获得+30加值。(该加值不能用在唬骗的其他方式上,例如战斗中的虚招,转移注意力来躲藏,或者使用暗语来传递隐藏信息等。)|
|如果有魔法效果来检查你是否说谎,或者强迫你只能说真话,那么该效果的使用者必须进行一次DC为15加你施法者等级的施法者等级检定(1d20加施法者等级)。检定失败意味着该效果没有侦测出你撒谎,或者未能迫使你只说真话。|
!!!闪光尘(Glitterdust)
|咒法系(创造)|
|''等级:''吟游诗人 2,术士/法师 2|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''区域:''10英尺半径扩散范围内的生物和物品|
|''持续时间:''1轮/每等级|
|''豁免:''意志,通过则无效(仅对目盲而言)|
|''法术抗力:''不可|
|一团金色微粒的烟云笼罩在区域内的所有人和物品上,法术期间内生物会因此目盲,隐形物品会被勾勒出可见的轮廓。整个区域的一切都被光尘所覆盖,光尘无法被移除,它会一直闪烁着直到熄灭为止。|
|任何被光尘所笼罩的生物在躲藏上受到-40减值。|
|//材料成分://云母粉。|
!!!次等法术无效结界(Globe of Invulnerability, Lesser)
|防护系|
|''等级:''术士/法师 4|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''10英尺 ft.|
|''区域:''以你为中心的10英尺球形弥漫范围|
|''持续时间:''1轮/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|一个散发着微光的固定魔法球体环绕着你,它可以将所有3级或更低的法术效果排除在外。任何这类法术的区域或效果将无法包括次等法术无效结界的区域。这类法术将无法影响结界内部的任何目标。被排斥的效果包括类法术能力和物品产生的法术或类法术效果。但是,任何类型的法术都可以穿过或穿出这个魔法结界。4级或更高等级的法术不受结界影响,那些在施放结界时已经发挥作用的法术也不受影响。结界可以被目标型解除魔法(dispel magic)所解除,但是不会被区域型解除魔法解除。你可以离开然后再返回结界,这样不会有任何惩罚。|
|注意,法术的效果不会被中止,除非它们的效果进入了结界。即使这样也只是被压制,而非被解除。|
|如果给定的法术在不同职业施展的时候有不同的等级,那么在确定次等法术无效结界是否能阻止它的时候使用和施法者对应的那个等级。|
|//材料成分://一个玻璃或水晶珠,在法术持续时间结束时会粉碎。|
!!!法术无效结界(Globe of Invulnerability)
|防护系|
|''等级:''术士/法师 6|
|该法术功能类似次等法术无效结界,只是它还可以排斥4级法术和类法术效果。|
''Glove of Storing(储物手套)'': 本来只是皮手套,只要说出指令,戴手套那只手所握的物品便立刻消失。物品重量不能超过20磅,且必须能单手握住。物品储存时重量不计。若要取回物品,只要戴手套那只手一弹指,物品就再度出现。一只手套同一时间只能储存一件物品。储存或取回物品属于即时动作。储存时,物品会停在手中,并缩小到完全看不见。“储物手套”可储放武器、魔杖,甚至点燃的火把(因为储存时,物品状态是停滞的)。如果此效果被压抑或解除,物品会立刻出现。虽然拥有一双手套很方便,但一次只能制作一只手套。

施法者等级:6。先决条件:“制造奇物”,“缩物术”。交易价格:10000金币。(一只)
''Gloves of Arrow Snaring(辟矢夺箭手套)'': 穿上之后,此手套彷彿融入皮肤,几乎看不到。穿戴者视同具有“拨挡飞箭”专长,而且不仅能拨开,还能接住抛掷类武器和射击物。使用时双手都必须穿戴,且必须空出至少一只手才能使用此能力,此能力每天可使用2次。

施法者等级:3。先决条件:“制造奇物”,“护盾术”。交易价格:4000金币。
''Gloves of Dexterity(敏捷手套)'': 轻薄合手的皮手套,具有弹性并容许灵巧动作。穿戴者的敏捷值有+2、+4或+6增强加值。必须双手穿戴才有效。

施法者等级:8。先决条件:“制造奇物”,“轻灵术”。交易价格:4000金币(+2),16000金币(+4),36000金币(+6)。
''Gloves of Swimming and Climbing(游泳攀爬手套)'': 此轻质手套可使“游泳”检定和“攀爬”检定有+5能力加值。必须双手都穿戴才有效。

Faint transmutation; CL 5th; Craft Wondrous Item, bull’s strength, cat’s grace; Price 6,250 gp.
!!!高等守卫刻文(Glyph of Warding, Greater)
|防护系|
|''等级:''牧师 6|
|该法术作用和守卫刻文类似,只是高等爆裂刻文可以造成至多10d8点伤害,而高等法术刻文可以储存6级或更低等级的法术。|
|//材料成分://你需要使用熏香来绘制刻文,熏香必须之前洒上至少价值400金币的钻石粉。|
!!!守卫刻文(Glyph of Warding)
|防护系|
|''等级:''牧师 3|
|''法术成分:''言语,姿势,材料|
|''施法时间:''10分钟|
|''距离:''接触|
|''目标或区域:''接触的物品或至多每等级5平方英尺|
|''持续时间:''永久直到耗散(可解消)|
|''豁免:''见正文|
|''法术抗力:''不可(物品)和可;见正文|
|这种强力铭文能够伤害到那些进入、穿过、打开被守护的区域或物品的人。守卫刻文能够守护一座桥或通道,守护大门,给箱子或盒子设置陷阱,以及诸如此类。|
|你可以设置守护的条件。通常来说,没有讲出口令(由你在施法时设定)就进入被守护区域或打开被守护物品的任何生物都会成为储存魔法的目标。作为口令的替代或者附加条件,刻文可以依照物理特征(例如高度或重量)或者生物种类、亚种、种族来设置。刻文也可以依照善良、邪恶、受序或混乱进行设置,还可以根据你的信仰来设置。但是不能根据职业、生命骰、等级来设置。结界能对隐形生物作出正常的反应,但是以灵化状态穿越则不会触发它。同一个区域不能设置多个刻文。但是如果一个柜子有三个抽屉,那么可以单独守护每一个抽屉。|
|当施放这个法术时,你在守护符印周围绘制出散发着微光的线状纹饰。只要符合你可影响区域的尺寸限制,那么刻文可以以任何形状进行放置。当法术完成的时候,刻文和纹饰将变得几乎不可见。|
|刻文不能被物理或魔法探查所影响或回避,但是它们可以被解除魔法。假象术(Mislead)、变形术(polymorph),以及回避侦测(nondetection)(和类似魔法效果)都可以愚弄刻文,但是非魔法的易容和类似方式无法做到这一点。阅读魔法(Read magic)能让你以一个DC 13的辨识法术检定来鉴定守卫刻文。鉴定刻文不会触发它,而是能让你知道刻文的本性(功效,造成伤害的类型,储有什么法术)。|
|//注意://守卫刻文这类魔法陷阱很难被侦测和解除。游荡者(仅有游荡者)能使用搜索技能来找到守卫刻文,并用解除装置技能让它失去作用。每种情况的DC都是25+法术等级,对于守卫刻文则是28。|
|根据选择的不同功效,结界可以爆炸来伤害入侵者,也可以启动一个法术。|
|//爆裂刻文(Blast Glyph)://爆裂刻文能对入侵者和他周围5英尺范围内的一切造成每两个施法者等级1d8的伤害(最多5d8)。该伤害可以是酸、寒、火、电或音波(由施法者在施法的时候选定)。被影响的生物可以尝试进行一次反射豁免来减半伤害。法术抗力对这种效果有效。|
|//法术刻文(Spell Glyph)://你可以储藏你所知道的任何3级或更低等级的伤害性法术。该法术的任何和等级相关的特性均基于你在施放结界时的施法者等级。如果该法术为“影响目标”,那么它目标就是入侵者。如果该法术为“影响区域”或不定形的效果,那么该区域或效果以入侵者为中心。如果该法术召唤生物,那么召唤生物将会在最靠近入侵者的地方出现,并攻击入侵者。豁免和法术抗力和正常情况一样,只是其DC基于储藏在结界中的法术等级。|
|//材料成分://你需要使用熏香来绘制刻文,熏香必须之前洒上至少价值200金币的钻石粉。|
!!Gnoll(豺狼人)

''中型类人生物 (豺狼人)''

|''生命骰:'' 2d8+2(11hp)|
|''先攻权:'' +0|
|''速度:'' 30英尺.(6格)|
|''防御等级:'' 15(+1天然防御,+2皮甲,+2大钢盾),接触10,措手不及15|
|''基本攻击/擒抱:'' +1/+3|
|''攻击:'' 战斧+3近战(1d8+2/x3)或短弓+1远程(1d6/x3)|
|''全回合攻击:'' 战斧+3近战(1d8+2/x3)或短弓+1远程(1d6/x3)|
|''面宽/触及:'' 5英尺/5英尺|
|''特殊攻击:'' —|
|''特性:'' 黑暗视力60英尺|
|''豁免:'' 强韧+4,反射+0,意志+0|
|''属性:'' 力量15,敏捷10,体质13,智力8,感知11,魅力8|
|''技能:'' 聆听+2,侦察+3|
|''专长:'' 猛力攻击|
|''环境:'' 温暖的平原|
|''组织:'' 单个,一对,狩猎组(2–5人加上1–2只土狼),一帮(10–100个个体加上一半数量的非战斗人员,加上每20个成年个体一个3级士官和一个4到6级领袖和5~8只土狼),或部落(20到200个个体加上每20个成年个体一个3级士官,1或2个4或5级副官,一个6~8级的领袖以及7到12只土狼;地下巢穴还有1~3只巨魔)|
|''挑战等级:'' 1|
|''宝物:'' 标准|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 根据人物职业|
|''等级调整:'' +1|

豺狼人是有着土狼脑袋,以松散的部落行动的邪恶类人生物。大多数豺狼人有一身肮脏的黄色或者略带红色的棕色毛皮。 豺狼人是夜行性的肉食动物。他们更喜欢猎捕智能生物充作口粮,只是因为它们更容易发出尖叫. 豺狼人大约7英尺半高,重达300磅。豺狼人说豺狼人语。

!!! 战斗
豺狼人偏爱在拥有数量优势时发动攻击, 以人海战术和他们强壮的力气淹没并击倒他们的对手。假如没有一个强力的领导者的话,豺狼人在战斗中几无纪律性可言。一旦存在这样的领导者,他们就能够分工明确地团结作战。他们并不经常设置陷阱,但是他们偏好突袭,并从两翼和后方突袭敌人。因为携带盾牌的缘故,豺狼人的躲藏判定 (未受训)是 –2, 这意味着豺狼人在准备突袭的埋伏上需要花上点心思来寻找有利的环境 (例如黑暗,遮蔽或其他的有利地形).

!!! 豺狼人人物
豺狼人人物拥有以下种族特性.

*力量+4,体质+2,智力-2,魅力-2

*中等体形
*豺狼人的基础陆地速度是30尺
*黑暗视力60英尺
*种族生命骰:一个豺狼人起始拥有两个类人生物等级。这给予它+1基础攻击加值,以及强韧+3,反射+0,意志+0的基础豁免。
*种族技能:一个豺狼人的类人生物等级给予它5x(2+智力调整)的技能点。它的职业技能是聆听与侦察
*种族专长:豺狼人的类人生物等级给予它一个专长
*+1天然防御
*基础语言:豺狼人语。奖励语言:通用语,龙语,精灵语,地精语,兽人语
*天赋职业:巡林客
*等级调整:+1
!! Gnome(侏儒)

|!		|!	侏儒(GNOME),1级武者	|!	地底侏儒(Svirfneblin),1级武者	|
|!		|!	小型类人生物(侏儒)	|!	小型类人生物(侏儒)	|
|^	''生命骰:''	|^	1d8+2(6hp)	|^	1d8+4(8hp)	|
|^	''先攻权:''	|^	+0	|^	+1	|
|^	''速度:''	|^	20尺(4格)	|^	穿混织铁甲15尺(3格),基本速度20尺(4格)	|
|^	''防御等级:''	|^	16(+1体型,+4链甲衫,+1轻盾),接触11,措手不及16	|^	23(+1体型,+1敏捷,+4闪避,+6混织铁甲,+1小圆盾),接触16,措手不及18	|
|^	''基本攻击/擒抱:''	|^	+1/-3	|^	+1/-3	|
|^	''攻击:''	|^	长剑+2近身(1d6/19-20)或轻十字弓+3远程(1d6/19-20)	|^	重型十字镐+2近身(1d4/x4)或轻十字弓+3远程(1d6/19-20)	|
|^	''全回合攻击:''	|^	长剑+2近身(1d6/19-20)或轻十字弓+3远程(1d6/19-20)	|^	重型十字镐+2近身(1d4/x4)或轻十字弓+3远程(1d6/19-20)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	5尺/5尺	|
|^	''特殊攻击:''	|^	—	|^	类法术能力	|
|^	''特性:''	|^	侏儒特性	|^	侏儒特性,地底侏儒特性,法术抗力12	|
|^	''豁免检定:''	|^	强韧+4,反射+0,意志-1	|^	强韧+5,反射+3,意志+2	|
|^	''属性:''	|^	力量11,敏捷11,体质14,智力10,感知9,魅力8	|^	力量11,敏捷13,体质12,智力10,感知11,魅力4	|
|^	''技能:''	|^	躲藏+3,聆听+1,侦察+1	|^	躲藏+2,聆听+2,侦察+2	|
|^	''专长:''	|^	武器专攻(轻十字弓)	|^	健壮	|
|^	''环境:''	|^	温带丘陵地域(森林侏儒:温带森林地域)	|^	地底	|
|^	''组织:''	|^	成队(2-4个)或成群(11-20外加1名等级3-6的首领及2名等级3的副官)或一大群(30-50,每20名成人再加1名等级3的军士,此外还有5名等级5的副官,3名7级的指挥官,以及2-5只凶暴獾)	|^	成队(2-4个)或成群(11-20外加1名等级3-6的首领及2名等级3的副官)或一大群(30-50,每20名成人再加1名等级3的军士,此外还有5名等级5的副官,3名7级的指挥官,以及2-5只中型土元素)	|
|^	''挑战等级:''	|^	1/2	|^	1	|
|^	''宝物:''	|^	标准	|^	标准	|
|^	''阵营:''	|^	通常是中立善良	|^	通常是中立	|
|^	''进化:''	|^	按人物职业进化	|^	按人物职业进化	|
|^	''等级调整:''	|^	+0	|^	+3	|

侏儒站立时约3英尺到3.5英尺高,体重约40至45磅。他们的肤色介于深褐色到淡棕色之间,头发是金色,眼睛则是或深或浅的蓝色。男性侏儒喜欢在下巴上留着小心修剪的短胡子。他们通常穿着皮制的或者土色系的衣物,但他们喜欢用复杂的编织装饰或精致的珠宝来装饰它们。侏儒约在40岁时成年,可以活大约350岁,有的甚至能活到近500岁。

侏儒有自己的语言,侏儒语。大多数常年在侏儒地界以外履行的侏儒(作为商人、修补匠或冒险者)大都会说通用语,而侏儒聚居地里的武者通常会讲地精语。

在侏儒家乡之外遇到的侏儒大都是武者;资料中所列的数值是以1级人物为基准的。

!!! 战斗
比起正面冲突,侏儒更喜欢误导和欺骗敌人。

他们更喜欢弄得他们的敌人晕头转向或者不知所措,而不是杀害对方(对地精类或狗头人则并非如此)。

侏儒作战时会大量使用幻术,并尽可能事先安排突袭或陷阱。

侏儒特性(Ex):侏儒拥有以下种族特性。

* +2体质,-2力量
* 小体型:防护等级获得+1体型加值,攻击检定获得+1体型加值,躲藏技能检定获得+4体型加值,擒抱检定承受-4体型减值,举重和负重限度是中体型人物的3/4。
* 侏儒的基本陆地速度为20英尺。
* 昏暗视觉。
* 武器熟练:侏儒将侏儒钩式战锤(gnome hooked hammers)视作为军用武器,而非异种武器。
* 对幻术系魔法的豁免判定,有+2的种族加值。
* 对抗侏儒释放的幻术系法术时难度等级+1。此调整值可以和其他类似调整累加,例如法术专攻专长。
* 对狗头人和地精类(包括地精,大地精和熊地精)的攻击检定都有+1的种族加值。
* 对巨人类(例如食人魔,巨魔和山岳巨人)时在防护等级上有+4闪避加值。
* 聆听技能检定有+2种族加值。
* 对于手艺(炼金术)检定有+2种族加值。
* 天生使用语言:通用语,侏儒语。额外语言:龙语,矮人语,精灵语,巨人语,地精语,和兽人语。
* 类法术能力:1次/天*动物交谈术(speak with animals)(只能对穴居哺乳动物使用,持续1分钟)。魅力10或以上的侏儒,可以使用下列的类法术能力:1次/天*舞光术(dancing lights),幻音术(ghost sound),魔法伎俩(prestidigitation)。施法者等级为1,豁免判定难度等级为10+侏儒的魅力调整值+法术等级。
* 天赋职业:吟游诗人。

以上资料所列的侏儒武者在使用种族调整之前的能力是:力量13,敏捷11,体质12,智力10,感知9,魅力8。

!! 亚种
上述资料是以所有侏儒中最常见的种类*岩石侏儒为基准的。
此外还有两个主要的亚种,他们与岩石侏儒的区别如下:

!!! 地底侏儒(Svirfneblin)
斯沃尔夫涅布林,又被称作地底侏儒,据说是居住在地底的大城市之中的。
地底侏儒拥有精瘦的体格,他们岩石色的皮肤通常是中等深浅的棕色或棕灰色。地底侏儒的平均寿命是250岁。
地底侏儒会说侏儒语,通用语和地底通用语。

地底侏儒特性(Ex):除非特别注明,地底侏儒除了下述特性之外还拥有岩石侏儒的特性。

* -2力量,+2敏捷,+2感知,-4魅力。这些属性调整取代岩石侏儒的属性调整
* 熟悉岩石:这种能力使地底侏儒在判定是否注意到不寻常的石制品的搜索检定时获得+2的种族加值。他们只要一进入不寻常的石制品的10尺范围内,就可以像他们在主动进行搜索一般进行搜索检定。此外地底侏儒还可以儒游荡者一般使用搜索技能来寻找石制陷阱。地底侏儒还能凭直觉探知深度,在地底也能感觉出大概的距离,就如同人类凭直觉就能知道哪个方向朝上一样。
* 120尺黑暗视觉和昏暗视觉
* 11+职业等级的法术抗力
* 所有豁免检定获得+2的种族加值(已应用于此处所列的人物资料中)。这个特性取代岩石侏儒在对抗幻术时豁免中的种族加值。
* 对抗地底侏儒释放的幻术系法术时难度等级+1。此调整值可以和其他类似调整累加,例如法术专攻专长。
* 对狗头人和地精类的攻击检定都有+1的种族加值。
* 对任何生物在防护等级上有+4闪避加值(已应用于此处所列的人物资料中)。这种特性取代岩石侏儒对巨人类在防护等级上的闪避加值。
* 天生使用语言:地底通用语,侏儒语,通用语。额外语言:矮人语,精灵语,巨人语,地精语,兽人语,土族语。这种特性取代岩石侏儒的天生使用语言和额外语言。
* 类法术能力:1次/天*目盲术/耳聋术(blindness/deafness)(此处所列的典型人物豁免难度为13),朦胧术(blur),伪装自己(disguise self)。施法等级与地底侏儒的职业等级相同,豁免难度等级基于魅力并且包括+4的种族调整值。这种特性取代岩石侏儒的类法术能力。
* 回避侦测:地底侏儒拥有像同名法术(nondetection)一样回避侦测能力(施法等级等于人物的职业等级),但这种能力是永久有效的。
* 在手艺(炼金)和聆听技能检定时获得+2种族加值。
* 在躲藏检定时获得+2种族加值,此加值在地底提升为+4。
* 天赋职业:游荡者。
* 等级调整值:+3。

以上资料所列的侏儒武者在使用种族调整之前的能力是:力量13,敏捷11,体质12,智力10,感知9,魅力8。
挑战等级:拥有非玩家人物职业的地底侏儒的挑战等级等同于他的人物等级。拥有玩家人物职业等级的地底侏儒的挑战等级为他的人物等级+1。

!!! 森林侏儒(Forest Gnome)

他们是所有侏儒中体型最小的,平均只有2到2.5尺高。除了皮肤是树皮色或灰绿色,眼睛是棕色、绿色或蓝色之外,他们看起来就像是一般的侏儒。森林侏儒是个非常长寿的种族,平均寿命可达500岁。

森林侏儒特性(Ex):除非特别注明,森林侏儒除了下述特性之外还拥有岩石侏儒的特性。

* 行动无踪(Su):森林侏儒与生俱来就拥有使用行动无踪的能力(只能对自己使用,以一个即时动作),就好像等级等于他的职业等级的德鲁伊施展的同名法术(pass without trace)一般。
* 对狗头人,地精类和类爬虫的类人生物的攻击检定都有+1的种族加值。
* 天生使用语言:侏儒语,精灵语,木族语和一种令他们能够与森林中的动物进行非常基本的交流的简单语言(这种特性取代岩石侏儒的动物交谈术类法术能力)。额外语言:通用语,龙语,矮人语,巨人语,地精语,兽人语。这种特性取代岩石侏儒的天生使用语言和额外语言。
* 在躲藏检定时获得+4种族加值,此加值在森林区域提升为+8。
!!Goblin(地精)

''地精,一级武者''

''小型类人生物(地精类)''


|''生命骰:'' 1d8+1(5hp)|
|''先攻权:'' +1|
|''速度:'' 30英尺(6格)|
|''防御等级:'' 15(+1体形,+1敏捷,+2皮甲,+1轻型盾牌),接触AC12,措手不及14|
|''基本攻击/擒抱:'' +1/–3|
|''攻击:'' 钉头锤+2近战(1d6)或标枪+3远程(1d4)|
|''全回合攻击:'' 钉头锤+2近战(1d6)或标枪+3远程(1d4)|
|''面宽/触及:'' 5英尺/5英尺|
|''特殊攻击:'' —|
|''特性:'' 黑暗视力60英尺|
|''豁免:'' 强韧+3,反射+1,意志–1|
|''属性:'' 力量11,敏捷13,体质12,智力10,感知9,魅力6|
|''技能:'' 躲藏+5,聍听+2,潜行+5,骑乘+4*,侦察+2|
|''专长:'' 警觉|
|''环境:'' 温带平原|
|''组织:'' 小群(4–9),一帮(10–100个个体加上相等数量的非战斗人员,加上每20个成年个体一个3级士官和一个4到6级领袖),战团(10–24个带着座狼),或部落(40–400个个体加上相等数量的非战斗人员,加上每20个成年个体一个3级士官,1或2个4或5级副官,一个6~8级的领袖,10~24只座狼加上2~4只凶暴狼)|
|''挑战等级:'' 1/3|
|''宝物:'' 标准|
|''阵营:'' 通常是中立邪恶|
|''进化:'' 根据人物职业|
|''等级调整:'' +0|

地精直立时高3英尺到三英尺半,重40到45磅。它的眼睛通常暗淡无光,如同一对玻璃球,颜色基本都是在红色到黄色之间。地精的肤色从黄色,或者任何类型的橘黄色乃至暗红色,基本上一个部落里所有的个体的肤色都一样。地精穿着暗色的皮革衣服,颜色一般是土黄色等类似泥土颜色。地精说地精语,智力12以上的地精也说通用语。

!!! 战斗
与那些更大,强悍的生物作战教会了地精如何运用他们那些许的优势:庞大的数量和狡诈。在地精的社会中,公平决战完全没有意义。 他们喜欢在战斗中运用突袭,人海战术并利用任何他们能用上的诡计。

地精没什么战略概念,而且天性胆小, 一旦战况对他们不利就会抱头鼠窜。但是在强力的监督下,他们也能完成复杂的计划,在这种情况下他们的数量就是相当可怕的优势了。

''技能:''地精在潜行和骑乘上有+4种族奖励。那些地精骑兵(骑着座狼)会选择骑乘战斗取代警觉专长。这会使他们的侦察和聍听技能从+3下降到+1

''挑战等级:''拥有NPC职业的地精的挑战等级相当于他们的等级-2

!!! 地精人物

地精人物拥有以下种族特性:

* –2 力量, +2敏捷, –2 魅力.
*小体型:防御奖励获得+1奖励, 攻击骰获得+1奖励, 在躲藏上获得+4奖励, 擒抱时获得-4惩罚, 推举和携带物品重量上限为中体形人物的3/4.
*地精的基础地面速度为30英尺
*拥有60英尺黑暗视力
*在骑乘和潜行上获得+4种族奖励
*自动获得语言:通用语,地精语 额外语言:龙语,精灵语,巨人语,豺狼人语,兽人语
*天赋职业:游荡者
这里的范例地精武者在调整前的属性为:力量 13,敏捷 11, 体质 12,智力 10, 感知 9, 魅力 8.

''地精(Goblinoid)亚种:''地精是一类鬼鬼祟祟的类人生物,通过捕猎和掠夺为生。他们都使用地精语。

''Goggles of Minute Seeing(微观镜片)'': 此镜片由特殊水晶制成,戴上之后可将1英尺内的东西看得更清楚,能看出细小接缝、记号、龟裂或瑕疵,穿戴者的“搜索”检定有+5加值。使用时必须同时配戴两只镜片。

Faint divination; CL 3rd; Craft Wondrous Item, true seeing; Price 1,250 gp.
''Goggles of Night(夜视镜片)'': 由黑水晶制成。虽然镜片不透明,但戴上后可正常视物,还具有黑暗视觉能力(范围60英尺)。使用时必须同时配戴两只镜片。

Faint transmutation; CL 3rd; Craft Wondrous Item, darkvision; Price 12,000 gp.
''Golden Lions黄金狮子'':成对出现,活化后为成年雄狮(请见《怪物图鉴》)。如果战斗中被杀死,一星期内不能再从塑像活化。每天可以使用一次,每次最多1小时,时限到或说出指令就会变回塑像。

施法者等级:11。先决条件:“制造奇物”,“活化物体”。交易价格:16500金币。
''Golem Manual(魔像手册)'': 魔像手册包含帮助一个制作魔像的信息、咒语和魔力。 使用该手册制作魔像的过程中使用者的相关技能检定可以得到+5的奖励。。 在魔像的建筑期间,必需的法术和XP由手册提供,使用手册被修造的任何魔像不花费创作者任何XP。

书的费用不包括修建魔像身体的费用。 一旦完成魔像,手册中的文字会很快退色,手册会自动燃烧起来。 当手册的灰被洒在魔像身上时,它变得充分地生气蓬勃。(下面部分就不翻了……XD)

原文:A golem manual contains information, incantations and magical power that help a character to craft a golem. The instructions therein grant a +5 competence bonus on skill checks made to craft the golem’s body. Each manual also holds the prerequisite spells needed for a specific golem, effectively grants the builder use of the Craft Construct feat during the construction of the golem, and grants the character an increase to her caster level for the purpose of crafting a golem. Any golem built using a golem manual does not cost the creator any XP, since the requisite XP are “contained” in the book and “expended” by the book during the creation process.
The spells included in a golem manual require a spell trigger activation and can be activated only to assist in the construction of a golem. The cost of the book does not include the cost of constructing the golem’s body. Once the golem is finished, the writing in the manual fades and the book is consumed in flames. When the book’s ashes are sprinkled upon the golem, it becomes fully animated.
Clay Golem Manual: The book contains animate objects, bless, commune, and resurrection. The reader may treat her caster level as two levels higher than normal for the purpose of crafting a clay golem. The book supplies 1,540 XP for the creation of a clay golem.
Moderate conjuration, divination, enchantment, and transmutation; CL 11th; Craft Construct, creator must be caster level 11th, animate objects, bless, commune, resurrection; Price 12,000 gp; Cost 2,150 gp + 1,712 XP; Weight 5 lb.
Flesh Golem Manual: The book contains animate dead, bull’s strength, geas/quest, and limited wish. The reader may treat her caster level as one level higher than normal for the purpose of crafting a flesh golem. The book supplies 780 XP for the creation of a flesh golem.
Moderate enchantment, necromancy [evil], and transmutation; CL 8th; Craft Construct, creator must be caster level 8th, animate dead, bull’s strength, geas/quest, limited wish; Price 8,000 gp; Cost 2,050 gp + 944 XP; Weight 5 lb.
Iron Golem Manual: The book contains cloudkill, geas/quest, limited wish, and polymorph any object. The reader may treat her caster level as four levels higher than normal for the purpose of crafting a iron golem. The book supplies 5,600 XP for the creation of a iron golem.
Strong conjuration, enchantment and transmutation; CL 16th; Craft Construct, creator must be caster level 16th, cloudkill, geas/quest, limited wish, polymorph any object; Price 35,000 gp; Cost 3,500 gp + 5,880 XP; Weight 5 lb.
Stone Golem Manual: The book contains geas/quest, limited wish, polymorph any object, and slow. The reader may treat her caster level as three levels higher than normal for the purpose of crafting a stone golem. The book supplies 3,400 XP for the creation of a stone golem.
Strong abjuration and enchantment; CL 14th; Craft Construct, creator must be caster level 14th, antimagic field, geas/quest, symbol of stunning, slow; Price 22,000 gp; Cost 2,500 gp + 3,600 XP; Weight 5 lb.
Stone Golem Manual, Greater: The book contains geas/quest, limited wish, polymorph any object, and slow. The reader may treat her caster level as three levels higher than normal for the purpose of crafting a stone golem. The book supplies 7,640 XP for the creation of a greater stone golem.
Strong abjuration and enchantment; CL 16th; Craft Construct, creator must be caster level 16th, antimagic field, geas/quest, symbol of stunning, slow; Price 44,000 gp; Cost 2,900 gp + 7,872 XP; Weight 5 lb.

!! Golem(魔像)

魔像是由魔法力量构建而成的自动装置。创造魔像的过程通常要涉及到强大的魔法和元素力量的运用。

魔像的活化力量源于来自土元素位面的灵魂。创造魔像,简而言之就是将一个不情愿的灵魂植入到人造躯体内,并让其按照创造者的意志行动。

!!! 战斗

魔像在战斗中相当顽强,而它们的身体也异乎寻常的强壮。由于没有心智,如果没有创造者的指令他们什么也不会干。它们会明确的执行命令,但不懂得采取任何战略或战术。战斗中它们毫无感情,挑衅对于他们是无效的。

只要魔像在创造者周围60尺范围内,能够看见他并听到他的声音,创造着就可以对它下达指令。如果未接到新的指令,魔像会尽力完成所接到的最后一项指令,但如果它遭到攻击,仍会反击。当创造者不在的时候,他或她可以事先向魔像下达一些简单的指令来控制它的行动。创造者可以命令魔像听从其他人发出的指令(此人也可以将魔像的控制权交给他人,依次类推),无论如何创造者可以随时重新控制他的造物,让它只听其一人的命令。

''魔法免疫(特异):''魔像对大多数魔法和超自然能力免疫,其中特殊的部分将在下面的叙述文字中说明。

!!! 制造

所有制造魔像所需的材料,包括躯体和所有的原料和法术材料将在制造过程中被耗尽或转变为魔像的一个部分。实际上制造魔像和制造魔法物品有些类似。不过制造魔像身躯的贵重材料需要额外的准备工作。魔像的创造者可以自己完成对其身躯的制造工作,也可以雇人来完成这项工作。创造者必须拥有适当的技能,具体技能视魔像种类而定。

在完成魔像的最后一日,魔像的创造者需要付出适量的经验值并施展一些法术。创造者必须亲自施展这些法术,但这些法术可以来自于其他途径,比如卷轴。

不同的魔像和魔法物品一样有制造要求(施法者等级,必要的专长和法术,市场价,制造花费),这将在每个魔像的描述后列出。

注:高级魔像的市场价(比标准魔像拥有更多的生命骰)为每个生命骰需额外付出5000gp,加大一次魔像的体型需要花费50000gp。而制造高级魔像所需花费的经验值等于高级魔像交易价格减去特殊材料的花费后的1/25。



!!Clay Golem(粘土魔像)

''大型构装生物''


|''生命骰:''11d10+30(90hp)|
|''先攻权:''-1|
|''速度:''20尺(4格)|
|''防御等级:''22(-1体型,-1敏捷,+14天生),接触8,措手不及22|
|''基本攻击/擒抱:''+8/+19|
|''攻击:''挥击+14近战(2d10+7额外创伤)|
|''全回合攻击:''2挥击+14近战(2d10+7额外创伤)|
|''面宽/触及:''10尺/10尺|
|''特殊攻击:''狂暴,创伤|
|''特性:''构装生物特征,伤害减免10/精金和钝击,黑暗视觉60尺,加速,魔法免疫,昏暗视觉|
|''豁免:''强韧+3,反射+2,意志+3|
|''属性:''力量25,敏捷9,体质-,智力-,感知11,魅力1|
|''技能:''—|
|''专长:''—|
|''环境:''任意|
|''组织:''单独,一群(2-4)|
|''挑战等级:''10|
|''宝物:''无|
|''阵营:''通常是中立|
|''进化:''12-18HD(大型);19-33HD(超大型)|
|''等级调整:''—|


粘土魔像拥有以粘土制造的类人生物的躯体。粘土魔像除了围绕在腰间的皮革或金属的衣物外什么也不穿。

粘土魔像不能说话和发声。他行动缓慢,步态笨拙。重约600磅。

!!! 战斗
''狂暴(特异):''当粘土魔像进入战斗时,它的元素灵魂有可能失去控制陷入狂暴状态这种机率每轮增加1%。失控的粘土魔像将横冲直撞,攻击最接近他的活物。如果周围没有生物则砸毁任何比它小的的物品,然后移动到另一处继续破坏。一旦粘土魔像进入狂暴状态,没有人能重新控制住它。

''创伤(特异):''粘土魔像造成的伤口无法以自然方式治愈,并且会对医疗法术产生抗力。任何试图用咒法(医疗)类法术治愈由粘土魔像造成的伤害必须成功通过DC26的施法者等级检定,否则该法术将不能产生效果。

''魔法免疫(特异):''粘土魔像免疫任何能被魔法抗力抵抗的魔法和类法术能力。此外某些法术将影响他的功能,详细见下。

|地动术能将粘土魔像逼退120尺兵造成3d12点伤害。|
|解离术能使粘土魔像缓慢1d6轮(如同缓慢术)并造成1d12点伤害。|
|地震术能使粘土魔像在这一轮内失去行动能力,并造成5d10点伤害。|

粘土魔像对于上述效果不能做豁免检定。

任何造成强酸伤害的魔法每造成3点将治愈1点伤害。这种回复如果超过了它的正常生命,则计为它的额外生命。比如,粘土魔像受到黑龙的喷吐攻击受到22点伤害则它可以回复7点伤害。粘土魔像对于造成强酸伤害的法术不能做豁免检定。

''加速(特异):''每日一次,在战斗开始后一轮,粘土魔像能以一个自由动作加速自己,此效果持续3轮,此外该能力与同名法术效果相同。

!!! 制造
粘土魔像的身躯必须用一块至少1000磅的粘土塑造而成,粘土需由价值1500gp的稀有油料和粉末混合。塑造身躯需要通过DC15的手艺(雕塑)或DC15的手艺(制陶)检定。

人物等级 11;制造构装体,活化物体,通神术,复生术,施法者等级必须高于11级;交易价格40000gp;制造耗费21500gp+1540XP。



!!Flesh Golem(肉身魔像)

''大型构装生物''

|''生命骰:''9d10+30(79hp)|
|''先攻权:''-1|
|''速度:''30尺(6格)|
|''防御等级:''18(-1体型,-1敏捷,+10天生),接触8,措手不及18|
|''基本攻击/擒抱:''+6/+15|
|''攻击:''挥击+10近战(2d8+5)|
|''全回合攻击:''2挥击+10近战(2d8+5)|
|''面宽/触及:''10尺/10尺|
|''特殊攻击:''狂暴|
|''特性:''构装生物特征,伤害减免5/精金,黑暗视觉60尺,魔法免疫,昏暗视觉|
|''豁免:''强韧+3,反射+2,意志+3|
|''属性:''力量21,敏捷9,体质-,智力-,感知11,魅力1|
|''技能:''—|
|''专长:''—|
|''环境:''任意|
|''组织:''单独,一群(2-4)|
|''挑战等级:''7|
|''宝物:''无|
|''阵营:''通常是中立|
|''进化:''10-18HD(大型);19-27HD(超大型)|
|''等级调整:''—|

肉身魔像看起来像是个食尸鬼一样,它是用窃取来的类人生物肢体缝合而成。没有自然的生物愿意追踪肉身魔像。魔像通常穿这创造者为他们准备的衣物,通常只是条裤子。它不携带物品也没有武器。站立时8尺高,重500磅。

肉身魔虽然能发出些粗哑的嘶叫像不能说话。它们移动时步伐僵硬,看起来好像不能控制自己的身体。

!!! 战斗

''狂暴(特异):''当肉身魔像进入战斗时,它的元素灵魂有可能失去控制陷入狂暴状态这种机率每轮增加1%。失控的肉身魔像将横冲直撞,攻击最接近它的活物。如果周围没有生物则砸毁任何比它小的的物品,然后移动到另一处继续破坏。如果它的创造者在60尺范围内,就可用平稳有说服力的语调和他交谈,试着重新控制他(DC19的魅力检定)。肉身魔像必须休息1分钟才能将狂暴机率恢复到0%。

''魔法免疫(特异):''肉身魔像免疫任何能被魔法抗力抵抗的魔法和类法术能力。此外某些法术将影响他的功能,详细见下。

|造成寒冷和火焰伤害的法术能使肉身魔像缓慢(如同缓慢术)2d6轮,不需要做豁免检定。|
|造成电击伤害的法术可解除这种缓慢状态,原本所造成的伤害没3点将回复1点伤害。这种回复如果超过了它的正常生命,则计为它的额外生命。比如,肉身魔像受到闪电束攻击受到11点伤害则它可以回复3点伤害。肉身魔像对于造成电击伤害的法术不能做豁免检定。|

!!! 制造

拼凑一个肉身魔像需要腐烂不怎么严重的普通人类尸骸。至少需要六个不同的部分——四肢,躯干(包括头)和脑子。某种情况下可能需要更多的肢体部位。还需要准备价值500gp的特殊的药膏和接合材料。注意创造肉身魔像需要施展邪恶描述的法术。

装配身躯需要通过DC13的手艺(制皮)或DC13的医疗检定。

人物等级8;制造构装体,操纵死尸,蛮力术,指使术,有限许愿术,施法者等级必须高于8级;交易价格20000gp;制造耗费10500gp+780XP。



!!Irongolem(铁魔像)

''大型构装生物''

|''生命骰:'' 18d10+30(129hp)|
|''先攻权:'' -1|
|''速度:'' 20尺(4格)|
|''防御等级:'' 30(-1体型,-1敏捷,+22天生),接触8,措手不及30|
|''基本攻击/擒抱:'' +12/+28|
|''攻击:'' 挥击+23近战(2d10+11)|
|''全回合攻击:'' 2挥击+23近战(2d10+11)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 喷吐攻击|
|''特性:'' 构装生物特征,伤害减免15/精金,黑暗视觉60尺,加速,魔法免疫,昏暗视觉|
|''豁免:'' 强韧+6,反射+5,意志+6|
|''属性:'' 力量33,敏捷9,体质-,智力-,感知11,魅力1|
|''技能:'' —|
|''专长:'' —|
|''环境:'' 任意|
|''组织:'' 单独,一群(2-4)|
|''挑战等级:'' 13|
|''宝物:'' 无|
|''阵营:'' 通常是中立|
|''进化:'' 19-24HD(大型);25-54HD(超大型)|
|''等级调整:'' —|

这种魔像有个钢铁打造的人形身躯。就像石魔像(见下),铁魔像能以不同的方式被塑造,但它们经常被刻上某种形式的盔甲。它们的五官比那些石魔像要圆滑很多。铁魔像有时会双手各持一把短剑。铁魔像高12尺重5000磅。铁魔像不能说话也不能发出其他声音,也没有独特的体味。它们行动起来步伐沉重但很顺畅。除非是有结实的地基否则它每踏一步地面都会震动。

!!! 战斗

''喷吐攻击(超自然):''战斗后1轮,铁魔像能以随意动作喷出10尺锥形的毒气,持续1轮,此能力每1d4+1轮可以使用一次;初始伤害1d4体质,后续伤害3d4体质,强韧检定DC19通过则无效。此项豁免DC基于体质。

''魔法免疫(特异):''铁魔像免疫任何能被魔法抗力抵抗的魔法和类法术能力。此外某些法术将影响它的功能,详细见下。

|造成电击伤害的法术能使铁魔像缓慢(如同缓慢术)3轮,不需要做豁免检定。|
|造成火焰伤害的法术可解除这种缓慢状态,原本所造成的伤害没3点将回复1点伤害。这种回复如果超过了他的正常生命,则计为他的额外生命。比如,肉身魔像受到火球术攻击受到18点伤害则它可以回复6点伤害。铁魔像对于造成火焰伤害的法术不能做豁免鉴定。|
|铁魔像正常受到锈蚀攻击的影响,例如锈蚀怪或锈蚀爪。|

!!! 制造

铁魔像的身躯需用5000磅的纯铁塑造,铁需要以至少价值10000gp的特殊药剂和混和物熔炼。塑造身躯需要通过DC20的手艺(制造盔甲)或DC20的手艺(制造武器检定)。

人物等级16;制造构装体,死云术,指使术,有限许愿术,变形万物,施法者等级必须高于16级;交易价格150000gp;制造耗80000gp+5600XP。


!! Stone Golem(石魔像)

|!		|!	石魔像	|!	高等石魔像	|
|!		|!	大型构装生物	|!	超大型构装生物	|
|^	''生命骰:''	|^	14d10+30(107hp)	|^	42d10+40(271hp)	|
|^	''先攻权:''	|^	-1	|^	-2	|
|^	''速度:''	|^	20尺(4格)	|^	20尺(4格)	|
|^	''防御等级:''	|^	26(-1体型,-1敏捷,+18天生),接触8,措手不及26	|^	27(-2体型,-2敏捷,+21天生),接触,6,措手不及27	|
|^	''基本攻击/擒抱:''	|^	+10/+23	|^	+31/+52	|
|^	''攻击:''	|^	挥击+18近战(2d10+9)	|^	挥击+42近战(4d8+13)	|
|^	''全回合攻击:''	|^	2挥击+18近战(2d10+9)	|^	2挥击+42近战(4d8+13)	|
|^	''面宽/触及:''	|^	10尺/10尺	|^	15尺/15尺	|
|^	''特殊攻击:''	|^	缓慢	|^	缓慢	|
|^	''特性:''	|^	构装生物特征,伤害减免10/精金,黑暗视觉60尺,加速,魔法免疫,昏暗视觉	|^	构装生物特征,伤害减免10/精金,黑暗视觉60尺,加速,魔法免疫,昏暗视觉	|
|^	''豁免检定:''	|^	强韧+4,反射+3,意志+4	|^	强韧+14,反射+12,意志+14	|
|^	''属性:''	|^	力量33,敏捷9,体质-,智力-,感知11,魅力1	|^	力量37,敏捷7,体质-,智力-,感知11,魅力1	|
|^	''技能:''	|^	—	|^	—	|
|^	''专长:''	|^	—	|^	—	|
|^	''环境:''	|^	任意	|^	任意	|
|^	''组织:''	|^	单独,一群(2-4)	|^	单独,一群(2-4)	|
|^	''挑战等级:''	|^	11	|^	16	|
|^	''宝物:''	|^	无	|^	无	|
|^	''阵营:''	|^	通常是中立	|^	通常是中立	|
|^	''进化:''	|^	15-21HD(大型);22-42HD(超大型)	|^	—	|
|^	''等级调整:''	|^	—	|^	—	|

石魔像拥有个石造的人形身躯。石魔像有9尺高重2000磅。它的身体按照创造者的意思塑造。比如。他看起来穿这件盔甲,胸甲上篆刻个特殊的符号,或者对于石制的肢体进行些特殊的设计。

!!! 战斗
石魔像是个可怕的对手,孔武有力很难被伤到。

''缓慢(超自然):''每隔2轮,石魔像能以即时动作如同法术般使用缓慢能力。此效果有效范围10尺持续7轮,只要通过DC17的意志检定则无效。此项豁免DC基于体质。

''魔法免疫(特异):''石魔像免疫任何能被魔法抗力抵抗的魔法和类法术能力。此外某些法术将影响它的功能,详细见下。

|化石为泥法术能使铁魔像缓慢(如同缓慢术)2d6轮,不需要做豁免检定。同样的化泥为石可以回复它所丢失的所有生命值。|
|解除石化并不能从实际上改变石魔像的结构但能在下1整轮内使它的伤害减免和魔法免疫失效。|

!!! 制造

石魔像的身躯需要用一整块坚硬的石头打造,例如花岗岩,至少重3000磅。石头必须拥有特殊的质地,价值5000gp以上。雕刻身躯必须通过DC17的手艺(雕刻)或DC17的手艺(石匠)检定。

人物等级14;制造构装体,反魔法力场,指使术,震撼法印,缓慢术,施法者等级必须高于14级;交易价格90000gp;制造耗费50000gp+3400XP。
!!!强大希望(Good Hope)
|惑控系(胁迫)[影响心灵]|
|''等级:''吟游诗人 3|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''每等级一个活物,任意两者之间距离不得超过30英尺|
|''持续时间:''1分钟/每等级|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可(无害)|
|这个法术给受术者持续灌输以强有力的希望。每个受影响的生物在豁免判定,攻击判定,属性检定,技能检定,武器伤害判定上均获得+2士气加值。|
|强大希望反制并解除极度绝望(crushing despair)。|
''善良(Good)亚种:''此亚种通常只适用于居住在善良阵营外位面上的异界生物。绝大多数此亚种生物也具有善良阵营;但如果他们的阵营发生变化,他们仍然维持此亚种不变。在计算依赖于阵营的效果影响时,无论本身阵营如何善良亚种的生物都被视为善良阵营。它也会同样因为它的自身实际阵营而受到影响。善良亚种的生物在对抗伤害减免时,它的天生武器和任何持有的武器都视作具有善良阵营(见上文的伤害减免)。

!!!神莓(Goodberry)
|变化系|
|''等级:''德鲁伊 1|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''2d4颗接触的新鲜浆果|
|''持续时间:''1天/每等级|
|''豁免:''无|
|''法术抗力:''可|
|对一把刚摘下来的新鲜浆果施放神莓可以让其中2d4颗浆果充满魔力。你(以及任何3级或更高等级的德鲁伊)能立刻识别出哪些是受影响的。每颗被转变的浆果可以提供一个中体型生物正常一餐的营养。同时在吃下浆果的同时,还能治疗1点伤害,在任何24小时内只能以这种方式治疗至多8点伤害。|
!!Gorgon(石化牛)

''大型魔法兽''

|''生命骰:''8d10+40(85hp)|
|''先攻权:''+4|
|''速度:''30尺(6格)|
|''防御等级:''20(-1体型,+11天生),接触9,措手不及20|
|''基本攻击/擒抱:''+8/+17|
|''攻击:''抵撞+12近战(1d8+7)|
|''全回合攻击:''抵撞+12近战(1d8+7)|
|''面宽/触及:''10尺/5尺|
|''特殊攻击:''喷吐攻击,践踏1d8+7|
|''特性:''黑暗视觉60尺,昏暗视觉,嗅觉灵敏|
|''豁免:''强韧+11,反射+6,意志+5|
|''属性:''力量21,敏捷10,体质21,智力2,感知12,魅力9|
|''技能:''聆听+9,侦察+8|
|''专长:''警觉,精通先攻,钢铁意志|
|''环境:''温暖的平原|
|''组织:''单独,成双,成群(3-4)或大群(5-13)|
|''挑战等级:''8|
|''宝物:''无|
|''阵营:''通常是中立|
|''进化:''9-15HD(大型);16-24HD(超大型)|
|''等级调整:''—|

成年的石化牛站立时肩高超过6尺,从鼻部到尾部可长达8尺。重约4000磅。

石化牛攻击性极强。它们只要发现入侵者就会马上发动攻击,用蹄子踩,用角顶或者石化他们。安抚这种暴怒的生物完全不可能,更不用说驯化它们了。

!!! 战斗

只要情况允许石化牛会以冲锋作为开场。

''喷吐攻击(超自然):''60尺锥形,每1d4轮可使用一次但每日不能使用超过5次,需通过DC19的强韧检定否则遭永久石化。此项豁免DC基于体质。

''践踏(特异):''反射检定DC19通过则减半伤害。此项豁免DC基于力量。 
!!! 擒抱(GRAPPLE)

!!!!擒抱检定

在擒抱中,你必须不断地和目标进行对抗擒抱检定。擒抱检定就如同近战攻击检定。你在擒抱检定时的攻击加值为:

<<<
''基本攻击加值+力量调整值+特殊体型调整值。''
<<<


''特殊体型调整值:''在擒抱检定时的特殊体型调整值如下:超巨型+16,巨型+12,超大型+8,大型+4,中型+0,小型-4,超小型-8,微型-12,超微型-16。在进行擒抱检定时,以上述调整值取代通常在进行攻击检定时所用的那一套体型调整值。

 

!!!!发动擒抱

想要发动擒抱,你就必须先抓住你的目标并将其定身。要发动擒抱必须先进行一次成功的攻击检定。如果你有能力在一轮中进行多次攻击,那么你也可以多次进行擒抱尝试(基本攻击加值依次递减计算)。

''步骤 1:借机攻击。''你会引发擒抱目标的一次借机攻击。如果这次借机攻击造成了伤害,那么这次擒抱尝试即宣告失败。(某些特定的怪物在进行擒抱尝试的时候不会引发借机攻击,拥有精通擒抱专长的人物也一样不会。)如果这次借机攻击没有命中,或是没有造成伤害,那么继续进行步骤2。

''步骤 2:抓住。''你要进行一次近战接触攻击以抓住目标。如果你没有命中目标,则本次擒抱尝试失败。如果你成功地命中了目标,那么继续进行步骤3。

''步骤 3:定身。''以一个即时动作来进行对抗擒抱检定。

如果你成功了,那么现在你和你的目标就处于擒抱状态,并且你还会对目标造成相当于徒手攻击的伤害。

如果你失败了,那么你就无法展开擒抱。如果目标的体型比你大2级,或是2级以上,你的定身尝试就会自动视为失败。

如果双方平局,那么拥有更高擒抱检定调整值的那一方获胜。如果双方的擒抱检定调整值还是相等,那么就重新进行一次对抗检定投骰来打破这个僵局。

''步骤 4:保持擒抱。''要想在接下来的战斗轮中保持擒抱状态,你就必须移进目标所在的方格。(这种移动视为即时动作,而且不算作你在本轮移动的一部分)

而移动本身,就像平时一样,会使任何一个对你形成威胁的敌人得到一次借机攻击的机会,但不会引发擒抱目标的借机攻击。

如果你无法移进目标所在的位置,你就无法保持住擒抱状态,而且还必须马上放开该目标。如果你还想再度发动擒抱,就必须从步骤1重新开始。

 

!!!!擒抱结果

当你处于擒抱状态时,你攻击他人的能力和保护你自己的能力都会受到限制。

''没有威胁区域:''当你处于擒抱状态时,你无法对身边的任何区域形成威胁。

''没有敏捷加值:''当没有和你擒抱的敌人对你作出攻击时,你的AC会失去敏捷加值(如果你有敏捷加值的话)。(但是在与正在和你擒抱的对手对抗时,你的AC还可以保有敏捷加值。)

''无法移动:''你在擒抱中无法正常移动。不过,你还是可以通过一个对抗擒抱检定来进行擒抱状态下的移动(参阅下文)。

 

!!!!当你处于擒抱状态时

当你处于擒抱状态时(无论是谁先开始擒抱的),可以进行下述的任何一种动作。其中有些动作可以被视为攻击动作(而不是视为标准动作或是移动动作)。如果你的基本攻击加值允许你进行多次攻击,那么你就可以将这些攻击一个个地置换成进行那些动作的机会,但是基本攻击加值还是要依次递减计算。

''启动魔法物品:''你可以启动魔法物品,只要该物品不属于储法型(Spell Completion)或法术触发型物品(Spell Trigger)。你在启动魔法物品的时候,不需要进行擒抱检定。

''攻击对手:''在擒抱状态下,你可以使用徒手、天生武器、或是轻型武器对和你擒抱的对手进行攻击。你的这种攻击会受到-4的减值。

在擒抱时你无法用双武器进行攻击,即使你两只手上的武器都是轻型武器。

''施法:''你可以在擒抱状态下,甚至是在被压制(参阅下文)的状态下尝试施法,前提是:该法术的施法时间不超过一个标准动作,该法术的法术成分中不包含姿势成分,而且你的手中还要已经握有完成该法术所必须的材料或器材成分。任何需要进行精确和细致动作的法术都不可能在擒抱状态或是被压制状态下施展。如果一道法术是你在擒抱状态下可以施展的,那么你在施展时还必须进行一次“专注”检定(DC=20+法术等级),否则就会失去该法术。你在施法时并不需要先通过一次成功的擒抱检定。

''伤害对手:''在擒抱时,你可以对你的对手造成相当于徒手攻击的伤害。以对抗擒抱检定来代替正常的攻击动作。如果你胜出,你就可以对你的对手造成相当于正常徒手攻击的非致命伤害(中等体型的攻击者造成1d3点伤害,小型的攻击者造成1d2点伤害,这些伤害都要再加上力量调整值来计算)。如果你想对擒抱对手造成正常伤害,在进行擒抱检定时就要受到-4减值。

//例外://武僧在做徒手攻击时可以比其他人造成更多伤害,这种伤害是正常伤害。当然,他们也可以选择在擒抱时造成非致命伤害,而他们改变正常伤害为非致命伤害时不必受到通常的-4减值。

''抽出轻型武器:''通过一次成功的擒抱检定,你就可以用一个移动动作抽出一把轻型武器。

''脱离擒抱:''你可以将一次攻击动作置换成一次对抗擒抱检定,对抗成功即可脱离擒抱。如果你愿意的话,也可以用脱逃术检定来代替擒抱检定,但是以这种方式脱离擒抱就需要一个标准动作。如果有不止一个的敌人正在和你进行擒抱,你这一次的擒抱检定结果就必须胜过他们每一个人的擒抱检定结果,才能得以脱身。(如果你的擒抱对手们不想抓住你的话,他们没有必要非抓住你不可。)如果你脱离成功,那么你就可以移动到和你的擒抱对手(或对手们)相邻的任何一个方格里,以此来结束该次“脱离擒抱”动作。

''移动:''通过一次成功的对抗擒抱检定,你就能够以正常速度的一半来进行移动(同时拖着所有和你进行擒抱的对手一起移动)。这需要一个标准动作,而且你这一次的擒抱检定结果必须胜过每一个擒抱对手的擒抱检定结果,才能拖着整个擒抱战团一起移动。

//注意://要拖动被你压制住的擒抱对手时,你的擒抱检定可以得到+4的加值,但前提是除了你们两个外,再没有其他人和你们擒抱在一起。

''取出施法材料:''你可以通过一个整轮动作从你的法术材料包中取出施法材料。这种动作并不需要先通过一次成功的擒抱检定。

''压制(Pin)对手:''通过一次成功的对抗擒抱检定(置换一次攻击动作),你就可以定住对手达一轮之久,使其无法活动。一旦你成功地压制住了对手,你就可以进一步对其作出一些特定的动作(参阅下文)。

''破除他人的压制:''如果你和某个正在压制另一名人物的对手处于擒抱状态,那么你就可以用一次对抗擒抱检定来代替你的一次攻击动作,以尝试破除该对手对那名人物的压制。如果你胜出,你就可以成功破除该对手对那名人物的压制。那名人物依然是处于擒抱状态,但是就不再是处于被压制状态了。

''利用擒抱对手的武器:''如果你的擒抱对手正在持用轻型武器,那么你就可以利用该武器反过来对付他本人。你必须进行一次对抗擒抱检定(置换一次攻击动作)。如果你胜出,就可以使用该武器来进行一次攻击检定,但是会受到-4的减值(作出这次攻击并不需要再额外消耗一个动作)。在擒抱中利用对手的武器并不能使你得到该武器。

 

!!!!当你压制住擒抱对手的时候

你可以尝试通过一次对抗擒抱检定来伤害你的对手、你可以尝试利用对手的武器反过来对付他本人、或者你可以尝试拖动整个擒抱战团(这些在上文均有描述)。如果你愿意的话,你还可以阻止被你压制住的对手说话。

你可以通过一个卸除武器动作来移除或是夺取一件被牢固固定在对方身上的物品,但是在对抗你的卸除尝试时,他的投骰检定可以得到+4的加值(参阅“卸除武器”)。

你可以自愿松开被压制住的对手,这属于一个即时动作。如果你这样做的话,你就不再被视为和你的对手处于擒抱状态了(反之亦然,你的对手也同样不再被视为和你处于擒抱状态)。

当你正在压制对手的时候,你无法抽出或是使用武器(无论是对被压制住的对手,还是对其他任何人物)、无法脱离来自第三方的擒抱、无法取出施法材料、无法再压制其他人、也无法再破除其他人对别人的压制。

 

!!!!当你被擒抱对手压制住的时候

当擒抱对手把你压制住的时候,你就被定住达1轮之久,无法活动(但并不是处于无助状态)。当你被压制的时候,除了正在压制你的对手以外的其他人如果对你作出攻击,你的AC就会受到-4的减值。如果你的对手愿意的话,他也可以让你说不出话来。在你自己的回合里,你可以尝试用一次对抗擒抱检定来代替一次攻击动作,以脱离被压制的状态。如果你愿意的话,也可以用脱逃术检定来代替擒抱检定,但是这种方式需要一个标准动作。如果你胜出,你就可以脱离被压制的状态,但是你依然还是处于擒抱状态。

 

!!!!加入擒抱

如果你的目标正在和其他人进行擒抱,那么你就可以通过一个攻击动作来发动擒抱,如上文所述,但区别是你的目标不会得到对你进行借机攻击的机会,而且你尝试抓住目标时可以自动视为成功。不过你还是必须通过一次成功的对抗擒抱检定才能加入该擒抱战团。

如果有多名人物正处于该擒抱战团中,那么你就必须选择其中的一个来作为你对抗擒抱检定的对手。

!!!!多人擒抱

在同一个擒抱战团中可以包含有多个擒抱者。在一个战斗轮中,最多可以有4名擒抱者同时抱住同一个目标。体型比你小一级或是更小的生物视为占有半个擒抱位,体型比你大一级的生物视为占有2个擒抱位,而体型比你大两级或是更大的生物则视为占有4个擒抱位。

当你和多个对手进行擒抱时,你要选择其中的一个对手来进行对抗擒抱检定。但例外的情况是你想要脱离擒抱的时候;为了成功地脱离这种擒抱战团,你这一次的擒抱检定结果就必须胜过他们每一个人的擒抱检定结果。
 

''擒抱(Grappling):''与一个或更多的进攻者从事于短兵相接的角斗。一个擒抱中的人物仅能做一些有限的动作。他没有任何威胁区域,并对于没有和他进行擒抱的对手来说,他失去了在AC上的敏捷加值。

!!!擒拿掌(Grasping Hand)
|塑能系[力场]|
|''等级:''术士/法师 7,力量7|
|''法术成分:''言语,姿势,器材/法器|
|该法术类似护身掌(interposing hand),只是巨手还可以擒抱你选择的一个对手。擒拿掌每轮可以获得一次擒抱攻击。|
|要接触对方时,它的攻击加值为你的施法者等级加你的智力、感知、或魅力加值(分别对应法师、牧师、和术士),再加上巨手力量值(31)带来的+10,再因为是大体型而-1。它的擒抱加值和之前算法相同,只是大体型带来的是+4修正而非-1。巨手可以抓住但不会伤害被擒抱的生物。|
|指引该法术对新的目标是一个移动动作。|
|擒拿掌也可以像飞击掌(forceful hand)一样冲撞对手,但是在力量检定上有+16加值(力量31带来+10,大型+4,冲锋时+2,而它总是可以获得这一项)。也可以像护身掌一样将自己插入到适当的位置。|
|施放这个法术的牧师以他们的神祗来命名此法术。|
|//奥术器材://一只皮手套。|
!!!油腻术(Grease)
|咒法系(创造)|
|''等级:''吟游诗人 1, 术士/法师 1|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标或区域:''一个物品或一个10英尺边长正方形|
|''持续时间:''1轮/每等级(可解消)|
|''豁免:''见正文|
|''法术抗力:''不可|
|油腻术能在固体表面上覆盖一层光滑的油脂。施放法书时任何在此区域的生物都必须做一个成功的反射豁免,否则就会跌倒。只要生物继续留在该区域,那么每轮在你的回合时它都要重复一次这种豁免。走进或穿过油脂区域的生物可以通过一次DC 10的平衡检定来以正常速度的一半行走。失败则意味着在该轮没法移动(同时必须进行一次反射豁免否则就会跌倒),失败5或更多则意味着它跌倒了(详见平衡技能说明)。|
|该法术还可以用在物品上创造出一层油脂表面。没被使用的非魔法物品必然会被此法术影响,但是正被生物持有或使用的物品可以进行一次反射豁免来避开它。如果这个初始反射失败了,那么该生物将立刻掉掉该物品。尝试拣起或使用被油腻的物品需要每轮进行一次豁免。如果穿着被油腻的盔甲或衣服,那么生物在进行脱逃术检定和擒抱检定来抵抗擒抱或从擒抱中脱身时,或脱离压制时,它都能获得+10环境加值。|
|//材料成分://一小块猪皮或牛油。|
!!! 大顺势斩(GREAT CLEAVE)[一般专长]

''先决条件:''力量13、顺势斩、猛力攻击、基本攻击加值+4。

''效果:''同顺势斩,但每轮可以使用的次数不限。

''特殊:''战士可以选择本专长作为其战士奖励专长。
!!! 强韧加强(GREAT FORTITUDE)[一般专长]

''效果:''所有强韧检定获得+2加值。
!!! 高等专攻法术(GREATER SPELL FOCUS)[一般专长]

选择一个你已经拥有专攻法术专长的法术学派。

''效果:''所选择学派的法术的豁免检定DC都获得+1加值。该加值与专攻法术的加值可累加。

''特殊:''你可以多次选择此专长,其效果并不累加。每次你都必须选择不同的已拥有专攻法术的学派。

!!! 高等法术穿透(GREATER SPELL PENETRATION)[一般专长]

''先决条件:''法术穿透。

''效果:''当你施法对抗受术者的法术抗力时,你的施法者等级检定(1d20+施法者等级)可获得+2加值。本加值可与法术穿透的加值累加。
!!! 高等双武器攻击(GREATER TWO-WEAPON FIGHTING)[一般专长]

''先决条件:''敏捷19、精通双武器攻击、双武器攻击、基本攻击加值+11。

''效果:''你可以用你的副手武器作出第三次攻击,但有-10减值。

''特殊:''战士可以选择本专长作为其战士奖励专长。

选择了双武器战斗流派的11级巡林客视为具有本专长,即使不满足先决条件,但使用时必须穿着轻型盔甲或未着盔甲。

!!! 高等专攻武器(GREATER WEAPON FOCUS)[一般专长]

选择一种你已经拥有专攻武器专长的武器,包括选择徒手攻击或擒抱。

''先决条件:''擅长所选择的武器、对所选择的武器具有专攻武器专长、战士等级8级。

''效果:''在使用所选择的武器时你作的攻击检定具有+1加值。该加值与攻击检定的其他加值可以累加,包括因专攻武器而获得的加值(见下文)。

''特殊:''你可以多次选择此专长,其效果并不累加。每次你都必须选择不同种类的武器。

对某武器而言,战士一定要在拥有高等专攻武器后,才可以选择高等专精武器。

战士可以选择本专长作为其战士奖励专长。
!!! 高等专精武器(GREATER WEAPON SPECIALIZATION)[一般专长]

选择一种你已经拥有专精武器专长的武器,包括选择徒手攻击或擒抱。

''先决条件:''擅长所选择的武器、对所选择的武器具有高等专攻武器、专攻武器和专精武器专长、战士等级12级。

''效果:''在使用所选择的武器时你作的伤害检定具有+2加值。该加值与伤害检定的其他加值可以累加,包括因专精武器而获得的加值(见下文)。

''特殊:''你可以多次选择此专长,其效果并不累加。每次你都必须选择不同种类的武器。

战士可以选择本专长作为其战士奖励专长。

!!Greyrender(灰袋兽)

''大型魔法兽''

|''生命骰:'' 10d10+70(125hp)|
|''先攻权:'' +0|
|''速度:'' 30尺(6格)|
|''防御等级:'' 19(-1体型,+10天然),接触9,措手不及19|
|''基本攻击/擒抱:'' +10/+20|
|''攻击:'' 啮咬+15近身(2d6+6)|
|''全回合攻击:'' 啮咬+15近身(2d6+6)2爪抓+10近身(1d6+3)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 精通攫抓,撕扯2d6+9|
|''特性:'' 黑暗视觉60尺,昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+14,反射+7,意志+4|
|''属性:'' 力量23,敏捷10,体质24,智力3,感知12,魅力8|
|''技能:'' 躲藏+2,侦察+10,生存+3|
|''专长:'' 顺势斩,猛力攻击,精通冲撞,追踪|
|''环境:'' 温带沼泽|
|''组织:'' 单独|
|''挑战等级:'' 8|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 11-15HD(大型);16-30HD(超大型)|
|''等级调整:'' +5(同伴)|

即使它驼着背,灰袋兽仍有9尺高,约4尺宽。它们体重约为4000磅。

从未有人发现过成队行动的灰袋兽。这种无性生殖的生物每只会生产1只后代,并将它置于袋中抚养一段时间,在那之后幼兽便必须自立更生。

灰袋兽的一个独特的地方在于它会倾向于和它同一栖息地的一只其它生物(或一群生物)建立一种共生、保护和供给的关系。不论对方是否接受,灰袋兽总会保持一定程度的亲近,照应它并每天提供肉类作为食物。它决不会主动伤害保护对象,在受到它们攻击时反而会尽量避开。

!!! 战斗

灰袋兽一旦展开战斗便会以杀死对手为目的,不管是为了猎食、自卫还是保护它的保护对象。在猎食的时候,它有时候会尝试埋伏起来等待猎物靠近。

''精通攫抓(Ex):''要使用这种能力,灰袋兽必须以啮咬攻击命中对手。它能够以一个即时动作进行擒抱并且不会引发借机攻击。

''撕扯(Ex):''灰袋兽如果在啮咬命中之后的擒抱检定中战胜对手,就可抓住并撕裂对方的身体。这种攻击必然造成2d6+9的伤害。

''技能:''灰袋兽拥有6只锐利的眼睛,因此在侦察检定中拥有+4的种族加值。
!!Grick(穴居攫怪)

''中型异怪''

|''生命骰:'' 2d8(9hp)|
|''先攻权:'' +2|
|''速度:'' 30尺(6格),攀爬20尺|
|''防御等级:'' 16(+2敏捷,+4天生),接触12,措手不及14|
|''基本攻击/擒抱:'' +1/+3|
|''攻击:'' 触手+3近战(1d4+2)|
|''全回合攻击:'' 4触手+3近战(1d4+2);啮咬-2近战(1d3+1)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' -|
|''特性:'' 伤害减免10/魔法,黑暗视觉60尺,灵敏嗅觉|
|''豁免:'' 强韧+0,反射+2,意志+5|
|''属性:'' 力量14,敏捷14,体质11,智力3,感知14,魅力5|
|''技能:'' 攀爬+10,躲藏+3*,聆听+6,侦察+6|
|''专长:'' 警觉,追踪|
|''环境:'' 地底|
|''组织:'' 单独或成群(2-4)|
|''挑战等级:'' 3|
|''宝物:'' 1/10钱币,50%宝物,50%物品|
|''阵营:'' 通常是中立|
|''进化:'' 3-4HD(中型);5-6HD(大型)|
|''等级调整:'' -|

成年穴居攫怪从它触手顶端到其身体末端约8尺长,重约200磅。它的身体是全黑的,下腹部为深灰色。

!!! 战斗

穴居攫怪在觅食或受到威胁时会战斗。它们会在交通频繁的区域中埋伏猎食,利用其天生的保护色在阴影中隐藏行迹。当猎物 (基本上所有会动的生物都算)靠近时,它们会挥动着触手突袭而出。穴居攫怪橡胶般的身体看起来可以弹开大部分攻击。相对其巨大的身躯来说穴居攫怪的口颚小而无力,因此穴居攫怪会将其猎物拖回巢穴里慢慢享用,而非当场处理掉。

在对抗伤害减免时,穴居攫怪的天生武器被视为魔法武器。

当许多穴居攫怪一起猎食时,它们不会互相合作。每只穴居攫怪都会向最靠近自己的猎物攻击,并且一旦有机会将死亡或昏迷的猎物拖走,它们就会立刻脱离战斗。


''技能:''穴居攫怪在进行攀爬检定时可获得+8的种族加值,并且可以在做攀爬检定时总是取10,即使是在很匆忙或受到威胁时也一样。
*穴居攫怪的肤色使其在天然的岩石区域内进行躲藏检定时可获得+8的种族加值。
!!Griffon(狮鹫)

''大型魔法兽''

|''生命骰:'' 7d10+21(59hp)|
|''先攻权:'' +2|
|''速度:'' 30尺(6格),飞行80尺(普通)|
|''防御等级:'' 17(-1体型,+2敏捷,+6天生),接触11,措手不及15|
|''基本攻击/擒抱:'' +7/+15|
|''攻击:'' 啮咬+11近战(2d6+4)|
|''全回合攻击:'' 啮咬+11近战(2d6+4)和2爪抓+8近战(1d4+2)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 猛扑,耙抓1d6+2|
|''特性:'' 黑暗视觉60尺,昏暗视觉,嗅觉灵敏|
|''豁免:'' 强韧+8,反射+7,意志+5|
|''属性:'' 力量18,敏捷15,体质16,智力5,感知13,魅力8|
|''技能:'' 跳跃+8,聆听+6,侦察+10|
|''专长:'' 钢铁意志,多重攻击,专攻武器(啮咬)|
|''环境:'' 温暖的丘陵|
|''组织:'' 单独,成双或成群(5-12)|
|''挑战等级:'' 4|
|''宝物:'' 无|
|''阵营:'' 通常是中立|
|''进化:'' 8-10HD(大型);11-21HD(超大型)|
|''等级调整:'' +3(作为伙伴)|

狮鹫是种结合了狮子和雄鹰特征的强大威严的生物。成年狮鹫从鼻端到尾部有8尺长。无论雄性还是雌性的狮鹫都没有鬃毛。一对明显的金色翅膀自背部伸出,翼展超过25尺。狮鹫重约500磅。

狮鹫不能说但能理解通用语。

!!! 战斗

狮鹫偏好猛扑,俯冲攻击或从上面跃向他们的猎物。

''猛扑(特异)'':狮鹫在俯冲或者冲锋时依然可以在同一轮内进行全回合攻击,包括两次耙抓攻击。

''耙抓(特异):''近战攻击加值+8,伤害1d6+2。

''技能:''狮鹫在跳跃和侦查,聍听技能检定时获得+4种族加值。

!!! 训练狮鹫

尽管很有智慧,狮鹫在作为战斗坐骑前仍需要接受必要的训练。被训练时,训练师必须和巨鹰保持良好的关系(可以通过成功的交涉检定达成此效果)。训练一个友善的狮鹫需要六周并通过DC25的驯养动物检定。乘骑狮鹫需要特殊鞍座。狮鹫载着骑手依然可以战斗,但此骑手除非通过乘骑检定否则不能同时战斗。

狮鹫蛋的市场价为3500gp,雏鹰每只7000gp。雇佣一名专业训练师培育或训练巨鹰的价格为1500gp。

''负重:''对于狮鹫而言300磅为轻载,301-600磅为中载,601-900为重载。
!!Grimlock(石盲蛮族)

''中型人形怪物''

|''生命骰:'' 2d8+2(11hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格)|
|''防御等级:'' 15(+1敏捷,+4天生),接触11,措手不及14|
|''基本攻击/擒抱:'' +2/+4|
|''攻击:'' 战斧+4近战(1d8+3/*3)|
|''全回合攻击:'' 战斧+4近战(1d8+3/*3)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' -|
|''特性:'' 盲视40尺,免疫,灵敏嗅觉|
|''豁免:'' 强韧+1,反射+4,意志+2|
|''属性:'' 力量15,敏捷13,体质13,智力10,感知8,魅力6|
|''技能:'' 攀爬+4,躲藏+3*,聆听+5,侦察+3|
|''专长:'' 警觉,追踪|
|''环境:'' 地底|
|''组织:'' 成队(2-4),成群(10-20),或部落(10-60外加每10名成人1等级3-5的指挥官)|
|''挑战等级:'' 1|
|''宝物:'' 标准钱币,标准工艺品(仅限宝石),标准物品|
|''阵营:'' 通常是中立邪恶|
|''进化:'' 视人物职业而定|
|''等级调整:'' +2|

!!! 战斗
石盲蛮族虽然目盲,但是其异常的嗅觉和听觉能使它们锁定附近敌人的位置。因此,它们舍弃远程武器,挥舞着它们的石制战斧冲向战斗。

''盲视 (Ex):''石盲蛮族可以感觉到40尺范围内的所有敌人。在此范围之外的所有目标对它们而言都处于全隐蔽状态。

石盲蛮族易受以声音和嗅觉为基础的攻击,而且巨大的噪音和音波法术 (比如幻音术或沉默术)以及强烈的气味 (比如臭云术或熏香)也会对其造成影响。如果石盲蛮族的嗅觉或听觉失去作用的话,此能力会降低为一般的盲斗 (如同名专长)。如果嗅觉和听觉都失去作用,石盲蛮族则处于目盲状态。

''免疫:''石盲蛮族对凝视攻击,视觉效果,幻术以及其他需要视觉的攻击形式免疫。

''技能:''*石盲蛮族灰暗的肤色有助于它在其栖息地中躲藏,在山脉或地底环境中进行躲藏检定时它可获得+10的种族加值。

!!! 扮演石盲蛮族人物

石盲蛮族人物角色可获得以下种族特性。

*+4力量,+2敏捷,+2体质,-2感知,-4魅力。
*中型体型。
*石盲蛮族的基本陆地速度为30尺。
*种族生命骰:石盲蛮族拥有2个人形怪物等级,这使它拥有2d8的生命骰,+2的基本攻击加值,以及强韧+0,反射+3,意志+3的基本豁免检点加值。
*种族技能:石盲蛮族的人形怪物等级使其拥有 5* (2 + 智力调整值,最少为1)的技能点数。它的本职技能为攀爬,躲藏,聆听和侦察。石盲蛮族在山脉或地底环境中进行躲藏检定时可获得+10的种族加值。
*种族专长:石盲蛮族的人形怪物等级使其拥有1项专长。
*擅长武器:石盲蛮族擅长使用战斧。
*+4天生防御加值。
*特性 (见上):盲视40尺,免疫,灵敏嗅觉。
*天生使用语言:通用语,石盲蛮族语。额外语言:龙语,矮人语,侏儒语,土族遇,地底通用语。
*天赋职业:野蛮人。
*等级调整+2。

!!!铜墙铁壁(Guards and Wards)
|防护系|
|''等级:''术士/法师 6|
|''法术成分:''言语,姿势,材料,器材|
|''施法时间:''30分钟|
|''距离:''处在被守护区域内的所有地方|
|''区域:''至多每等级200平方英尺(可变)|
|''持续时间:''2小时/每等级(可解消)|
|''豁免:''见正文|
|''法术抗力:''见正文|
|这个强力法术主要用于守卫你的堡垒。每两个施法者等级可以守护200平方英尺。被守护的区域最高为20英尺,形状则可以根据你的意愿而定。你可以将法术区域分开来守护一个堡垒的多个楼层;在施法时你必须处在要守护的区域内某处。这个法术会在被守护区域内创造出如下魔法效果。|
|//雾(Fog)://大雾充满所有走廊,5英尺外的所有视觉被遮蔽,包括黑暗视觉。5英尺内的生物具有隐蔽(攻击有20%失手几率)。更远的生物则具有全隐蔽(50%失手几率,攻击者无法用视觉定位目标)。豁免:无。法术抗力:不可。|
|//秘法锁(Arcane Locks)://被守护区域内所有门都被秘法锁(arcane lock)锁住。豁免:无。法术抗力:不可。|
|//蛛网(Webs)://所有楼梯从上到下充满蛛网。这些丝索和蛛网术(web)产生的是一样的,只是只要铜墙铁壁法术还在继续,那么如果这些蛛网被烧掉或被撕离,它们会在10分钟之内重新长出。豁免:反射,通过则无效;见蛛网术说明。法术抗力:不可。|
|//困惑(Confusion)://当需要作出方向上的选择时——例如走廊交叉口或岔道时——一种弱困惑(confusion)类型效果就会产生作用,有50%的可能性会让入侵者相信,他们正走在和他们实际选择方向的相反方向上。这是一种惑控系影响心灵的效果。豁免:无。法术抗力:可。|
|//消失的门(Lost Doors)://每施法者等级可以让一扇门被无声幻影(silent image)所覆盖,这样看起来那里是完整的一堵墙。豁免:意志通过则不相信(如果有交互)。法术抗力:不可。|
|另外,你还可以根据你的选择在以下五种魔法效果中选择一种。|
#在四个走廊里放置舞光术(Dancing lights)。你可以制定一种简单的程序来让光亮反复去做,只要铜墙铁壁法术还在继续即可。豁免:无。法术抗力:不可。|
#在两个地方放置魔嘴(magic mouth)。豁免:无。法术抗力:不可。|
#在两个地方放置臭云术(stinking cloud)。云雾会在你指定的地方出现;如果它们被风吹散,那么它们会在10分钟之内重新出现,只要铜墙铁壁法术还在继续即可。豁免:强韧,通过则无效;见臭云术说明。法术抗力:不可。|
#在一个走廊或一个房间内的造风术(gust of wind)。豁免:强韧,通过则无效。法术抗力:可。|
#一个地方的暗示术(suggestion)。你可以选择一个至多5英尺见方的区域,任何进入或穿过这个区域的生物都会在内心接受到暗示。豁免:意志,通过则无效。法术抗力:可。|
|整个被守护的区域发出强烈的防护系魔法灵光。针对特别效果的解除魔法(dispel magic)一旦成功,只能移除该种效果。成功的法师裂解术(Mage’s disjunction)能摧毁整个铜墙铁壁的效果。|
|//材料成分://焚香,少量硫磺和油,打结的线,以及少量血液。|
|//器材://一根小银棒。|
!!!神导术(Guidance)
|预言系|
|''等级:''牧师 0,德鲁伊 0|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的生物|
|''持续时间:''1分钟或直到散发|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可|
|这个法术通过接触将神之指引灌注给受术者。生物在单次攻击判定、豁免、或技能检定上获得+1表现加值。他必须在进行法术应用的那种判定投掷前决定使用此加值。|
!!!造风术(Gust of Wind)
|塑能系[气]|
|''等级:''德鲁伊 2,术士/法师 2|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''60英尺 ft.|
|''效果:''从你发出直到距离尽头的线形狂风|
|''持续时间:''1轮|
|''豁免:''强韧,通过则无效|
|''法术抗力:''可|
|这个法术创造出一股强烈的空气冲击(时速大约50英里),它从你发出,对它路径上所有生物都造成影响。|
|地面上的超小型或更小的生物会被吹倒,并滚动1d4x10英尺,每10英尺受到1d4点非致命伤害。如果在飞行中,那么超小型或更小的生物会被吹退2d6x10英尺,同时因为撞击受到2d6点非致命伤害。|
|小型生物会被风力吹趴下,如果正在飞行则会被吹退1d6x10英尺。|
|中型生物在风的作用下无法向前移动,如果正在飞行则会被吹退1d6x5英尺。|
|大型或更大的生物可以在造风术效果中正常移动。|
|造风术无法将生物移出法术的距离限制。|
|不论体型大小,处在造风术效果中的任何生物在远程攻击和聆听检定上都会受到-4减值。|
|强风的力量自动吹熄蜡烛、火把,以及类似未受保护的火焰。提灯等被保护的火焰会摇弋不定,有50%的可能会熄灭。|
|除了以上注明的效果,造风术能造成和突如其来的强风一样的结果。它可以造成强烈的飞沙尘,煽起大火,掀翻不结实的雨篷或帘子,弄翻小船,以及将气体或蒸汽吹离到法术范围的边界。|
|造风术可以被魔法恒定术(permanency)所恒定。|
虽然不同的鬼婆拥有独特的外貌与习性,但也有许多共同点,它们都有着干瘪的丑老太婆的外型,佝偻的身躯掩饰了可怕的力量与敏捷的动作。

鬼婆使用巨人语和通用语。

!!! 战斗

鬼婆十分强壮。它们对法术具有天然的抗力,并且会施展自己的魔法。鬼婆常常集结成战团,每个群体通常包含各种鬼婆,这样便可以使用各种类的能力。



!!Annis(妖鬼婆)

''大型人形怪物''


|''生命骰:'' 7d8+14(45hp)|
|''先攻权:'' +1|
|''速度:'' 40尺(8格)|
|''防御等级:'' 20(-1体型,+1敏捷,+10天然),接触10,措手不及19|
|''基本攻击/擒抱:'' +7/+18|
|''攻击:'' 爪抓+13近身(1d6+7)|
|''全回合攻击:'' 2爪抓+13近身(1d6+7),啮咬+8近身(1d6+3)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 精通攫抓,耙抓1d6+7,撕扯2d6+10,类法术能力|
|''特性:'' 伤害减免2/钝击,黑暗视觉60尺,法术抗力19|
|''豁免:'' 强韧+6,反射+6,意志+6|
|''属性:'' 力量25,敏捷12,体质14,智力13,感知13,魅力10|
|''技能:'' 唬骗+8,交涉+2,易容+0(共效+2),躲藏+5,威吓+2,聆听+10,侦察+10|
|''专长:'' 警觉,盲斗,强韧加强|
|''环境:'' 寒冷的沼泽|
|''组织:'' 单独或成群(3个任何种类的鬼婆外加1-8只食人魔和1-4个邪恶巨人)|
|''挑战等级:'' 6|
|''宝物:'' 标准|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 视人物职业而定|
|''等级调整:'' —|


一个妖鬼婆一般会使用变颜术能力变成异常高的人类,中等高度的巨人,或一只食人魔。

一个妖鬼婆站立时有8尺高,重量达325磅。

!!! 战斗

尽管肉体拥有强大的力量,但鬼婆并不喜欢突击,它们会在战斗前尝试分割并困惑敌人。它们喜欢伪装成平民或上流人士,借此在攻击前瓦解受害者的戒心。

''精通攫抓(Ex):''使用这项能力之前,鬼婆必须先用爪抓攻击命中一个体型不大于大型的敌人。随后它便可以一个集市动作尝试擒抱,并且不会引发借机攻击。

''耙抓(Ex):''攻击加值+13近身,伤害1d6+7。妖鬼婆可以用两次爪抓攻击擒抱中的敌人而不受任何减值。

''撕扯(Ex):''如果妖鬼婆的两次爪抓攻击均命中对手,它便可以抓住并撕扯对手的身体。该冬季自动造成额外的2d6+10点伤害。

''类法术能力:''

|//每天3次//——变颜术,云雾术。施法者等级8级。|



!!Green Hag(绿鬼婆)

''中型人形怪物''


|''生命骰:'' 9d8+9(49hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格),游泳30尺|
|''防御等级:'' 22(+1敏捷,+11天然),接触11,措手不及21|
|''基本攻击/擒抱:'' +9/+13|
|''攻击:'' 爪抓+13近身(1d4+4)|
|''全回合攻击:'' 2爪抓+13近身(1d4+4)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 类法术能力,弱化,拟声|
|''特性:'' 黑暗视觉90尺,法术抗力18|
|''豁免:'' 强韧+6,反射+7,意志+7|
|''属性:'' 力量19,敏捷12,体质12,智力13,感知13,魅力14|
|''技能:'' 专注+7,手艺或知识(任意)+7,躲藏+9,聆听+11,侦察+11,游泳+12|
|''专长:'' 警觉,盲斗,战斗施法,强韧加强|
|''环境:'' 温和的沼泽|
|''组织:'' 单独或成群(3个任何种类的鬼婆外加1-8只食人魔和1-4个邪恶巨人)|
|''挑战等级:'' 5|
|''宝物:'' 标准|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 视人物职业而定|
|''等级调整:'' —|

绿鬼婆一般在荒凉的湿地与黑暗的森林中出没。

一个女鬼婆与一名人类女性差不多等高等重。

!!! 战斗

绿鬼婆喜欢在分散敌人注意力之后从躲藏处发动攻击。它们通常在没有月光的夜晚,利用黑暗视觉的优势进攻。

''类法术能力:''施法者等级9级。豁免DC基于魅力。

|随意施展——舞光术,变颜术,幻音术(DC12),隐形术,行动无踪,巧言术,水中呼吸。|

''弱化(Su):''绿鬼婆可凭借特殊的接触攻击弱化对手。对手必须成功通过DC16的强韧检定,失败则承受2d4点力量伤害。豁免DC基于魅力。

''拟声(Ex):''绿鬼婆几乎能模仿任何在其巢穴附近出现的动物的声音。

''技能:''绿鬼婆在进行特殊动作或躲避危险时在游泳检定上获得+8种族加值。它们可以一直在游泳检定上取10,即使在心烦意乱或受到威胁的时候。如果游泳路线为直线,它们可以在游泳时奔跑。


!!Sea Hag(海鬼婆)

''中型人形怪物(水生亚种)''


|''生命骰:'' 3d8+6(19hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格),游泳40尺|
|''防御等级:'' 14(+1敏捷,+3天然),接触11,措手不及13|
|''基本攻击/擒抱:'' +3/+7|
|''攻击:'' 爪抓+7近身(1d4+4)|
|''全回合攻击:'' 2爪抓+7近身(1d4+4)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 骇人外貌,邪恶之眼|
|''特性:'' 两栖,法术抗力14|
|''豁免:'' 强韧+2,反射+4,意志+4|
|''属性:'' 力量19,敏捷12,体质12,智力10,感知13,魅力14|
|''技能:'' 手艺或知识(任意)+3,躲藏+4,聆听+6,侦察+6,游泳+12|
|''专长:'' 警觉,强韧|
|''环境:'' 温和的水域|
|''组织:'' 单独或成群(3个任何种类的鬼婆外加1-8只食人魔和1-4个邪恶巨人)|
|''挑战等级:'' 4|
|''宝物:'' 标准|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 视人物职业而定|
|''等级调整:'' —|


海鬼婆通常在水中或簇叶从生的湖泊里出没。

一个女鬼婆与一名人类女性差不多等高等重。

!!! 战斗

海鬼婆并不狡猾,它们喜欢直接进入战斗。

它们会躲起来直到它们的骇人外貌能影响足够多的敌人为止。

''骇人外貌(Su):''任何人一旦看见海鬼婆令人厌恶的外貌则将进行DC13的强韧检定,如果失败将被弱化,承受2d6点力量伤害。该伤害无法将受害者的力量值降到0以下,但降到0的人将陷入无助状态。成功通过该检定的生物在未来24小时内不再受该鬼婆的骇人外貌的影响。

''邪恶之眼(Su):''每天3次,海鬼婆可以将它的凶暴凝视投射到任何30尺内的单个生物身上。目标必须成功通过DC13的意志检定,失败将眩晕3天,不过移除诅咒或反制邪恶可以让该生物恢复正常状态。此外,已受影响的生物必须成功通过DC13的强韧检定,失败将因惊恐而死。免疫恐惧的生物不受海鬼婆的邪恶之眼影响。豁免DC基于魅力。

''两栖(Ex):''尽管海鬼婆拥有水生亚种,但它们似乎也可在陆上生活。

''技能:''绿鬼婆在进行特殊动作或躲避危险时在游泳检定上获得+8种族加值。它们可以一直在游泳检定上取10,即使在心烦意乱或受到威胁的时候。如果游泳路线为直线,它们可以在游泳时奔跑。

!! 鬼婆战团

三种鬼婆常常集结成一个战团。这种邪恶的三位一体包括各个种类的鬼婆,但也并不一定。

!!! 战斗

鬼婆战团依靠诡计和在战斗中爆发出的魔法力量取胜。

80%的鬼婆战团有1d8的食人魔和1d4的邪恶巨人担任护卫。它们通常被用迷罩术掩饰成威胁较少的外型,并被作为间谍派出。这些跟班(60%)携带一种被称为“鬼婆之眼”(见下文)的魔法石。

''类法术能力:''施法者等级9级。豁免DC基于16的魅力。

|每天3次——操纵死尸,降咒(DC17),操控天气,托梦法,魔力监牢,心灵屏障,海市蜃楼(DC18),变形他人,迷罩(DC19),灵视。|

为使用以上能力(均为整轮动作),三只鬼婆彼此间隔必须在10尺以内。

每月一次,没有鬼婆之眼的战团可以用一颗至少价值20gp的宝石制造鬼婆之眼(见下文)。

!!! 鬼婆之眼

鬼婆之眼是由鬼婆战团制造的魔法宝石。它看起来不过是个次等宝石,但用真知宝石或类似效果会发现它是一个无实体的眼睛。鬼婆之眼通常以戒指、胸针或其它装饰品的形式佩戴。任何创造了这枚鬼婆之眼的三只鬼婆之一都可以通过它视物,只要它与鬼婆处于同一位面。一枚鬼婆之眼拥有5点硬度和10点生命值。摧毁它将给战团里的每名成员造成1d10点伤害,而受伤最重的鬼婆将目盲24小时。
!! Half-Celestial(半天界生物)


不论其形态,半天界生物看起来总是令人赏心悦目,它们有金色的皮肤,闪亮的眼睛,天使般的翅膀,或其他能显示它们高贵血统的标志。

!!! 创造半天界生物
“半天界”是一个遗传性的模板,它可以加在任何活着的智力值至少为4且非邪恶阵营的实体生物上 (此后统称基础生物)。

除非特别注明,半天界生物使用其基础生物的所有数据和特殊能力。

''体型和种类:''该生物种类变为异界生物。不要重新计算该生物的生命骰,基本攻击加值和豁免。体型不会发生改变。半天界生物通常是天生的异界生物。

''速度:''半天界生物拥有羽翼,并且能以其基础生物基本陆地速度的两倍速度飞行 (机动力良好)。如果基础生物拥有飞行速度,则使用原有的飞行速度。

''防御等级:''天生防御提升+1 (这可以和基础生物拥有的任何天生防御加值叠加)。

''特殊攻击:''半天界生物拥有其基础生物的所有特殊攻击,并且可获得以下特殊能力。

''昼明术 (Su):''半天界生物可以随意施展昼明术效果 (如同名法术)。

''破邪斩 (Su):''每天一次,半天界生物在对抗邪恶阵营的对手时,可以在它的普通近战攻击同时制造等同于它生命骰的额外伤害 (最多+20) 。

''类法术能力:''半天界生物的智力或感知属性值达到8或以上可以获得2种或更多的类法术能力,如下表所视由其生命骰而定。这些能力是可以累加的。除非另有注明,每种能力每天只能使用一次。施法等级等于生物的生命骰,该豁免检定DC基于魅力调整值。

|!生命骰|! 能力|
|1-2 |  防护邪恶 (每天3次),祝福术|
|3-4 |  援助术,侦测邪恶|
|5-6 |  治疗重伤,中和毒性|
|7-8 |  圣光击,移除疾病|
|9-10 |  反制邪恶|
|11-12 |  圣言|
|13-14 |  圣洁灵光 (每天3次),圣居|
|15-16 |  群体魅惑怪物|
|17-18 |  九级怪物召唤术 (仅限天界生物)|
|19-20 |  复生术|

''特性:''半天界生物拥有其基础生物的所有特性,以及以下特性。

*黑暗视觉60尺。
*对疾病免疫。
*对酸,毒素及电抗力10。
*伤害减免:5/ 魔法 (生命骰小于或等于11),或10/ 魔法 (生命骰大于或等于12)。
*对抗伤害减免时,半天界生物的天生武器被视为魔法武器。
*法术抗力等于生物的生命骰 + 10 (最多35)。
*进行对抗毒素的强韧豁免检定时可获得+4的种族加值。

''属性:''依下列各项在基础生物属性之上增加:力量+4,敏捷+2,体质+4,智力+2,感知+4,魅力+4。

''技能:''半天界生物如异界生物一样获得技能点数,并且拥有等于 (8 + 智力调整值) * (生命骰 + 3)的技能点数。不要将其通过职业等级所获得的生命骰包括在此计算中 -- 半天界生物只通过其种族生命骰获取异界生物技能点数,并且能通过其职业等级获得普通技能点数。视其基本生物数据中的技能为本职技能,其他的技能为跨职技能。

''挑战等级:''生命骰等于或小于5,等于基础生物的挑战等级+1;生命骰为6-10,等于基础生物的挑战等级+2;生命骰大于或等于11,等于基础生物的挑战等级+3。


''阵营:''总是善良 (任意善良阵营)。

''等级调整:''等于基础生物的等级调整+4。 

!! Half-Dragon(半龙)


半龙生物总是比其没有龙类血脉的同族更加强壮,而且外观上也有很大差异 -- 鳞片,瘦长的体形,爬虫类的眼睛,夸张的牙齿和爪子。有时候它们会长有翅膀。

!!! 创造半龙
“半龙”是一个遗传性的模板,它可以加在任何活着的实体生物上 (此后统称基础生物)。

除非特别注明,半龙使用其基础生物的所有数据和特殊能力。

''体型和种类:''该生物种类变为龙类生物。体型不会发生改变。不要重新计算该生物的基本攻击加值和豁免。

''生命骰:''基础生物的种族生命骰提升一级,最大为d12。不要提升职业生命骰。

''速度:''体型为大型或更大的半龙拥有翅膀并能飞行,并且能以其基础生物基本陆地速度的两倍速度飞行 (最快为120尺),机动力为普通。体型为中型或更小的半龙没有翅膀。

''防御等级:''天生防御提升+4。

''攻击:''半龙拥有两次爪抓攻击和一次啮咬攻击,并且爪抓被视为主要天生武器。如果其基础生物可以使用武器,那么半龙也可以。没有武器的半龙在攻击时使用爪抓攻击。当它有武器时,它通常会选择使用武器。

''全回合攻击:''没有武器的半龙进行全回合攻击时会使用其两次爪抓攻击及一次啮咬攻击。如果它装备有武器,它通常使用武器作为其主要攻击,并使用其啮咬攻击作为天生次要攻击。如果它有一只手空闲的话,它可以使用一次爪抓攻击作为额外的天生次要攻击。

''伤害:''半龙拥有爪抓和啮咬攻击。如果其基础生物本身没有这些攻击方式的话,则使用下表提供的伤害值。否则的话,使用下表中的数据或其基础生物的伤害值中的较高者。

|!体型|!啮咬伤害|!爪抓伤害|
|超微型|1|-|
|微型|1d2|1|
|超小型|1d3|1d2|
|小型|1d4|1d3|
|中型|1d6|1d4|
|大型|1d8|1d6|
|超大型|2d6|1d8|
|巨型|3d6|2d6|
|超巨型|4d6|3d6|


''特殊攻击:''半龙拥有其基础生物的所有特殊攻击,并且视其龙的种类可获得一种喷吐武器 (见下表),每天可使用一次。半龙的喷吐武器能造成6d8点伤害。一次成功的反射豁免检定 (DC 10 + 1/2半龙的种族生命骰 + 半龙的体质调整值)可使伤害减半。

|!龙的种类|!喷吐武器 |
|黑龙|60尺线形酸|
|蓝龙|60尺线形电|
|绿龙|30尺锥形腐蚀性 (酸)气体|
|红龙|30尺锥形火焰|
|白龙|30尺锥形寒冷|
|黄铜龙|60尺线形火焰|
|青铜龙|60尺线形电|
|赤铜龙|60尺线形酸|
|金龙|30尺锥形火焰|
|银龙|30尺锥形寒冷|


''特性:''半龙拥有其基础生物的所有特性,外加黑暗视觉60尺以及昏暗视觉。半龙对睡眠及麻痹效果免疫,并且视其龙的种类可获得一项额外的免疫。

|!龙的种类|!免疫|!龙的种类|!免疫|
|黑龙|酸|黄铜龙|火焰|
|蓝龙|电|青铜龙|电|
|绿龙|酸|赤铜龙|酸|
|红龙|火焰|金龙|火焰|
|白龙|寒冷|银龙|寒冷|


''属性:''依下列各项在基础生物属性之上增加:力量+8,体质+2,智力+2,魅力+2。

''技能:''半龙如龙类生物一样获得技能点数,并且拥有等于 (6 + 智力调整值) * (生命骰 + 3)的技能点数。不要将其通过职业等级所获得的生命骰包括在此计算中 -- 半龙只通过其种族生命骰获取龙类生物技能点数,并且能通过其职业等级获得普通技能点数。视其基本生物数据中的技能为本职技能,其他的技能为跨职技能。

''区域:''与其基础生物或其龙的种类相同。

''挑战等级:''等级其基础生物的挑战等级+2 (最少为3)。

''阵营:''与其龙的种类相同。

''等级调整:''等于基础生物的等级调整+3。
!! Half-Fiend(半炼狱生物)


不论其形态,半炼狱生物总是不堪入目,它们有黑色的鳞片,犄角,闪烁着红光的眼睛,蝙蝠一样的翅膀,恶臭的体味,或者其他能显示它们受到邪恶污染的特征。

!!! 创造半炼狱生物
“半炼狱”是一个遗传性的模板,它可以加在任何活着的智力值至少为4且非善良阵营的实体生物上 (此后统称基础生物)。

除非特别注明,半炼狱生物使用其基础生物的所有数据和特殊能力。

''体型和种类:''该生物种类变为异界生物。不要重新计算该生物的生命骰,基本攻击加值和豁免。体型不会发生改变。半炼狱生物通常是天生的异界生物。

''速度:''半炼狱生物拥有蝠翼。除非其基础生物有更好的飞行速度,半炼狱生物能以等同于其基础生物基本陆地速度的速度飞行 (机动力普通)。

''防御等级:''天生防御提升+1 (这可以和基础生物拥有的任何天生防御加值叠加)。

''攻击:''半炼狱生物拥有两次爪抓攻击和一次啮咬攻击,并且爪抓被视为主要天生武器。如果其基础生物可以使用武器,那么半炼狱生物也可以。没有武器的半炼狱生物在攻击时使用爪抓攻击。当它有武器时,它通常会选择使用武器。

''全回合攻击:''没有武器的半炼狱生物进行全回合攻击时会使用其两次爪抓攻击及一次啮咬攻击。如果它装备有武器,它通常使用武器作为其主要攻击,并使用其啮咬攻击作为天生次要攻击。如果它有一只手空闲的话,它可以使用一次爪抓攻击作为额外的天生次要攻击。

''伤害:''半炼狱生物拥有爪抓和啮咬攻击。如果其基础生物本身没有这些攻击方式的话,则使用下表提供的伤害值。否则的话,使用下表中的数据或其基础生物的伤害值中的较高者。

|!体型|!啮咬伤害|!爪抓伤害|
|超微型|1|-|
|微型|1d2|1|
|超小型|1d3|1d2|
|小型|1d4|1d3|
|中型|1d6|1d4|
|大型|1d8|1d6|
|超大型|2d6|1d8|
|巨型|3d6|2d6|
|超巨型|4d6|3d6|


''特殊攻击:''半炼狱生物拥有其基础生物的所有特殊攻击,并且可获得以下特殊能力。

''破善斩 (Su):''每天一次,半炼狱生物在对抗善良阵营的对手时,可以在它的普通近战攻击同时制造等同于它生命骰的额外伤害 (最多+20) 。

''类法术能力:''半炼狱生物的智力或感知属性值达到8或以上可以获得2种或更多的类法术能力,如下表所视由其生命骰而定。这些能力是可以累加的。除非另有注明,每种能力每天只能使用一次。施法等级等于生物的生命骰,该豁免检定DC基于魅力调整值。

|!生命骰|!能力 |
|1-2|黑暗术 (每天3次)|
|3-4|亵渎术|
|5-6|邪影击|
|7-8|毒击术 (每天3次)|
|9-10|疫病术|
|11-12|渎神之语|
|13-14|邪恶灵光 (每天3次),邪居|
|15-16|凋死术|
|17-18|九级怪物召唤术 (仅限炼狱生物)|
|19-20|灰飞湮灭|


''特性:''半炼狱生物拥有其基础生物的所有特性,以及以下特性。

*黑暗视觉60尺。
*对毒素免疫。
*对酸,寒冷,电及火焰抗力10。
*伤害减免:5/ 魔法 (生命骰小于或等于11),或10/ 魔法 (生命骰大于或等于12)。
*对抗伤害减免时,半天界生物的天生武器被视为魔法武器。
*法术抗力等于生物的生命骰 + 10 (最多35)。

''属性:''依下列各项在基础生物属性之上增加:力量+4,敏捷+4,体质+2,智力+4,魅力+2。

''技能:''半炼狱生物如异界生物一样获得技能点数,并且拥有等于 (8 + 智力调整值) * (生命骰 + 3)的技能点数。不要将其通过职业等级所获得的生命骰包括在此计算中 -- 半炼狱生物只通过其种族生命骰获取异界生物技能点数,并且能通过其职业等级获得普通技能点数。视其基本生物数据中的技能为本职技能,其他的技能为跨职技能。

''挑战等级:''生命骰等于或小于4,等于基础生物的挑战等级+1;生命骰为5-10,等于基础生物的挑战等级+2;生命骰大于或等于11,等于基础生物的挑战等级+3。

''阵营:''总是邪恶 (任意邪恶阵营)。

''等级调整:''+4。 
!! Halfling(半身人)

''半身人,1级武者''

''小型类人生物(半身人)''

|''生命骰:'' 1d8+1(5hp)|
|''先攻权:'' +1|
|''速度:'' 20尺(4格)|
|''防御等级:'' 16(+1体型,+1敏捷,+3镶嵌皮甲,+1轻盾),接触12,措手不及15|
|''基本攻击/擒抱:'' +1/-3|
|''攻击:'' 长剑+3近身(1d6/19-20)或轻十字弓+3远程(1d6/19-20)|
|''全回合攻击:'' 长剑+3近身(1d6/19-20)或轻十字弓+3远程(1d6/19-20)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 半身人特性|
|''特性:'' 半身人特性|
|''豁免:'' 强韧+4,反射+2,意志+0|
|''属性:'' 力量11,敏捷13,体质12,智力10,感知9,魅力8|
|''技能:'' 攀爬+2,躲藏+4,跳跃-4,聆听+3,潜行+1|
|''专长:'' 武器专攻(长剑)|
|''环境:'' 温暖的平原(地底半身人:温暖的丘陵)(高半身人:温和的森林)|
|''组织:'' 成队(2-4个)或成群(11-20外加1名等级3-6的首领及2名等级3的副官)或一大群(30-50,每20名成人再加1名等级3的军士,此外还有5名等级5的副官,3名7级的指挥官,6-10只狗,以及2-5只骑乘狗)|
|''挑战等级:'' 1/2|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 按人物职业进化|
|''等级调整:'' +0|

半身人站立时通常大约3尺高,重量在30至35磅间。他们的眼睛为棕色或黑色。半身人男性通常有很长的鬓角,但络腮胡很少见。半身人喜爱简单舒适而实用的衣着,他们喜欢以实际舒适的衣物展示财富,这点与其他种族不同。半身人在20岁出头成年,在50岁左右步入中年。半身人使用半身人语和通用语。

在半身人家乡之外遇到的半身人大都是武者;资料中所列的数值是以1级人物为基准的。

!!! 战斗

半身人偏重于防御式战斗,他们通常会躲起来并在敌人接近时发动远程攻击。他们的战术与精灵十分相似,但他们更强调掩蔽和隐蔽,不太注重机动性。

半身人特性(Ex):半身人拥有下列种族特性。

*+2敏捷,-2力量。
*小型体型:防护等级获得+1体型加值,攻击检定获得+1体型加值,躲藏检定获得+4体型加值,擒抱检定获得-4减值,举重和负重限度是中体型人物的3/4。
*半身人的基本陆地速度为20英尺。
*攀爬,跳跃和潜行技能检定有+2种族加值。
*所有豁免判定都有+1的种族加值。
*对恐惧的豁免判定有+2的士气加值,此加值和半身人的豁免判定+1种族加值累加。
*使用投掷类武器和投石器的命中检定有+1种族加值。
*聆听技能检定有+2种族加值。
*天生使用语言:通用语和半身人语。奖励语言:矮人语,精灵语,侏儒语,地精语和兽人语。
*天赋职业:游荡者。

以上资料所列的半身人武者在使用种族调整之前的能力是:力量13,敏捷11,体质12,智力10,感知9,魅力8。

!! 亚种

以上的信息适用于轻足半身人,半身人中最常见的一种。半身人还有两种主要的亚种,它们与轻足半身人的不同点如下所述。

!!! 高半身人

高半身人算是半身人中的异类。高半身人有4尺高,体重在30到35磅间。他们除了使用通用语和半身人语以外还说精灵语。

高半身人特性(Ex):除非特别注明,这些特性是对轻足半身人特性的增加。

*搜索、侦察和聆听检定获得+2种族加值。如同精灵,高半身人只要经过隐蔽的门或密门5英尺内,就会自动进行搜索检定,如同他们主动查看一样。这项特性取代轻足半身人在聆听检定上的+2加值。
*高半身人在运动性上次于轻足半身人,他们在攀爬、跳跃和潜行技能检定上没有加值。

!!! 地底半身人

他们要比普通的轻足半身人更加矮壮。

地底半身人大约2.5尺高,体重在30到35磅间。地底半身人能流利的使用矮人语。

地底半身人特性(Ex):除非特别注明,这些特性是对轻足半身人特性的增加。

*60尺黑暗视觉。
*熟悉岩石:如同矮人,地底半身人在对不寻常的石造物进行搜索检定时,有+2种族加值。还有一些不是由岩石制成却伪装成石造物的东西也算特殊的石造物。只要进入特殊石造物10英尺内,地底半身人就能进行搜索技能检定,如同他主动做了搜索检定一样。地底半身人也可以像游荡者一样用搜索来找到石制陷阱。在地底时候,地底半身人能感觉到他目前位置的大致深度,这如同人类的方向位置感觉。
*对岩石或金属相关物品估价检定时,有+2种族加值。
*地底半身人在运动性上次于轻足半身人,他们在攀爬、跳跃和潜行技能检定上没有加值。
!!!圣居(Hallow)
|塑能系 [善良]|
|''等级:''牧师 5,德鲁伊 5|
|''法术成分:''言语,姿势,材料,法器|
|''施法时间:''24小时|
|''距离:''接触|
|''区域:''以接触点为圆心,半径40英尺的弥漫范围|
|''持续时间:''立即|
|''豁免:''见下文|
|''法术抗力:''见下文|
|圣居 可以让一个地点,建筑或者居所物成为神圣之地。这会带来四大效果。|
|第一,     此地被反邪恶法阵(magic circle against evil)所保护。|
|第二,     在此处所有用于驱散亡灵的魅力检定获得+4神圣加值,而命令亡灵的魅力检定有-4减值。法术抗力对此效果无效。(德鲁伊的法术无此效果。)|
|第三,     埋葬在圣居范围内的任何尸体都不会被转变为不死生物。|
|第四,     你能够在圣居中固定一个法术效果。不管该法术正常持续时间和范围如何,被恒定后都将持续一年,并作用于整个圣居范围内。你可以指定决定该法术是作用于全体生物,或是和你具有相同阵营或信仰的生物,或是忠于另一阵营或信仰的生物。一年后,你所固定的效果消失,但只用在该处再次施展圣居即可更新或重置该效果。|
|可以在圣居内固定的法术包括援助术(aid),绝望术(bane),祝福(bless),惊恐术(cause fear),黑暗术(darkness),昼明术(daylight),防死结界(death ward),深幽黑暗术(deeper darkness),侦测邪恶(detect evil),侦测魔法(detect magic),次元锚(dimensional anchor),识破谎言(discern lies),解除魔法(dispel magic),忍受环境(endure elements),行动自如(freedom of movement),消除隐形(invisibility purge),防护能量伤害(protection from energy),移除恐惧(remove fear),抵抗能量伤害(resist energy),沉默术(silence),巧言术(tongues)与诚实之域(zone of truth)。豁免检定与 法术抗力会对这些效果起作用(详见各法术说明)。|
|一个地点只能同时被一个圣居(及相关的附加效果)作用。圣居能反制但无法解除邪居。|
|//材料成分://草药、香油与熏香,价值至少1,000金币,如果固定法术,还需要加上被固定法术每法术等级1,000金币。|
!!!幻景(Hallucinatory Terrain)
|幻术系(五官幻觉)|
|''等级:''吟游诗人 4,术士/法师4|
|''法术成分:''言语,姿势,材料|
|''施法时间:''10 分钟|
|''距离:''远距(400英尺+40英尺/每等级)|
|''区域:''每等级 30立方英尺(可变)|
|''持续时间:''2小时/级别(可解消)|
|''豁免:''意志,通过则不相信(如果发生互动)|
|''法术抗力:''不可|
|使一片自然地貌看、听、闻起来像是另一种自然地貌。范围内的建筑,装备与生物并不会隐藏起来或是改变外貌。|
|//材料成分:// 一块石头,一枝嫩枝,和一小片绿色植物。|
!!!死灵定身术(Halt Undead)
|死灵系|
|''等级:''术士/法师3|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''至多三个不死生物,彼此距离不超过30英尺|
|''持续时间:''1轮/每等级|
|''豁免:''意志通过无效(见下文)|
|''法术抗力:''可|
|该法术能够让至多三个不死生物无法行动。非智能的不死生物无法作豁免检定;智能的不死生物则可以。如果法术生效,在法术持续时间内不死生物会动弹不得(类似人类定身术(hold person)作用于活物)。当受术者被攻击或受到伤害时,该法术效果被打破。|
|//材料成分://一撮硫磺或者大蒜粉。|
''Hand of Glory(荣耀之手)'': 经过防腐处理的人类手掌,用一条皮绳挂在使用者脖子上(占用空间如同一条魔法项链)。如果“荣耀之手”戴有戒指,则穿戴者可使用戒指功效,如同戴在自己手上一样,该戒指不计入穿戴者两只戒指的数量限制,不过这只手只能戴一只戒指。

即使没有戴戒指,使用者仍可使用“昼明术”和“识破隐形”能力,每天可各使用一次。

施法者等级:9。先决条件:“制造奇物”,“昼明术”、“识破隐形”、“操纵死尸”。交易价格:8000金币。重量:2磅。
''Hand of the Mage(贤者之手)'': 经过防腐处理的精灵手掌,用一条金链子挂在使用者脖子上(占用空间如同一条魔法项链)。穿戴者可以任意使用“法师帮手”

Faint transmutation; CL 2nd; Craft Wondrous Item, mage hand; Price 900 gp;Weight 2 lb.
!! Handle Animal(驯养动物)(魅力;需受训)

''检定:''DC依赖于你正做的事情。

 

|!任务 |!驯养动物DC|
|驾驭动物|10|
|逼迫动物 |25|
|教会动物一个技巧|15 或 20^^1^^|
|为通用工作训练动物|15 或 20^^1^^|
|养育野生动物 |15 + 动物HD|
|//^^1^^ 见之后特定技巧或工作。//|<|
 
|!	通用工作	|!	DC 	|!	通用工作	|!	DC	|
|	战斗骑乘	|	20 	|	捕猎	|	20	|
|	战斗	|	20 	|	表演	|	15	|
|	守护	|	20 	|	骑乘	|	15	|
|	干重活	|	15	|		|		|

//驾驭动物://这项任务包括命令一只动物让它去做它所会的一项工作或技巧。如果动物已经受伤、遭受到非致命伤害、或者受到属性伤害,DC增加2。如果检定成功,动物将会在它下一次动作时做该工作或技巧。

// “逼迫”动物://逼迫动物意思是指让它去做它所不会但是有能力做的一项工作或技巧。这一类还包括让动物强行军(forced march)或者强迫它在睡眠周期中急行(hustle)超过1小时。如果动物已经受伤、遭受到非致命伤害、或者受到属性伤害,DC增加2。如果检定成功,动物将会在它下一次动作时做该工作或技巧。

//教动物一个技巧://通过一周训练和一次对所指DC成功的驯养动物检定,你可以教会动物一项特别的技巧。智力值为1的动物可以学会最多三件技巧,智力值为2的动物可以学会最多六件技巧。可学的技巧(和它们对应DC)包括但不限于以下所列。

*攻击(Attack)(DC20):动物攻击可见敌人。你必须指出你希望动物去攻击的特定生物,如果能做到的话动物会遵从命令。一般来说,动物只攻击类人生物、人形怪物、巨人、或者其他动物。训练动物攻击所有生物(包括非自然生物,例如不死生物和异怪)算作两个技巧。
*来(Come)(DC15):动物会过来,即使它通常不会这么做。
*防御(Defend)(DC20):动物会为你防御(或者在当前没有威胁的情况下准备好为你防御),甚至不用下达任何命令。另外,你可以命令动物为特定他人防御。
* 退让(Down)(DC15):动物会从战斗或类似情况中脱离。不会这个技巧的动物会一直战斗下去,直到必须逃离(受伤、恐惧效果或者其他类似因素)或者打败对手为止。
* 取物(Fetch)(DC15):动物会过去拿一些东西。如果你没有指定特定物品,该动物会随机拿些物品。
* 看守(Guard)(DC20):动物呆在一个地方阻止其他生物接近。
* 跟随(Heel)(DC15):动物会紧紧跟着你,甚至是去那些平时不会去的地方。
* 表演(Perform)(DC15):动物会表演一些简单的把戏,比如坐直,打滚,吼叫或吠叫,诸如此类。
* 搜寻(Seek)(DC15):动物进入一个区域并在周围寻找任何活着的事物。
* 停留(Stay)(DC15):动物呆在某个地点,等候你回来。它不会挑战经过的其他生物,除非它需要防御自己。
* 追踪(Track)(DC20):动物追踪留存的气味。(此技巧要求动物有灵敏嗅觉能力)
* 劳作(Work)(DC15):动物拉推中等或重度负载。

 

//为某种工作训练动物://你可以仅仅为一种通用工作来训练它而不必教会动物一些独立的技巧。在本质上,一项动物的工作表示了一套预先选择好的具有相似目的的技巧,例如守护或干重活。动物必须具备这一套训练中各种技巧的所有前提条件。如果一套训练包含三个以上的技巧,那么动物的智力值必须达到2。

只能为一种通用工作训练一只动物,尽管如果该生物有能力学习额外技巧(之前那些不在它通用工作里的技巧),它就有可以学习。为一个用途训练一只动物比单独训练要少一些检定,但不会节省时间。

*战斗骑乘(Combat Riding)(DC20):被训练为战斗中驮骑手的动物懂得攻击、来、防御、退让、守卫、跟随。为战斗骑乘而训练一只动物需要六个星期。你也将一只训练为骑乘的动物“升级”成战斗骑乘,这需要三个星期和一次成功的DC20训练动物检定。新的通用目的和技巧将完全取代这只动物之前的用途和它所会的任何技巧。战马和骑乘犬已经为战斗中驮骑手训练过,在这个目的上它们也不需要任何额外的训练。
* 战斗(Fighting)(DC20):为战斗而训练的动物懂得攻击,退让,还有停留。为战斗训练一只动物需要三个星期。
* 守护(Guarding)(DC20):为护卫而训练的动物懂得攻击,防御,退让,还有看守。为守护训练一只动物需要四个星期。
* 干重活(Heavy Labor)(DC15):为重活而训练的动物知道来和劳作。为干重活而训练一只动物需要两个星期。
* 捕猎(Hunting)(DC20):为捕猎而训练的动物懂得攻击,退让,取物,跟随,搜寻,以及追踪。为捕猎训练一只动物需要六个星期。
* 表演(Performance)(DC15):为表演而训练的动物懂得来,取物,跟随,表演,以及停留。为表演训练一只动物需要五个星期。
* 骑乘(Riding)(DC15):为骑乘而训练的动物懂得来,跟随,以及停留。为骑乘训练一只动物需要三个星期。

 

//养育野生动物://养育一只动物意味着从野生动物的幼年时期起抚养它长大,因此这只动物会变的驯化。一个训练者至多可以同时养育三只同种生物。

已经被成功驯化的动物可以在它成长期间内教给它技巧,也可以在以后如同一只家养动物一样被教会技巧。

''动作:''可变。驾驭一只动物是一个移动动作,逼迫一只动物则是整轮动作。(德鲁伊或巡林客可以以自由动作驾驭自己的动物伙伴,或者以移动动作逼迫它。)要做之前提到的有特殊时间结构的任务,你必须先在该任务上花费一半所需时间(以每天训练每只动物3个小时的速度),然后做一次驯养动物检定。如果检定失败,你教授、驯养、训练动物的任务失败,你不必继续花费剩下的时间。如果检定成功,你必须花费剩下的时间来完成教授、驯养、训练。如果时间被打断或者任务无法继续完成,那么该尝试自动失败。

''重试:''可以,特别是养育动物。

特别:你可以对智力值为1或2的非动物类生物使用该技能,但是任何一项这类检定DC都会增加5。这类生物学习技巧的限制和动物相同。

德鲁伊或巡林客在对他的动物伙伴使用驯养动物技能时有+4环境加值。

另外,德鲁伊或巡林客的动物伙伴懂得一项或多项额外技巧,这些技巧不计入通常的技巧数量限制,也无需花费驯养时间或驯养动物检定。

如果你有动物亲和(Animal Affinity)专长,你在驯养动物检定上有+2加值。

''共效:''如果你在驯养动物上级数达到5或更高,你在骑术检定和荒野认同检定上获得+2加值。

''未受训:''如果你在驯养动物上没有级数,那么你可以用魅力检定来驾驭或逼迫家养动物,但是你不能教授、驯养、训练动物。如果德鲁伊或巡林客在驯养动物上没有级数,他可以用魅力检定来驾驭或逼迫他的动物伙伴,但是不能教授、驯养、训练其他非家养动物。

''Handy Haversack(霍华的便利袋)'': 看起来像质地不错且保存良好的一般背包,由仔细鞣过的皮革制成,皮带上有黄铜扣环及配件。两侧有口袋,容量约为一夸脱。实际上这两个口袋如同“次元袋”,可以容纳体积至多2立方英尺、重量至多20磅的物品。背包中央可以容纳的体积至多8立方英尺,重量至多80磅。即使装满,背包总重仍只有5磅。

此外,当使用者要拿特定物品时,该物品一定在最上面,所以不须翻找。从背包里面取物属于即时动作。背包本身和内容物的所有豁免检定有+2加值。

施法者等级:5。先决条件:“制造奇物”,“李欧蒙秘藏箱”。交易价格:2000金币。重量:5磅。
!!!重伤术(Harm)
|死灵系|
|''等级:''牧师 6,破坏 6|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:''立即|
|''豁免:''意志,通过减半; 见下文|
|''法术抗力:''可|
|重伤术将负能量充入一个目标,这会造成每施法者等级10点的伤害(最高可达到15级时的150点)。如果该生物成功通过豁免,则重伤术只会造成一半伤害,但此时该法术无法让目标的生命降至比1更少。.|
|当作用于不死生物时,其作用如同医疗术(heal)。|
''Harp of Charming(魅惑竖琴)'': 金色雕满细致图样的竖琴。使用者每弹奏10分钟,且通过“表演”检定(DC=15),就可以施展一次“暗示”法术(意志过则无效,DC=14)。如果“表演”检定掷出1,会激怒听力所及范围内的生物并且24小时内这些生物不再受到影响。

施法者等级:5。先决条件:“制造奇物”,“暗示”。交易价格:7500金币。重量:5磅
!!Harpy(人面鸟妖)

''中型人型怪物''

|''生命骰:''  7d8 (31 hp)|
|''先攻权:''  +2|
|''速度:''  20 英尺. (4 格), 飞行80英尺. (一般)|
|''防御等级:''  13 (+2 敏捷, +1天然防御), 接触 12, 措手不及 11|
|''基本攻击/擒抱:''  +7/+7|
|''攻击:''  棍棒+7近战 (1d6)|
|''全回合攻击:''  棍棒+7/+2近战(1d6) 加上2爪抓+2近战 (1d3)|
|''面宽/触及:''  5英尺/5英尺|
|''特殊攻击:''  迷魂曲|
|''特性:''  黑暗视力60英尺|
|''豁免:''  强韧 +2, 反射 +7, 意志 +6|
|''属性:''  力量10, 敏捷15,体质10,智力7, 感知12, 魅力17|
|''技能:''  唬骗 +11,威吓+7, 聆听+7, 表演(口技) +5, 侦察 +3|
|''专长:''  闪避, 飞越攻击, 劝诱|
|''环境:''  温暖的沼泽地|
|''组织:''  单个,一对或一群(7~12个)|
|''挑战等级:''  4|
|''宝物:''  标准|
|''阵营:''  通常是混乱邪恶|
|''进化:''  视人物等级决定|
|''等级调整:''  +3|

人面鸟妖偏爱以她们充满魔力的歌声诱惑那些不幸的旅行者,然后将他们置于无法形容的折磨中。只有当人面鸟妖厌倦了她的新“玩具”时才会让他们解除这些苦难—也就是把他们杀了吃掉。

!!! 战斗
当人面鸟妖投入战斗时,她偏好使用飞越攻击专长近战武器发动攻击。

''迷魂曲(超自然能力): ''人面鸟妖最可怕的能力就是她们的歌声。当人面鸟妖歌唱时,300英尺范围内的所有生物(除了其他的人面鸟妖)必须通过一个DC16的意志豁免,否则将陷入着迷状态。这是一个音波,影响心灵的魅惑效果。成功通过豁免的生物24小时内不再受同一只人面鸟妖歌声的影响。这一效果的DC以魅力为基础。

一个着迷的生物会径直以最短的路径走向人面鸟妖。如果这一路径通过一个危险的地区(例如穿过火焰,会掉下悬崖或是湖泊)的话,这个生物获得另一次豁免掷骰的机会。着迷的生物除了保护自己外什么都不能做(也就是说,一个着迷的战士无法逃跑也无法攻击,但是也不会受到防御等级惩罚)。距离人面鸟妖5尺内的生物只能站在那里,并且对人面鸟妖的攻击完全无法抵抗。只要人面鸟妖继续歌唱,这一效果就会持续下去,即使在她停止歌唱后依然持续一轮。诗人的破咒曲能力可以让着迷的受害者获得一次豁免掷骰机会。

''技能:''人面鸟妖在唬骗与聆听上有+4种族奖励。
!!!加速术(Haste)
|变化系|
|''等级:''吟游诗人 3,术士/法师3|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+ 5英尺/每2等级)|
|''目标:''彼此相距不超过30英尺的每级别一个生物|
|''持续时间:''1轮/级别|
|''豁免:''强韧,通过则无效(无害)|
|''法术抗力:''可(无害)|
|受术者的移动和动作速度远快于平时。动作的加快会带来以下效果。|
|当作全力攻击时,加速后的生物会获得一次额外的攻击机会,该次攻击可以使用任何正在持用的武器做出。这次攻击使用该生物全部的基本攻击加值,附加任何符合该情况的调整值。(该效果无法与类似能力叠加,例如追击(speed)武器,也不会真的带来额外的动作,因此你也无法利用这效果每轮多行动或施法一次。)|
|加速的生物在攻击上有+1的加值,并且在AC和反射检定上有+1的闪避加值。当你失去你AC的敏捷加值时,你失去该闪避加值。|
|被加速生物的所有移动方式(包括地面移动、掘地、攀爬、飞行、游泳)上速度会增加30英尺,最高达到受术者该移动方式正常速度的两倍。增加的速度是增强加值,同时也会按正常方式影响该生物的跳跃距离。|
|多个加速术无法叠加。加速术会反制或解除缓慢术(slow)。|
|//法术材料://一片甘草的根。|
''Hat of Disguise(易容帽)'': 看似普通的帽子,却可使穿戴者改变外貌,效果如同“变颜术”。帽子可作为易容的一部份,例如变成发簪、缎带、头带、无边帽、布帽、头巾、头盔等。

施法者等级:2。先决条件:“制造奇物”,“变颜术”。交易价格:2000金币。


!!Hawk(猎鹰 )

''超小型动物''

|''生命骰:'' 1d8 (4 hp)|
|''先攻权:'' +3|
|''速度:'' 10尺 (2格),飞行60尺 (普通)|
|''防御等级:'' 17 (+2体型,+3敏捷,+2天生),接触15,措手不及14|
|''基本攻击/擒抱:'' +0/ -10|
|''攻击:'' 爪抓 +5 近战 (1d4-2)|
|''全回合攻击:'' 爪抓 +5 近战 (1d4-2)|
|''面宽/触及:'' 2-1/2尺/ 0尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉|
|''豁免:'' 强韧+2,反射+5,意志+2|
|''属性:'' 力量6,敏捷17,体质10,智力2,感知14,魅力6|
|''技能:'' 聆听+4,侦察+16|
|''专长:'' 警觉,武器娴熟|
|''环境:'' 温带森林|
|''组织:'' 单独或成对|
|''挑战等级:'' 1/ 3|
|''进化:'' -|
|''等级调整:'' -|

这些生物类似于[[鹰|Eagle(鹰 )]],但体型稍小一些:体长1到2尺,翼展6尺或更短。

!!!战斗
猎鹰使用其双爪同时进行攻击。

''技能:''在进行侦察检定时猎鹰可获得+8的种族加值。
!!!医疗坐骑(Heal Mount)
|咒法系(医疗)|
|''等级:''圣武士 3|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的自己的坐骑|
|''持续时间:''立即|
|''豁免:''意志,通过无效(无害)|
|''法术抗力:''可(无害)|
|该法术如同医疗术(heal),但仅仅作用于圣武士的特殊坐骑(通常是战马).|
!!!群体医疗术(Heal, Mass)
|咒法系(医疗)|
|''等级:''牧师 9,医疗 9|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''彼此相距不超过30英尺的一个或多个生物|
|除了上述部分外,该法术类似于医疗术。每个生物可以恢复的生命值上限为250点。|
!! Heal(医疗)(感知)

''检定:''DC和效果依赖于你所尝试的任务。

|!	医疗任务 	|!	DC	|
|^	急救	|^	15	|
|^	长期护理 	|^	15	|
|^	医治铁蒺藜、荆棘丛生(Spike Growth)、或刺石术(Spike Stones)造成的伤口 	|^	15	|
|^	治疗中毒 	|^	毒的豁免DC	|
|^	治疗疾病 	|^	疾病的豁免DC	|



 
//急救://你通常可以用急救来拯救濒死的角色。如果一名角色的生命值为负数并且正在失去生命值(以每轮一点、每小时一点、或者每天一点的速度),你可以让他伤势稳定。稳定后的角色不会恢复生命值,但是会停止失去生命值。

//长期护理://进行长期护理意味着照料一个受伤的人一天或者更久。如果你的医疗检定成功,伤者的生命值或属性值(因属性伤害受损)会以正常速度的两倍恢复:一天内完整休息8小时可以恢复每等级2HP,或者全天休息可以恢复每等级4HP;一天内完整休息8小时可以恢复2点属性值,或者全天休息可以恢复4点属性值。

你一次可以同时照料六名伤者。你需要一些东西和必需品(绷带,药膏,诸如此类),这些东西在有人居住的地方很容易得到。进行长期护理对医者来说是轻微活动。你不能对自己进行长期护理。

//医治铁蒺藜、荆棘丛生(Spike Growth)、或刺石术(Spike Stones)造成的伤口://走在铁蒺藜上而受伤的生物只能以正常速度的一半移动。一次成功的医疗检定可以移除这种移动惩罚。

被荆棘丛生或刺石术所伤的生物必须做一次成功的反射豁免检定,否则速度会降到一半。其他角色可以花十分钟处理受害者的伤口来去除移动惩罚,医疗检定的DC为对应法术的豁免DC。

//治疗中毒://治疗中毒是指治疗一名已经中毒,并且即将遭受更多伤害(或遭受其他类似效果)的中毒者。每次中毒者进行对抗毒素的豁免检定时,你可以做一次医疗检定。中毒者可以使用你的检定结果或自己的豁免检定中较高的数值作为结果。

//治疗疾病://治疗疾病是指治疗一名病人。每次病人进行对抗疾病的豁免检定时,你可以做一次医疗检定。病人可以使用你的检定结果或自己的豁免检定中较高的数值作为结果。

''动作:''进行急救、医治伤口、或治疗中毒是一个标准动作。治疗疾病或医治荆棘丛生(Spike Growth)、刺石术(Spike Stones)造成的伤口需要十分钟。长期护理需要8小时轻微活动。

''重试:''可变。通常来说,你不能在没有确切得知之前的检定已经失败的情况下重试。你可以为进行急救来重试检定,只要对方在之前尝试后仍然活着。

''特别:''具有自救专长(Self-Sufficient)的角色在医疗检定上有+2加值。

医疗包(healer’s kit)可以给医疗检定提供+2环境加值。


!!!医疗术(Heal)
|咒法系(医疗)|
|''等级:''牧师 6,德鲁伊 7,医疗 6|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:''立即|
|''豁免:''意志,通过无效(无害)|
|''法术抗力:''可(无害)|
|''你可以导入正能量来医治疾病和损伤。此法术可瞬间终结目标所受的所有以下不良状态:''属性伤害(ability damage),目盲(blinded),困惑(confused),晕眩(dazed),目眩(dazzled),耳聋(deafened),疾病(diseased),力竭(exhausted),疲乏(fatigued),弱智术(feebleminded),精神错乱(insanity),反胃(nauseated),恶心(sickened),震慑(stunned),以及中毒(poisoned)。同时医疗每施法者等级10点伤害,最高达到15级150点。|
|医疗术无法移除负向能级,也无法回复被永久吸取的等级或被永久吸取的属性值。|
|当作用于不死生物时,其作用如同重伤术(harm)。|
!!! 治疗(HEALING)

在受到伤害后,你可以通过自然治疗或者魔法治疗来恢复生命值,在任何情况下,你都不能让你实际生命值超过你的正常总生命值。

''自然治疗:''通过一整夜的休息(至少睡眠8小时或更多),你可以恢复每角色等级一点生命值。休息期间任何重大的干扰都将使你无法在此夜间恢复。

如果你在床上完全休息一天一夜,你可以恢复两倍于角色等级的生命值。

''魔法治疗:''很多能力和法术可以恢复你的生命值。

''治疗限制:''你永远不能恢复比你失去的更多的生命值。魔法治疗也不会让你实际生命值比你正常总生命值更多。

''治疗属性伤害:''属性伤害是暂时的,就像生命值伤害一样。属性伤害的恢复速度为每休息一晚上(8小时)可以在每项受损属性上恢复1点。全天的完全卧床休息(24小时)可以让你在每项受损属性上恢复2点。
!!!灼热金属(Heat Metal)
|变化系[火]|
|''等级:''德鲁伊 2,太阳 2|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''每两等级选定一个生物身上的装备,装备之间距离不得超过30英尺;或每级别25磅金属,所有金属都要在30英尺圆形范围内|
|''持续时间:''7轮|
|''豁免:''意志,通过无效(物品)|
|''法术抗力:''可(物品)|
|灼热金属使金属变得异常炙热。未被持用的无魔法金属不能做豁免检定。带有魔法的金属可做豁免检定。被携带的物品使用它拥有者的豁免加值,除非物品本身的豁免加值更高。|
|当他的装备变热时,拥有者将受到火伤害。如果受影响的是盔甲,或者是正在被持有、接触、穿着、携带的金属(重量为该生物体重的1/5),那么生物会受到全部伤害。如果生物没有穿着金属盔甲,而且它携带的金属重量比自身体重1/5还要少,那么它将受到最低伤害(1或2点;见表格)。在法术的第一轮,金属开始发热并让接触者不适,但不造成伤害。最后一轮也是如此。在第二轮与倒数第二轮,高温会造成痛苦和伤害。在第三、第四和第五轮,金属将变得炙热,造成更多伤害,就如同下表所示。|

|!	轮	 |!	金属温度	 |
|^	1	 |^	温暖	 |
|^	2	 |^	发烫	 |
|^	3–5	 |^	炙热	 |
|^	6	 |^	发烫	 |
|^	7	 |^	温暖	 |

|任何足以造成伤害的寒冷效果都会一点换一点的抵消这火伤害(反之亦然)。当在水下释放时,灼热金属伤害减半,并会使周围的水沸腾。|
|灼热金属l可以反制或解除冻寒金属(chill metal)。|
!!! 法术升阶(HEIGHTEN SPELL)[超魔专长]

''效果:''搭配本专长时,法术等级比原本等级要高(不可超过9级)。与其他超魔专长不同,法术升阶可以确实提升法术等级。法术效果中所有与法术等级有关的变数(如:豁免检定DC和穿透次级法术无效结界(lesser globe of invulnerability)的能力),都以升阶后的法术等级计算。升阶法术的准备方式视同提升后的法术等级。
!! Hell Hound(地狱犬)

|!		|!	地狱犬(Hell Hound)	|!	奈瑟斯战犬	|
|!		|!	中型异界生物(邪恶,跨位面,火系,守序)	|!	大型异界生物(邪恶,跨位面,火系,守序)	|
|^	''生命骰:''	|^	4d8+4(22hp)	|^	12d8+60(114hp)	|
|^	''先攻权:''	|^	+5	|^	+6	|
|^	''速度:''	|^	40尺(8格)	|^	40尺(8格)	|
|^	''防御等级:''	|^	16(+1敏捷,+5天生),接触11,措手不及15	|^	24(-1体型,+2敏捷,+7天生,+6+2坐骑用链甲衫),接触11,措手不及22	|
|^	''基本攻击/擒抱:''	|^	+4/+5	|^	+12/+24	|
|^	''攻击:''	|^	啮咬+5近战(1d8+1外加1d6火焰)	|^	啮咬+20近战(2d6+12/19-20外加1d8火焰)	|
|^	''全回合攻击:''	|^	啮咬+5近战(1d8+1外加1d6火焰)	|^	啮咬+20近战(2d6+12/19-20外加1d8火焰)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	10尺/10尺	|
|^	''特殊攻击:''	|^	喷吐武器,炽热啮咬	|^	喷吐武器,炽热啮咬	|
|^	''特性:''	|^	黑暗视觉60尺,对火焰免疫,灵敏嗅觉,易受寒冷伤害	|^	黑暗视觉60尺,对火焰免疫,灵敏嗅觉,易受寒冷伤害	|
|^	''豁免检定:''	|^	强韧+5,反射+5,意志+4	|^	强韧+13,反射+10,意志+9	|
|^	''属性:''	|^	力量13,敏捷13,体质13,智力6,感知10,魅力6	|^	力量26,敏捷14,体质20,智力4,感知12,魅力6	|
|^	''技能:''	|^	躲藏+13,跳跃+12,聆听+7,潜行+13,侦察+7,生存+7*	|^	躲藏+17,跳跃+19,聆听+18,潜行+21,侦察+18,生存+8*,翻滚+3	|
|^	''专长:''	|^	精通先攻,飞跑,追踪	|^	警觉,精通重击(啮咬),精通先攻,追踪,专攻武器(啮咬)	|
|^	''环境:''	|^	守序邪恶位面	|^	守序邪恶位面	|
|^	''组织:''	|^	单独,成对,或成群(5-12)	|^	单独,成对,或成群(1-2奈瑟斯战犬及5-12地狱犬)	|
|^	''挑战等级:''	|^	3	|^	9	|
|^	''宝物:''	|^	无	|^	+2坐骑用链甲衫	|
|^	''阵营:''	|^	总是守序邪恶	|^	总是守序邪恶	|
|^	''进化:''	|^	5-8HD(中型);9-12HD(大型)	|^	13-17HD(大型);18-24HD(超大型)	|
|^	''等级调整:''	|^	+3(作为伙伴)	|^	+4(作为伙伴)	|

!!! 战斗
地狱犬是高效的猎人。它们最喜爱的团体战术是安静的包围猎物,然后其中的一到两只利用其炽热的吐息逼使猎物向其它地狱犬的方向移动。如果猎物没有逃跑,那么它们会一拥而上。地狱犬会无休止地追踪逃跑的猎物。

在对抗伤害减免时,地狱犬的天生武器以及它所持有的任何武器,都被视为具有邪恶及守序阵营。

''喷吐武器 (Su):''10尺锥形,每2d4轮一次,2d6点火焰伤害,通过DC 13的反射豁免检定则伤害减半。该豁免检定DC基于体质调整值。

''炽热啮咬 (Su):''地狱犬的啮咬攻击如同炽焰武器一样,每当其啮咬攻击击中对手时,都可以制造额外的1d6点火焰伤害。

''技能:''地狱犬在进行躲藏及潜行检定时可获得+5的种族加值。
*因为其敏锐的嗅觉,所以在通过嗅觉进行追踪时,它们也可获得+8的种族加值。

!!! 奈瑟斯战犬
奈瑟斯战犬是有着驮马体型的煤黑色的獒犬,通常装备着魔鬼般的链甲衫。

除非另有注明,奈瑟斯战犬类似于地狱犬。

''喷吐武器 (Su):''10尺锥形,每2d4轮一次,3d6点火焰伤害,通过DC 21的反射豁免检定则伤害减半。该豁免检定DC基于体质调整值。

''炽热啮咬 (Su):''奈瑟斯战犬的啮咬攻击如同炽焰武器一样,每当其啮咬攻击击中对手时,都可以制造额外的1d8点火焰伤害。 
''Helm of Brilliance(光辉头盔)'': 平常是普通的头盔,使用者戴上并说出指令后,会变回真实样貌并显露能力。“光辉头盔”由闪亮的白银和钢制成,镶有十颗钻石、二十颗红宝石、三十颗火蛋白石及四十颗猫眼石,每一颗都具有魔力。在光线照射下整顶头盔闪闪发亮,向所有方向反射光芒。各宝石的功能如下:

*钻石: 虹光喷射(save DC 20)
*红宝石: 火墙
*火蛋白石: 火球术(10d6, Reflex DC 20 half )
*猫眼石: 昼明

每轮只能使用头盔一次,每颗宝石也只能使用一次。全部宝石都使用过之前,头盔具有下列魔力:
*30英尺内若有不死生物,头盔会发出青色光芒。此光芒对影响区域内不死生物造成每轮1d6点伤害。
*使用者所持武器可成为“炽焰”武器,外加于武器原本已具有的能力(除非它原本已经是“炽焰”武器)。此功能须花费一轮才会生效。
*头盔每一轮可吸收使用者受到的前30点火焰伤害。此功能不能与其他同类保护累加,例如“忍受元素伤害”。

全部宝石都失去魔力后,头盔就失去上述特殊能力,宝石变为粉末。移除任何宝石会马上毁坏它。

如果穿戴者遭魔法火焰所伤(头盔已经吸收30点伤害之后),须进行额外的意志检定(DC=15),如果失败,则剩余的钻石会变成虹光喷射对范围内任意目标施展(包括穿戴者本身),红宝石会变成火墙从穿戴者的地点向任意方向直线延伸,火蛋白石会变成火球以穿戴者为中心爆炸,蛋白石和头盔本身会被破坏。

Strong varied; CL 13th; Craft Wondrous Item, detect undead, fireball, flame blade, light, prismatic spray, protection from energy, wall of fire; Price 125,000 gp;Weight 3 lb.
''Helm of Comprehend Languages and Read Magic(通晓语言及阅读魔法头盔)'': 外观如同一般头盔,穿戴者有可瞭解遇到的语言及文字,可读懂魔法文字(如卷轴)。但瞭解内容不代表能使用法术。穿戴者在尝试用文书解读技能解读不完整的, 古老的, 或者奇异的信息时在该鉴定上有+5环境奖励。

Faint divination; CL 4th; Craft Wondrous Item, comprehend languages, read magic; Price 5,200 gp; Weight 3 lb.
''Helm of Telepathy(心灵感应头盔)'': 穿戴者可以使用“侦测思想”,还能对侦测对象送出心灵讯息(可双向沟通)。传送心灵讯息时,每天可以进行一次“暗示”(效果和法术相同,意志过则无效,DC=14)。

Faint divination and enchantment; CL 5th; Craft Wondrous Item, detect thoughts, suggestion; Price 31,000 gp;Weight 3 lb.
''Helm of Teleportation(传送头盔)'': 穿戴者可以使用“传送术”,每天三次。

CL 9th; Craft Wondrous Item, teleport; Price 73,500 gp;Weight 3 lb.
''Helm of Underwater Action(潜水头盔)'': 穿戴者可以在水中视物。将头盔两侧小格内的镜片推到定位,穿戴者在水中的可视范围较原来大五倍(水草及障碍物仍会挡住视线)。说出指令后,以穿戴者头部为中心的球型空间内便充满空气,使穿戴者可在水中呼吸,再次说出指令即关闭此功能。

Faint transmutation; CL 5th; Craft Wondrous Item, water breathing; Price 57,000 gp;Weight 3 lb.
!!!引导之手(Helping Hand)
|塑能|
|''等级:''牧师 3|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''5英里|
|''效果:''一只幽灵手|
|''持续时间:''1小时/每等级|
|''豁免:''无|
|''法术抗力:''不可|
|你创造一只幽灵手,你可以将它送出用于搜寻五英里内的生物。幽灵手会在目标面前示意,如果对方愿意跟随,还会把它带到你面前。|
|当法术施展时,手会出现在你面前,然后你用外貌特征描述一个生物,特征可以包括:种族,性别与外表,但不包括级别阵营或职业等抽象的特征。描述结束后,这只手会飞驰去寻找符合目标的条件。所花费时间与目标的距离有关。|

|!	距离	 |!	寻找花费的时间	 |
|^	100英尺以下	 |^	1轮	 |
|^	1,000英尺	 |^	1分钟	 |
|^	1 英里	 |^	10 分钟	 |
|^	2 英里	 |^	1小时	 |
|^	3 英里	 |^	2小时	 |
|^	4 英里	 |^	3小时	 |
|^	5 英里	 |^	4小时	 |

|一旦幽灵手找到目标,它会示意请目标跟随他。如果目标跟随,幽灵手指会向你的方向,带领目标走可行的最短路线。幽灵手在目标前面10尺盘旋,并最快可以以每轮240尺的速度移动。当其把目标带到你身边时就会消失。幽灵手并不会强迫目标跟随或是向你的方向前进。如果目标拒绝跟随,手会在法术持续时间内持续示意,然后消失。如果在带领目标时法术失效,手会消失,该生物必须自己找到你。|
|如果五英里范围内有不止一个生物满足该描述,手会去找最近的生物。如果该生物拒绝跟随,手也不会去找下一个。|
|如果四小时的搜索后,手在五英里范围内没有发现符合描述的目标,它会回到你身边摊开手掌(表示一无所获),然后消失。|
|幽灵手没有实体,除了你和目标之外,对于其他人它是隐形的。它无法参加战斗或是完成除了寻找目标和领路以外的其他任务。它不能穿过实体,但可以渗过小裂口和缝隙。它不能到达超过施法点以外5英里的任何地方。|
!!! 无助的防御者(HELPLESS DEFENDERS)

无助的防御者是指那些被捆绑的、睡眠中的、被麻痹的、失去意识的、或者处于其他你认为类似情况下的人。

''正常攻击:''无助的防御者在对抗近战攻击时AC受到-4惩罚,但是在对抗远程攻击时AC不受惩罚。

无助的防御者无法应用任何AC上的敏捷加值。实际上,他的敏捷值视为0,他AC上的敏捷修正视为-5(游荡者可以偷袭他)。

''致命一击(Coup de Grace):''你可以用近战武器以一个全回合动作对无助对手进行致命一击。你也可以用弓或弩进行致命一击,前提是你必须和目标相邻近。

你自动命中并且算作重击。如果目标没有因为这个伤害而死,他必须做一次强韧豁免检定(DC为10+伤害值),没通过就会死。游荡者在对无助对手进行致命一击的时候还可以加上他的偷袭伤害。

做致命一击会引发威胁到你的对手进行借机攻击。

你无法对免疫重击的敌人进行致命一击。你可以对全隐蔽的敌人进行致命一击,但是这需要两个连续的全回合动作(一个是用来“找到”敌人在什么位置,另外一个是用来进行致命一击)。
 

''无助(Helpless):''被麻痹、定身、束缚、睡眠中、昏迷、或其它完全暴露于敌手掌控之中的状态。无助的目标的敏捷当作0(调整值为-5)。对无助的目标进行近身攻击有+4奖励(相当于攻击俯卧中的对手)。远程攻击没有特殊奖励。游荡者可以偷袭无助的目标。

敌人可以用近战武器对无助的目标做一次致命一击(coup de grace),这是一个整轮动作。如果敌人和目标紧邻,那么也可以用弓和弩做致命一击。攻击者自动命中,并认为是重击(游荡者在做出致命一击时还能获得偷袭伤害值)。如果目标从这次攻击中幸存,他必须进行一次成功的强韧豁免检定(DC 10+伤害值)否则死亡。

做致命一击会引发借机攻击。

免疫重击的生物不会受到重击伤害,也不需要进行成功的强韧检定来避免被致命一击杀死。

 
!!!英雄宴(Heroes’ Feast)
|咒法系 [创造]|
|''等级:''吟游诗人 6,牧师 6|
|''法术成分:''言语,姿势,法器|
|''施法时间:''10 分钟|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''为每等级一个生物准备的宴席|
|''持续时间:''1小时再加12小时;见下文|
|''豁免:''无|
|''法术抗力:''不可|
|''你作出一份丰盛的宴席,包括:''豪华桌椅,完善服务,食物和饮料。享用着一顿大餐要花费1小时,所有的效果都在吃完后才能开始起作用。所有与宴者的疾病(diseases)、恶心(sickness)和反胃(nausea)将会痊愈;在接下来12小时内免疫毒素并且百毒不侵12小时;在喝下纯美的佳酿后(作为宴席的一部分)还会获得1d8加每两施法者等级1点(最高+10)的临时生命值。精致的食物会使与宴者在接下来的12小时中在攻击和意志豁免上获得+1士气加值,并对恐惧免疫。|
|如果宴席被打断,则法术中止并失去所有效果。.|
!!!高等英雄气概(Heroism, Greater)
|惑控系(胁迫) [影响心灵]|
|''等级:''吟游诗人 5,术士/法师6|
|''持续时间:''1分钟/每等级|
|此法术如同英雄气概,但生物是在攻击,豁免和技能上获得+4士气加值,同时对恐惧效果免疫,并获得等同于施法者等级的临时生命值(最多20点)。|
!!!英雄气概(Heroism)
|惑控系(胁迫) [影响心灵]|
|''等级:''吟游诗人 2,术士/法师3|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:''10分钟/每等级|
|''豁免:''意志,通过无效(无害)|
|''法术抗力:''可(无害)|
|此法术使单个生物在战斗中拥有无比的勇气与高昂的士气。目标在攻击判定,豁免和技能检定上获得 +2士气加值。|
!!!动物无视术(Hide from Animals)
|防护系|
|''等级:''德鲁伊 1,巡林客 1|
|''法术成分:''姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''每等级1个接触到的生物|
|''持续时间:''10分钟/每等级(可解消)|
|''豁免:''意志,通过无效(无害)|
|''法术抗力:''可|
|动物无法看,听或闻到被保护者。就算是特异能力或是超自然能力的感觉方式,比如盲感、盲视、嗅觉灵敏和震动感知,都无法侦测或是对受术者定位。动物会像受术者完全不在那里一样行动。如果受术者触碰任何动物或是攻击任何生物,即便是通过法术来做这一点,所有受术者的该法术都会结束。|
!!!亡灵无视术(Hide from Undead)
|防护系|
|''等级:''牧师 1|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''每等级1个接触到的生物|
|''持续时间:''10分钟/等级(可解消)|
|''豁免:''意志,通过无效(无害);见下文|
|''法术抗力:''可|
|不死生物无法看,听或闻到受术者。就算是特异能力或是超自然能力的感觉方式,比如盲感、盲视、嗅觉灵敏和震动感知,都无法侦测或是对受术者定位。非智能不死生物自动受影响,并且会像受术者完全不在那里一样行动。智能不死生物可以做一个意志检定,如果失败则无法发现受术者。但是,若有任何迹象让他相信有隐形的家伙存在,他会试着去找到或攻击他们。如果受术者试着驱散或命令不死生物,触碰任何不死生物或是攻击任何生物(即便通过法术),所有受术者的该法术都会结束。|
!! Hide(躲藏)(敏捷;防具检定减值)

''检定:''你的躲藏检定和要和任何可能看见你的人的侦察检定进行对抗。以正常速度一半移动时躲藏检定不受惩罚。如果移动速度比半速快但是比正常速度慢,在躲藏检定上要受到-5惩罚。在攻击、奔跑、或冲锋的时候几乎不可能躲藏(受到-20惩罚)。

比中等体形大或小的生物会因为其体型而在躲藏检定上获得体型加值或减值。超微型(Fine)+16,微型(Diminutive)+12,超小型(Tiny)+8,小型(Small)+4,大型(Large)-4,超大型(Huge)-8,巨型(Gargantuan)-12,超巨型(Colossal)-16。

要进行一次躲藏检定需要掩蔽(cover)或隐蔽(concealment)。通常全掩蔽或全隐蔽情况下不需要做躲藏检定,因为没人能看见你(但不总是如此,见后面特别部分)。

如果有人正看着你,哪怕是无意的,你也不能躲藏,你可以绕过角落或躲在掩蔽物后面来避开他人目光,然后进行躲藏,但是其他人至少知道你去了什么地方。

如果看着你的人被短暂分心了(例如通过唬骗检定,见后),你就可以尝试躲藏。如果当他们从你身上移开注意力时你能找到某种躲藏场所,你可以进行一次躲藏检定。(作为一般性尺度,躲藏场所必须在你周围每躲藏级数1尺的范围内。)但是,这次检定你要受到-10减值,因为你必须移动得很快。

//狙击://如果你已经成功的躲藏在你目标周围至少10尺外,你可以做一次远程攻击,之后立刻再次躲藏。在射击后的躲藏检定上你要受到-20减值才能将自己隐蔽起来。

分散注意力来躲藏:你可以用唬骗技能来帮助你躲藏。当别人正注意着你时,一次成功的唬骗检定可以让你短暂地分散他人注意力从而可以进行躲藏检定。

''动作:''通常不需要。一般来说,你做一次躲藏检定是移动的一部分,因此它并不能分离出单独的动作。但是,在远程射击后立刻躲藏(见之前的狙击)是一个移动动作。

''特别:''如果你是隐形的,在不移动时你的躲藏检定有+40加值,如果你正在移动则加值为+20。

如果你有隐秘专长(Stealthy),你在躲藏检定上有+2加值。

13级的巡林客可以在任何自然地形下躲藏,即使没有掩蔽或隐蔽也可以。17级的巡林客甚至可以在正在被观察的情况下这么做。
!!!狂笑术(Hideous Laughter)
|惑控系(胁迫) [影响心灵]|
|''等级:''吟游诗人 1,术士/法师2|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''1个生物;见下文|
|''持续时间:''一轮/等级|
|''豁免:''意志,通过无效|
|''法术抗力:''可|
|该法术使目标陷入无法控制的大笑之中。目标笑得歇斯底里,扑倒在地。在狂笑中,目标无法作任何动作,但不视作无助。法术结束后,目标可正常行动。|
|智力等于或低于2的生物无法被影响。与施法者生物种类不相同的受术者在豁免检定上有+4加值,因为幽默“翻译”起来可不那么容易。|
|//法术材料://扔向目标的小甜饼和空中挥舞的羽毛。|
''生命骰:''d8。

!!!!先决条件

要具备大祭司的资格,人物必须符合以下全部条件。

''技能:''知识(宗教)15级。

''专长:''任意超魔专长。

''法术:''能够施展7级神术。

!!!!本职技能
大祭司的本职技能如下(括号中为该技能的关键属性):专注(体质),手艺(智力),交涉(魅力),医疗(感知),知识(神秘)(智力),知识(宗教)(智力),专业(感知),辨识法术(智力)。

''升级技能点数:''2+智力调整值。

 

''表:大祭司''

|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!	特殊能力	|
|^	1	|^	+0	|^	+2	|^	+0	|^	+2	|^	特殊能力	|
|^	2	|^	+1	|^	+3	|^	+0	|^	+3	|^	特殊能力	|
|^	3	|^	+1	|^	+3	|^	+1	|^	+3	|^	特殊能力	|
|^	4	|^	+2	|^	+4	|^	+1	|^	+4	|^	特殊能力	|
|^	5	|^	+2	|^	+4	|^	+1	|^	+4	|^	特殊能力	|

 

 

!!!!职业特性

下述均为大祭司进阶职业的职业特性:

''武器和防具擅长:''大祭司不获得任何武器或防具的擅长。

''法术和施法者等级:''尽管大祭司进阶职业的等级并没有提升角色基本职业的法术级别,但是在确定施法者等级的时候还是能够累加进角色的基础施法者等级。

''特殊能力(Special Ability):''每个级别大祭司都可以从选择一种以下所列的特殊能力。

//打击异端(Blast Infidel,超自然能力)://当打击对立阵营的敌人时,大祭司能够使他的利用负能量的法术发挥最大效用。(详见下面的阵营与对立阵营表。)在目标为对立阵营的生物时,任何制造或转导负能量的法术都视为处于法术极效专长的影响下(无需使用较高级法术位)。受此能力影响的不死生物将医治同等数量的伤害。

|!大祭司阵营 |!对立阵营 |
|^	守序善良	|^	混乱邪恶	|
|^	中立善良	|^	中立邪恶	|
|^	混乱善良	|^	守序邪恶	|
|^	守序中立	|^	混乱中立	|
|^	中立	|^	守序善良,混乱善良,守序邪恶,混乱邪恶*	|
|^	混乱中立	|^	守序中立	|
|^	守序邪恶	|^	混乱善良	|
|^	中立邪恶	|^	中立善良	|
|^	混乱邪恶	|^	守序善良	|
|^	*中立大祭司可以选择表中所列的四个阵营之一作为其对立阵营,以使用特殊能力。	|<|


//神力无边(Divine Reach,超自然能力)://大祭司可以使用接触法术来接触30英尺内的目标。如果法术要求进行一次近战接触攻击,那么大祭司必须做一次远程接触攻击来代替它。此特殊能力可以选择两次,此时范围为60英尺。

//信仰神疗(Faith Healing,超自然能力)://当治疗相同阵营的生物(包括大祭司自己)时,大祭司能够使他的医疗法术发挥最大效果。当医疗这类生物时,任何具有医疗描述的法术都视为处于法术极效专长的影响下(无需使用较高级法术位)。

//神赐之礼(Gift of the Divine,超自然能力)://仅有具有牧师等级的大祭司可以选择该能力。此能力允许大祭司将自己的一次或多次驱散不死生物的能力转换给一个自愿的生物。(使用斥喝不死生物能力的大祭司可以转换其斥喝不死生物的能力。)无论之后处于何地,每次的转换都可以持续24小时至一周时间(转换时决定)。在此持续期间,大祭司每日可尝试驱散的次数将减去其转换的数量。受赐者在驱散不死生物时,视其牧师等级为大祭司的牧师等级,但需使用自己的魅力调整值。

//能量掌控(Mastery of Energy,超自然能力)://仅有具有牧师等级的大祭司可以选择该能力。此能力使大祭司能够更加有效的沟通正能量或负能量,增益其驱散不死生物的能力。大祭司的驱散检定和驱散伤害判定将具有+4的加值。即使在大祭司能够驱散其它生物(比如说某一领域的神授能力),此能力也只对不死生物有效,。

//超魔专长(Metamagic Feat)://如果愿意,大祭司可以选择获得一种超魔专长来代替特属能力。

//自然之礼(Power of Nature,超自然能力)://仅有具有德鲁伊等级的大祭司可以选择该能力。此能力允许大祭司将自己的一个或多个德鲁伊职业的特性转换给一个自愿的生物。无论之后处于何地,每次的转换都可以持续24小时至一周时间(转换时决定)。在此持续期间,大祭司无法使用已被转换的力量。除法术能力和动物伙伴外,人物的任何德鲁伊特性都可以被交赐。

德鲁伊的野性变身能力可以被部分或完全转换。大祭司可以选择让受赐者每日使用多少次变身能力,自己使用剩余的次数。如果大祭司可以变身为超小型或超大型动物,则受赐者同样可以。

同法术法术灌输(imbue with spell ability)相同,大祭司依然要为受赐者使用的受赐能力负责。

//法术之力(Spell Power)://这个特殊能力可以使大祭司的有效施法者等级增加1级,作用于视等级决定法术效果变化的法术属性以及施法者等级检定。此能力可多次选择,并可以累加人物的有效施法者等级。

//类法术能力(Spell-Like Ability)://大祭司可以在他的一个神术位上永恒地准备他的一项神术,并将它变成类法术能力。这个类法术能力每天可使用2次。在施放这个类法术能力时,大祭司不需要任何法术成分,但是依然要支付经验值成分。同时若是这个法术中包含有昂贵材料成分,每施放一次,大祭司将失去10倍材料价格(GP)的经验值。

类法术能力通常占用同级的法术位(如果愿意,大祭司也可以选择较高的法术位以存储一些被超魔专长强化过的神术)。大祭司也可以选择用高等级法术位存储低等级法术,从而增加类法术能力的使用次数。用高3级的法术位存储的类法术能力每天可使用4次;高6级的法术位存储的类法术能力每天可使用6次。

当多次选择这个特殊能力时,角色可以继续再次转化一个法术,可以是已经选择过的(增加每日使用数量),也可以是未选择过的法术。

!!Hippogriff(鹫马)

''大型魔法兽''

|''生命骰:'' 3d10+9(25hp)|
|''先攻权:'' +2|
|''速度:'' 50尺(10格),飞行100尺(普通)|
|''防御等级:'' 15(-1体型,+2敏捷,+4天生),接触11,措手不及13|
|''基本攻击/擒抱:'' +3/+11|
|''攻击:'' 爪抓+6近战(1d4+4)|
|''全回合攻击:'' 2爪抓+6近战(1d4+4)及啮咬+1近战(1d8+2)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' -|
|''特性:'' 黑暗视觉60尺,昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+6,反射+5,意志+2|
|''属性:'' 力量18,敏捷15,体质16,智力2,感知13,魅力8|
|''技能:'' 聆听+4,侦察+8|
|''专长:'' 闪避,空中横转|
|''环境:'' 温带山区|
|''组织:'' 单独,成对,或成群(7-12)|
|''挑战等级:'' 2|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 4-6HD(大型);7-9HD(超大型)|
|''等级调整:'' -|

鹫马是具有马和巨鹰混合外貌的攻击性强的飞行生物。作为贪吃的杂食动物,鹫马在猎食中会很乐意的将类人生物视为一餐。典型的鹫马有9尺长,翼展有20尺,重1000磅。

!!! 战斗
鹫马会从空中俯冲并以其前爪攻击猎物。当不能俯冲时,它们会用爪子和喙攻击。成对和成群的鹫马会轮番进行俯冲攻击来驱散或杀死入侵者。鹫马会拼死保卫它们的巢穴和在人类市场上被高价出售作为坐骑的幼崽。

''技能:''鹫马在进行侦察检定时可获得+4的种族加值。

!!! 训练鹫马
鹫马必须经过训练才能载着骑手进行战斗。练一只鹫马需要六周并且要通过DC 25的驯养动物技能检定。乘骑鹫马需要特殊鞍座。鹫马载著骑手依然可以战斗,但除非骑手通过骑乘技能检定否则将不能同时战斗。

鹫马蛋的市场价为2000金币,幼崽每只3000金币。雇佣一名专业训练师培育或训练鹫马的价格为1000金币。

''负重:''对于鹫马而言300磅为轻载,301-600磅为中载,601-900为重载。 
!!Hobgoblin(大地精)

''大地精,一级武者''

''中型类人生物(地精类)''

|''生命骰:'' 1d8+2(6hp)|
|''先攻权:'' +1|
|''速度:'' 30英尺(6格)|
|''防御等级:'' 15(+1敏捷,+3镶嵌皮甲,+1轻型盾牌),接触11,措手不及14|
|''基本攻击/擒抱:'' +1/+2|
|''攻击:'' 长剑+2近战(1d8+1/19–20)或标枪+2远程(1d6+1)|
|''全回合攻击:'' 长剑+2近战(1d8+1/19–20)或标枪+2远程(1d6+1)|
|''面宽/触及:'' 5英尺/5英尺|
|''特殊攻击:'' —|
|''特性:'' 黑暗视力60英尺|
|''豁免:'' 强韧+4,反射+1,意志–1|
|''属性:'' 力量13,敏捷13,体质14,智力10,感知9,魅力8|
|''技能:'' 躲藏+3,聆听+2,潜行+3,侦察+2|
|''专长:'' 警觉|
|''环境:'' 温暖山地|
|''组织:'' 小群(4–9),一帮(10–100个个体加上50%的非战斗人员,加上每20个成年个体一个3级士官和一个4到6级领袖),战团(10–24个),或部落(30–300个个体加上50%的非战斗人员,加上每20个成年个体一个3级士官,1或2个4或5级副官,一个6~8级的领袖,加上2~4只凶暴狼以及1-4只食人魔或1-2只巨魔)|
|''挑战等级:'' 1/2|
|''宝物:'' 标准|
|''阵营:'' 通常是守序邪恶|
|''进化:'' 根据人物职业|
|''等级调整:'' +1|


大地精是地精的大号表亲。他们的发色从暗淡的偏红棕色到暗灰色,有着暗橘黄色或橙红的皮肤。大块头的雄性个体有着蓝色或红色的鼻子。大地精的眼睛是偏黄或暗棕色的,与此同时他们有着一口黄板牙。他们穿着亮色调的服装,往往是血红色,带着黑色条纹的皮革。他们的武器保养得光洁而完善。大地精说通用语与地精语,旅居他乡的大地精往往是武者,资料中的数据是以一级武者做成的。

!!! 战斗
这些生物对战略战术有很强的理解力,而且善于拟订完善的作战计划。在一位有能的战略家或是战术家的领导下,他们严明的纪律会是一种决定性的要素。大地精痛恨精灵,比起其他对手来,他们会优先攻击精灵。

''技能:''大地精在潜行上有+4种族奖励

这里的范例大地精武者在调整前的属性为:力量 13,敏捷 11, 体质 12,智力 10, 感知 9, 魅力 8.

!!! 大地精人物

大地精人物拥有以下种族特性

* +2 敏捷, +2体质
*大地精的基础陆地速度为30英尺
*黑暗视力60尺
* 在潜行上有+4种族奖励
*天赋语言:地精语,通用语。奖励语言:龙语,炼狱语,矮人语,兽人语
*天赋职业:战士
*等级调整:+1
!!!动物定身术(Hold Animal)
|惑控系(胁迫)[影响心灵]|
|''等级:''动物 2,德鲁伊 2,巡林客 2|
|''法术成分:''言语,姿势|
|''目标:''一只动物|
|该法术类似人类定身术(hold person),除了影响的不是类人生物,而是动物。|
!!!群体怪物定身术(Hold Monster, Mass)
|惑控系(胁迫)[影响心灵]|
|''等级:''术士/法师9|
|''目标:''彼此相距不超过30英尺的一个或多个生物。|
|该法术类似人类定身术(hold person),但可作用于多个任意种类未通过意志检定的活物。|
!!!怪物定身术(Hold Monster)
|惑控系(胁迫)[影响心灵]|
|''等级:''吟游诗人 4,秩序 6,术士/法师5|
|''法术成分:''言语,姿势,材料/法器|
|''目标:''一个生物|
|该法术类似人类定身术(hold person),但可作用于任何未通过意志检定的活物。|
|//奥术材料:// 一只坚硬的金属棒或杆,就算小到不值钱的钉子也可以。|
!!!群体人类定身术(Hold Person, Mass)
|惑控系(胁迫)[影响心灵]|
|''等级:''术士/法师7|
|''目标:''彼此相距不超过30英尺的1个或多个类人生物。|
|该法术类似人类定身术(hold person),但可作用于多个任意种类未通过意志检定的类人生物。|
!!!人类定身术(Hold Person)
|惑控系(胁迫)[影响心灵]|
|''等级:''吟游诗人 2,牧师 2,术士/法师3|
|''法术成分:''言语,姿势,器材/法器|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''一个类人生物|
|''持续时间:''一轮/级别(可解消);见下文|
|''豁免:''意志,通过无效;见下文|
|''法术抗力:''可|
|目标被麻痹并在僵在原地。他的感觉和呼吸如常,但无法作任何动作,哪怕连说话也不行。每一轮当他行动时,他可以试着一次新的豁免检定来终止该效果 。(这是一个整轮动作,不会引起借机攻击。)|
|被麻痹的有翼飞行生物会因为无法扇翅而坠落。游泳者也会无法游动而可能淹死。|
|//器材://一小块直的铁块|
!!!封门术(Hold Portal)
|防护系|
|''等级:''术士/法师1|
|''法术成分:''言语|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''一个面积最多20平方英尺/级别的开口|
|''持续时间:''1分钟/级别(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|此法术可以用魔力关住任一木、铁、石制的门、大门、窗户、百叶窗。此魔法将其封住,如同紧闭并正常上锁。敲击术(knock)或是成功的解除魔法(dispel magic)可以抵消这效果。|
|对于被此魔法影响的门,若要破门其DC在正常基础上加5。|
!!!圣洁灵光(Holy Aura)
|防护系 [善良]|
|''等级:''牧师 8,善良 8|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''距离:''20英尺|
|''目标:''以自己为中心,20英尺爆发范围内的每等级一个生物|
|''持续时间:''1轮/级别(可解消)|
|''豁免:''见下文|
|''法术抗力:''可(无害)|
|一道辉煌圣洁的光辉环绕着目标,保护他们免受打击,让他们能够抵抗邪恶生物施放的法术,让击中受术者的邪恶生物目盲。这道防护有四个效果。|
|首先,每个受术者在AC上+4偏斜加值,并在豁免上获得+4抵抗加值。与防护邪恶(protection from evil)不同,这益处对所有的攻击都有效,而不仅仅对抗邪恶生物的攻击。|
|其次,每个受术者在对抗邪恶法术和邪恶生物施放的法术时获得法术抗力25。|
|第三,该防护能阻止所有心灵影响和附身效果,就如同防护邪恶一样。|
|最后,如果一个邪恶生物成功利用近战攻击击中受术者,该攻击者会目盲(和目盲/耳聋术(blindness/deafness)一样强韧通过则无效,但使用圣洁灵光的豁免DC)|
|//器材://装着古代圣物的超小型圣物匣。该圣物匣至少价值500金币。|
''Holy Avenger(神圣复仇者):''
这把+2寒铁长剑在圣武士的手中就变成了一把+5神圣寒铁长剑。

它的使用者和周围任何人都会获得5+圣武士等级的法术抗力。使用者还可以施展高等解除魔法(greater dispel magic)(每轮一次,标准动作),施法者等级为圣武士的等级。(高等解除魔法的功效为区域性解除,不能使用其他功效。)

强烈防护系灵光;CL18;制造魔法武器和防具,圣洁灵光(holy aura)制造者必须是善良阵营;价格120630金币;制造花费60630金币+4800经验值。

!!!圣光击(Holy Smite)
|塑能系 [善良]|
|''等级:''善良 4|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''区域:''半径20英尺爆发范围|
|''持续时间:''立即(1轮);见下文|
|''豁免:''意志,通过则部分有效;见下文|
|''法术抗力:''可|
|你呼唤圣力来打击你的敌人。只有邪恶或中立的生物会受伤,善良的生物不受影响。|
|该法术对范围内的每个邪恶生物造成每2施法者等级1d8的伤害(最大5d8)(对邪恶的外界生物来说,是1d6每施法者等级,最高10d6),并会使他们目盲一轮。成功的意志检定使伤害减半,并抵消目盲效果。|
|对于中立生物该法术只造成一半伤害,他们也不会目盲。此类生物成功的意志豁免可以将该伤害减半(即只受投掷结果1/4的伤害)。|
!!!圣剑术(Holy Sword)
|塑能系 [善良]|
|''等级:''圣武士 4|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的近战兵器|
|''持续时间:''1轮/每等级|
|''豁免:''无|
|''法术抗力:''不可|
|该法术让你引导圣力进入你的剑或者其他任意近战武器。该武器就如同+5神圣武器(在攻击与伤害上有+5增强加值,对邪恶生物造成额外2d6伤害)。同时该武器会产生反邪恶法阵(magic circle against evil)效果(同该法术)。如果该法阵结束,在你回合时,这把剑会以一个自由动作来产生新的法阵。当剑离开你的手后一轮,该法术自动消失。你不能同时拥有一把以上的圣剑。|
|当该法术施展到魔法武器上时,法术的力量会取代武器本身具有的力量,即在法术持续时间内,武器原有的魔法效果和增强加值将不起作用。该法术无法与祝福武器(bless weapon)或是任何其他会改变武器的法术叠加。|
|该法术对神器无效。|
|//备注://精制品武器在命中上的加值不会和命中上的增强加值叠加。|
!!!圣言(Holy Word)
|塑能系 [善良,音波]|
|''等级:''牧师 7,善良 7|
|''法术成分:''言语|
|''施法时间:''1个标准动作|
|''距离:''40英尺|
|''区域:''你为中心40英尺扩散范围内的非善良生物|
|''持续时间:''立即|
|''豁免:''无, 或者 意志通过则无效;见下文|
|''法术抗力:''可|
|在范围内的任何听到圣言的非善良生物都会受到以下不良效果|

|!	HD	 |!	效果	 |
|^	等于施法者级别	 |^	耳聋	 |
|^	不到施法者级别-1	 |^	目盲,耳聋	 |
|^	不到施法者级别-5	 |^	麻痹,目盲,耳聋	 |
|^	不到施法者级别-10	 |^	即死,麻痹,目盲,耳聋	 |


|这些效果可叠加,且同时发生。这些效果无豁免检定。|
|//耳聋://生物耳聋1d4轮。|
|//目盲://生物目盲2d4轮。|
|//麻痹://生物麻痹1d10分钟。|
|//即死://活物死亡,不死生物被摧毁。|
|此外,若施法时你处于自己的原属位面,则非善良的跨位面生物会被立即逐回自己的位面。被驱逐的生物24小时内不可返回。不论该生物是否听见圣言,此效果都可发生。若通过意志检定(受-4惩罚),则不会被驱逐。|
|HD超过施法者等级的生物不受圣言影响。|
''Holy(神圣):''
神圣武器属于善良阵营,充满了强大的神圣之力,并因此获得相应的伤害减免。攻击邪恶阵营的生物时,武器能造成2d6点额外伤害。任何企图使用此武器的邪恶阵营生物会遭受一个负向等级。只要武器在手中负向等级就一直存在,除非把武器扔掉。这个负向等级并没有造成真正的等级降低,但是只要武器在手中,负向等级便不能以任何方式移除(包括复原术(restoration))。弓、弩和投石索会自动给予其发射的弹药神圣的力量。

中等塑能系灵光[善良阵营];CL7;制造魔法武器和防具,圣光击(holy smite);价格+2加值。

!!Homunculus(机关体)
''超小型构装体''


|''生命骰:'' 2d10(11hp)|
|''先攻权:'' +2|
|''速度:'' 20尺(4格),飞行50尺(良好)|
|''防御等级:'' 14(+2体形,+2敏捷),接触14,措手不及12|
|''基本攻击/擒抱:'' +1/-8|
|''攻击:'' 啮咬+2近战(1d4-1外加毒素)|
|''全回合攻击:'' 啮咬+2近战(1d4-1外加毒素)|
|''面宽/触及:'' 2?尺/0尺|
|''特殊攻击:'' 毒素|
|''特性:'' 构装体特性,60尺黑暗视觉,昏暗视觉|
|''豁免:'' 强韧+0,反射+4,意志+1|
|''属性:'' 力量8,敏捷15,体质-,智力10,感知12,魅力7|
|''技能:'' 躲藏+14,聆听+4,侦察+4|
|''专长:'' 闪电反射|
|''环境:'' 任意|
|''组织:'' 独行|
|''挑战等级:'' 1|
|''宝物:'' 无|
|''阵营:'' 任意(与制造者相同)|
|''进化:'' 3-6HD(超小型)|
|''等级调整:'' -|


机关体是由法师拼装而成的仆役。这些生物虽然没有什么战斗能力,但却是高效的间谍,信使和斥候。机关体的制造者可以决定其形状。机关体通常只是为完成任务而设计的工具,他们是制造者的延伸,拥有相同的阵营和性格。机关体没法说话,但可以与制造者进行心灵沟通。

机关体知道所有制造者的全部所知,同时制造者也可以共享机关体的视觉和听觉,有效范围1,500尺。机关体不会主动离开该范围,但有可能被强制带离。当这种事情发生时,这种生物会尽可能与制造者重新获得联系。如果机关体被摧毁,会对其制造者造成2d10点的伤害。

如果机关体的制造者死亡,机关体会同样死亡,其身体迅速溶化成脓水。

!!! 战斗

机关体会落在目标身上,用带毒的牙齿嘶咬目标。

''毒素 (EX):''伤口,强韧检定DC 13,初始伤害睡眠1分钟,后续伤害睡眠5d6分钟。本能力豁免DC基于体质,并拥有+2的种族加值。

!!! 制造机关体
机关体的原料是黏土,灰泥,曼陀罗草根,泉水和1品脱制造者的鲜血。材料共需花费50枚金币。机关体的制作者可以亲自组装机关体的躯体部分,或是雇佣其他人帮忙组装。组装构装体需要通过DC 12的手艺(雕塑)检定或DC 12的手艺(制陶)检定。

在完成组装躯体后,制造者需要通过长时间的魔法仪式启动机关体。本仪式需要在特殊的试验室或工作间中进行,其布置类似炼金实验室,共需花费500枚金币。如果制造者亲自组装机关体,那么组装过程可以与仪式同时完成。

制作生命骰超过2的构装体是可行的,但每额外生命骰需要增加2,000枚金币的花费。

制造构装体,奥法眼,镜影术,修复术,施法者至少达到4级;价格:- (从不出售);花费1,050枚金币以及78点经验值。 
''生命骰:''d8。

!!!!先决条件

要具备大地旅者的资格,人物必须符合以下全部条件。

''技能:''知识(地理)8级。

''专长:''坚忍。

!!!!本职技能
大地旅者的本职技能如下(括号中为该技能的关键属性):平衡(敏捷),攀爬(力量),交涉(魅力),驯养动物(魅力),躲藏(敏捷),知识(地理)(智力),聆听(感知),潜行(敏捷),专业(感知),骑术(敏捷),语言(无),侦察(感知),生存(感知)。

''升级技能点数:''4+智力调整值。

 

''表:大地旅者''

|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!特殊能力 |
|^	1	|^	+1	|^	+2	|^	+0	|^	+0	|^	熟知地貌	|
|^	2	|^	+2	|^	+3	|^	+0	|^	+0	|^	熟知地貌	|
|^	3	|^	+3	|^	+3	|^	+1	|^	+1	|^	熟知地貌	|
|^	4	|^	+4	|^	+4	|^	+1	|^	+1	|^	熟知地貌	|
|^	5	|^	+5	|^	+4	|^	+1	|^	+1	|^	熟知地貌	|
|^	6	|^	+6	|^	+5	|^	+2	|^	+2	|^	熟知位面地形	|
|^	7	|^	+7	|^	+5	|^	+2	|^	+2	|^	熟知位面地形	|
|^	8	|^	+8	|^	+6	|^	+2	|^	+2	|^	熟知位面地形	|
|^	9	|^	+9	|^	+6	|^	+3	|^	+3	|^	熟知位面地形	|
|^	10	|^	+10	|^	+7	|^	+3	|^	+3	|^	熟知位面地形	|


!!!!职业特性

下述均为大地旅者进阶职业的职业特性:

''武器和防具擅长:''大地旅者不获得任何武器或防具的擅长。

''熟知地貌(Terrain Mastery):''每次升级时,大地旅者可以从地貌列表中选择一种作为自己的熟知地貌。每种地貌都有相关的常见活动,而大地旅者可以在进行此类检定时获得额外的加值,或是获得其他相当的奖励。同时,大地旅者知道如何与那种地貌上的危险生物作战,因此在对抗描述中环境项里提到上述地貌的生物时,攻击骰和伤害骰获得+1的洞察加值。只有生物描述中特别列出了这种地貌时,大地旅者才能获得这些加值。

无论到哪里,大地旅者都能够保持他们的熟知地貌能力,从中获得技能检定、攻击检定、和伤害投掷骰的加值,不管他们实际上是否正处于相关地貌的环境中。

''熟知位面地形(Planar Terrain Mastery):''熟知位面地貌与熟知地貌类似,但需从位面地貌中选择。大地旅者也可以选择熟知非位面地貌取代熟知位面地貌,如果他愿意的话。

 

!!!!地貌奖励
''水中环境(Aquatic):''你将在游泳检定上获得+4的表现加值,或者若你有游泳速度,则可在游泳速度上获得+10尺的脚程加值。同时,你在对抗水生生物时在攻击骰和伤害骰上获得+1的加值。

''沙漠环境(Desert):''你能抗拒让你疲劳的效果。你免疫疲乏(fatigue),而任何能使你陷入力竭状态(exhausted)效果,只能使角色进入疲乏状态。同时,你在对抗沙漠生物时,在攻击骰和伤害骰上获得+1的加值。

''森林环境(Forest):''你将在躲藏检定上获得+4的表现加值。同时,你在对抗森林生物时,在攻击骰和伤害骰上获得+1的加值。

''丘陵环境(Hills):''你将在聆听检定上获得+4的表现加值。同时,你在对抗丘陵生物时,在攻击骰和伤害骰上获得+1的加值。

''沼泽环境(Marsh):''你将在潜行检定上获得+4的表现加值。同时,你在对抗沼泽生物时,在攻击骰和伤害骰上获得+1的加值。

''山地环境(Mountains):''你将在攀爬检定上获得+4的表现加值,或者若你有攀爬速度,则可在攀爬速度上获得+10尺的脚程加值。同时,你在对抗山地生物时,在攻击骰和伤害骰上获得+1的加值。

''平原环境(Plains):''你将在侦察检定上获得+4的表现加值。同时,你在对抗平原生物时,在攻击骰和伤害骰上获得+1的加值。

''地底环境(Underground):''你将获得60尺黑暗视觉。如果你已经拥有黑暗视觉,那么黑暗视觉的范围增至120尺。同时,你在对抗地底生物时,在攻击骰和伤害骰上获得+1的加值。

''焦炎环境(Fiery)(位面):''你获得20点火焰抗力。同时,你在对抗火系亚种的异界生物和元素时,在攻击骰和伤害骰上获得+1的加值。

''失重环境(Weightless)(位面):''你在无重力或主观重力环境时,飞行速度获得+30尺的脚程加值。同时,你在对抗属于星界、气元素界、以太界的生物时,在攻击骰和伤害骰上获得+1的加值。

''严寒环境(Cold)(位面):''你获得20点寒冷抗力。同时,你在对抗寒系亚种的异界生物和元素时,在攻击骰和伤害骰上获得+1的加值。

''幻变环境(Shifting)(位面):''你可以本能的认识到幻变的本质,从而更容易到达你的目的地。你获得施展相当于法术任意门(dimension door)的类法术能力,,每1d4轮一次(施法者等级等同于你的职业等级)。同时,你在对抗以幻变的位面为家的异界生物和元素时,在攻击骰和伤害骰上获得+1的加值。

''阵营环境(Aligned)(位面):''你可以本能地模拟所在位面的优势阵营。在你的阵营和位面阵营具有差别时,你不会因此而承受惩罚。同时,那些伤害对立阵营的魔法和能力也不能影响你。在和魔发相关时,你具有该位面的优势阵营,但是并不会改变你的行为方式,也不会影响任何其他与阵营相关的职业特性。

''空穴环境(Cavernous)(位面):''你获得30尺颤动感知(tremorsense)。

''其他(位面):''若使用其他位面,则可以添加额外的位面地貌。

''Horn of Blasting, Greater(高等音爆号角)'': 和音爆号角一样, 只是伤害提高到10D6, 震慑1回合, 并且耳聋4D6回合 (DC 19 强韧可以使伤害减半,并且不受震慑和耳聋影响). 在音爆区域内的晶体生物和物体受到16D6点音波伤害切无豁免,除非它们被人穿戴或携带在身上。如果一天使用超过一次,每多一次就多20%机率使号角爆炸,爆炸对使用者造成10d6点伤害。

Strong evocation; CL 16th; Craft Wondrous Item, greater shout; Price 70,000 gp;Weight 1 lb.
''Horn of Blasting(音爆号角)'': 看似普通的号角,听起来也像,但说出指令后再吹奏就在前方40英尺锥形区域内产生音爆,区域内所有生物都须进行强韧检定(DC=16)失败的受到5D6音波伤害并且耳聋2D6轮,豁免成功减半。在音爆区域内的晶体生物和物体受到7D6点音波伤害切无豁免,除非它们被人穿戴或携带在身上。

如果一天使用超过一次,每多一次就多20%机率使号角爆炸,爆炸对使用者造成10d6点伤害。

Moderate evocation; CL 7th; Craft Wondrous Item, shout; Price 20,000 gp; Weight 1 lb.
''Horn of Fog(迷雾号角)'': 此号角可以吹出一股厚重云雾,效果如同“隐雾术”。只要持续吹奏,云雾每轮便扩散10英尺。它发出悠远的雾笛声,但尾音会突然掉落到较低的音域。这雾可以持续3分钟,或者中强度的风(11英里/时)可以在4回合内将烟吹散,强烈的风(21英里/时)可以在1回合内将烟吹散。

施法者等级:3。先决条件:“制造奇物”,“隐雾术”。交易价格:2000金币。重量:1磅
''Horn of Goodness/Evil(御善防恶号角)'': 此号角根据使用者是善良或邪恶阵营,来改变其效果。如果使用者不是善良或邪恶阵营,则此物品没有任何效果。如果是善良阵营,吹奏效果便为“反邪恶法阵”;如果是邪恶阵营,吹奏效果则为“反善良法阵”。两者持续时间均为10分钟。每天可使用号角一次。

CL 6th; Craft Wondrous Item, magic circle against good, magic circle against evil; Price 6,500 gp; Weight 1 lb.
''Horn of the Tritons(梭螺号角): ''螺旋状的贝壳,每天可吹响一次(梭螺鱼人每天可吹响三次),效果为下列三者择一:

* 使半径一英里内的水面风平浪静,并可解除召唤来的水元素,水元素须作意志检定(DC=16)。
* 当使用者在有大型鲨、中型鲨或海狮生存的水域吹响号角,可以吸引5d4只大型鲨(百分骰01-30)、5d6只中型鲨(百分骰31-80)或1d10只海狮(百分骰81-100)。被吸引的生物都抱持友善态度,且服从吹号者命令。
*使500英尺内智力值为1或2的水栖生物慌乱及士气低落,效果如同“恐惧术”(DC=16)。通过豁免检定则颤栗3d6轮。

只要吹响“梭螺号角”,半径三英里内的梭螺鱼人都听得到。

Moderate conjuration and transmutation; CL 8th; Craft Wondrous Item, fear, summon monster V, control water, creator must be a triton or get construction aid from a triton; Price 15,100 gp; Weight 2 lb.
''Horn of Valhalla(英灵号角)'': 有四种不同类型,说出指令前只是一般号角。说出指令并吹响,就能召唤出一群人类野蛮人为吹号者作战。此号角七天只能吹奏一次。若号角是在冒险途中得到,则掷百分骰以决定其类型。不同类型所召唤的野蛮人和使用先决条件都不同,未满足先决条件的使用者会被召唤出来的野蛮人攻击。

|!	d%	 |!	类型	 |!	召唤野蛮人	 |!	先决条件	 |
|^	01–40	 |^	银	 |^	2d4+2, 2nd level	 |^	None	 |
|^	41–75	 |^	黄铜	 |^	2d4+1, 3rd level	 |^	制造者等级+1	 |
|^	76–90	 |^	青铜	 |^	2d4, 4th level	 |^	擅长所有军用武器或具有吟游诗人的吟唱能力	 |
|^	91–100	 |^	铁	 |^	1d4+1, 5th level	 |^	擅长所有军用武器或具有吟游诗人的吟唱能力	 |

被召唤的野蛮人是由魔法构成而非真人(虽然看起来很像),装备则为《玩者手册》野蛮人的起始装备。他们乐意为召唤者攻击敌人,直到敌人死亡,或召唤超过1小时。

CL 13th; Craft Wondrous Item, summon monster VI; Price 50,000 gp;Weight 2 lb.
!!!凋死术(Horrid Wilting)
|死灵系|
|''等级:''术士/法师 8,水 8|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''远距 (400英尺+40英尺/等级)|
|''目标:''彼此距离不超过60英尺的活物|
|''持续时间:''立即|
|''豁免:''强韧,通过减半|
|''法术抗力:''可|
|该法术会使受术活物体内的水分蒸发,造成每施法者等级1d6伤害(最高20d6)。该法术对水元素和植物生物特别有效,从而改为造成每施法者等级1d8伤害(最高20d8)。|
|//奥术材料://一小块海绵。|
马广泛地被驯服为坐骑或役畜。

!!!战斗
未受战斗训练的马通常使用其蹄踢攻击。其蹄踢被视为次要攻击且只附加其力量加值的一半在伤害骰上。 (此类次要攻击在重型马和轻型马的攻击和全回合攻击栏中已用星号加以注明。)


!!!Horse, Heavy(重型马 )

''大型动物''

|''生命骰:'' 3d8+6 (19 hp)|
|''先攻权:'' +1|
|''速度:'' 50尺 (10格)|
|''防御等级:'' 13 (-1体型,+1敏捷,+3天生),接触10,措手不及12|
|''基本攻击/擒抱:'' +2/ +9|
|''攻击:'' 蹄踢 -1 近战 (1d6+1*)|
|''全回合攻击:'' 2 蹄踢 -1 近战 (1d6+1*)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+5,反射+4,意志+2|
|''属性:'' 力量16,敏捷13,体质15,智力2,感知12,魅力6|
|''技能:'' 聆听+4,侦察+4|
|''专长:'' 坚忍,飞跑|
|''环境:'' 温带平原|
|''组织:'' 被驯养|
|''挑战等级:'' 1|
|''进化:'' -|
|''等级调整:'' -|

这里列出的数据以如克拉斯代重挽马之类的大型役用马为基准。这些动物通常在三岁后就可以开始工作。重型马载着骑手时无法战斗。

''负重能力:''对重型马而言200磅为轻载;201-400磅为中载;401-600磅为重载。重型马可以拖动3000磅重的东西。



!!!Horse, Light(轻型马 )

''大型动物''

|''生命骰:'' 3d8+6 (19 hp)|
|''先攻权:'' +1|
|''速度:'' 60尺 (12格)|
|''防御等级:'' 13 (-1体型,+1敏捷,+3天生),接触10,措手不及12|
|''基本攻击/擒抱:'' +2/ +8|
|''攻击:'' 蹄踢 -2 近战 (1d4+1*)|
|''全回合攻击:'' 2 蹄踢 -2 近战 (1d4+1*)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+5,反射+4,意志+2|
|''属性:'' 力量14,敏捷13,体质15,智力2,感知12,魅力6|
|''技能:'' 聆听+4,侦察+4|
|''专长:'' 坚忍,飞跑|
|''环境:'' 温带平原|
|''组织:'' 被驯养或部落 (6-30)|
|''挑战等级:'' 1|
|''进化:'' -|
|''等级调整:'' -|

这里列出的数据以夸特马之类的小型役用马及阿拉巴马之类的野马为基准。这些动物通常在两岁后就可以开始工作。轻型马在载着骑手时无法战斗。

''负重能力:''对轻型马而言150磅为轻载;151-300磅为中载;301-450磅为重载。重型马可以拖动2250磅重的东西。


!!!Warhorse, Heavy(重型战马 )

''大型动物''

|''生命骰:'' 4d8+12 (30 hp)|
|''先攻权:'' +1|
|''速度:'' 50尺 (10格)|
|''防御等级:'' 14 (-1体型,+1敏捷,+4天生),接触10,措手不及13|
|''基本攻击/擒抱:'' +3/ +11|
|''攻击:'' 蹄踢 +6 近战 (1d6+4)|
|''全回合攻击:'' 2 蹄踢 +6 近战 (1d6+4)及啮咬 +1 近战 (1d4+2)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+7,反射+5,意志+2|
|''属性:'' 力量18,敏捷13,体质17,智力2,感知13,魅力6|
|''技能:'' 聆听+5,侦察+4|
|''专长:'' 坚忍,飞跑|
|''环境:'' 温带平原|
|''组织:'' 被驯养|
|''挑战等级:'' 2|
|''进化:'' -|
|''等级调整:'' -|

这些动物类似于重型马,但被驯养得更有力量且更具攻击性。重型战马在载着骑手时依然可以战斗,但骑手除非通过骑术检定否则将不能同时战斗。

''负重能力:''对重型战马而言300磅为轻载;301-600磅为中载;601-900磅为重载。重型战马可以拖动4500磅重的东西。


!!!Warhorse, Light(轻型战马 )

''大型动物''

|''生命骰:'' 3d8+9 (22 hp)|
|''先攻权:'' +1|
|''速度:'' 60尺 (12格)|
|''防御等级:'' 14 (-1体型,+1敏捷,+4天生),接触10,措手不及13|
|''基本攻击/擒抱:'' +2/ +9|
|''攻击:'' 蹄踢 +4 近战 (1d4+3)|
|''全回合攻击:'' 2 蹄踢 +4 近战 (1d4+3)及啮咬 -1 近战 (1d3+1)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+6,反射+4,意志+2|
|''属性:'' 力量16,敏捷13,体质17,智力2,感知13,魅力6|
|''技能:'' 聆听+4,侦察+4|
|''专长:'' 坚忍,飞跑|
|''环境:'' 温带平原|
|''组织:'' 被驯养|
|''挑战等级:'' 1|
|''进化:'' -|
|''等级调整:'' -|

这些动物类似于轻型马,但被驯养得更有力量且更具攻击性。通常在三岁前它们无法上战场。轻型战马在载着骑手时依然可以战斗,但骑手除非通过骑术检定否则将不能同时战斗。

''负重能力:''对轻型战马而言230磅为轻载;231-460磅为中载;461-690磅为重载。轻型战马可以拖动3450磅重的东西。
''Horseshoes of a Zephyr(飘浮马蹄铁)'': 装上这四个马蹄铁之后,可以使座骑腾空奔跑。实际上它是在比地表高约四英寸的水平面上移动,即使不是实地或稳定平面(例如水面或熔岩)亦可穿越。移动时不会在地面留下任何痕迹。座骑移动的速度仍为正常速度。使用时必须四个同时装上。

Faint transmutation; CL 3rd; Craft Wondrous Item, levitate; Price 6,000 gp;Weight 4 lb. (for four).

''Horseshoes of Speed(加速马蹄铁)'': 和一般马蹄铁一样四个一组,装上后可使座骑速度增加30英尺,同时由于速度的增加跳跃距离会增加。使用时必须四个同时装上。

Faint transmutation; CL 3rd; Craft Wondrous Item, haste; Price 3,000 gp;Weight 12 lb. (for four).
!!Howler(嚎兽)

''大型异界生物(混乱,邪恶,跨位面)''

|''生命骰:'' 6d8+12(39hp)|
|''先攻权:'' +7|
|''速度:'' 60尺(12格)|
|''防御等级:'' 17(-1体形,+3敏捷,+5天生),接触12,措手不及14|
|''基本攻击/擒抱:'' +6/+15|
|''攻击:'' 啮咬+10近战(2d8+5)|
|''全回合攻击:'' 啮咬+10近战(2d8+5)及1d4尖刺+5远程(1d6+2)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 尖刺,嚎叫|
|''特性:'' 60尺黑暗视觉|
|''豁免:'' 强韧+7,反射+8,意志+7|
|''属性:'' 力量21,敏捷17,体质15,智力6,感知14,魅力8|
|''技能:'' 攀爬+14,躲藏+8,聆听+13,潜行+12,搜索+7,侦察+13,野外生存+2(追踪+4)|
|''专长:'' 警觉,战斗反射,精通先攻|
|''环境:'' 混乱阵营的位面|
|''组织:'' 独行,结伙(2-4),或成群(6-10)|
|''挑战等级:'' 3|
|''宝物:'' 无|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 7-9HD(大型);11-18HD(超大型)|
|''等级调整:'' +3(作为侍从)|

嚎兽居住在混乱和邪恶占统治性地位的位面中。嚎兽身长约8尺,重约2,000磅。虽然他们有相当的智力,但却没法使用语言,而只能嚎叫。虽然人认为嚎兽间存在着某种语言,但即使是借助法术也没法加以解析。嚎兽可以听懂深渊语。

!!! 战斗

嚎兽怯懦但残忍,喜欢结群发动攻击。他们通常会冲锋开始战斗,脱离,然后继续展开冲锋。嚎兽的天生武器以及所有持握的武器在对抗伤害减免时都视为混乱阵营以及邪恶阵营的武器。


''尖刺 (EX):''嚎兽的颈部长着很长的刺。在嚎兽发动啮咬攻击时,会抖动身体,射出1d4根尖刺。被嚎兽尖刺击中的生物必须通过DC 16的反射鉴定,否则尖刺将刺进其身体内部。每根留在生物体内的尖刺会在其进行攻击检定,豁免检定,以及技能检定时造成-1的惩罚。本能力豁免DC基于敏捷。

安全移除尖刺需要通过DC 20的医疗检定移除,否则移除尖刺会造成1d6点额外的伤害。

''嚎叫 (EX):''虽然在战斗中对嚎兽并没有任何帮助,任何异界生物以外的生物如果连续1小时听到嚎兽的嚎叫,都会受到其效果的影响。任何在嚎兽声音范围内滞留1小时的生物都必须通过DC 12的意志检定,否则将受到1点感知伤害。本能力豁免DC基于魅力。生物在嚎兽的叫声范围内每滞留1小时,都必须重复进行检定。本能力视为基于声音的心智效果。

!!! 训练嚎兽
虽然嚎兽有相当的智力,但仍需要经过训练才能作为坐骑参加战斗。要训练嚎兽,首先保证嚎兽对训练者的态度至少为友善(例如通过成功的交涉检定)。训练友善的嚎兽耗时6周,并且必须通过DC 25的驯养动物检定。骑乘嚎兽需要使用特殊鞍座。嚎兽可以在作为坐骑时作战,但骑乘的生物必须通过骑乘检定,否则没法同时发动攻击。

''负重'':嚎兽轻载限度为460磅,中载限度为461-920磅,重载限度为921-1380磅。嚎兽可以拖拽6,900磅的物品

''类人生物类(Humanoid):''类人生物通常具有双臂、双腿及一个脑袋,或者有类似于人类的躯干、四肢和头部。类人生物只有很少的超自然能力或特异能力,或者完全没有,但他们大多数可以用语言交谈,并通常有较为发达的社会结构。他们的体型通常为中或小体型。每个类人生物都属于一个亚种。

只有一个生命骰的类人生物,用PC或NPC职业的职业特性来代替他的类人生物生命骰中的特性。

这一类的类人生物体现为1级武人,表明他们具备一般的战斗能力和较弱的豁免。

只有具有不止一个生命骰的类人生物才使用如下类人生物的特征。
//特征://类人生物具有下列特征。

*d8生命骰,或根据职业等级决定。

*基本攻击奖励等于3/4生命骰数总和(类似于牧师)。

*擅长的豁免检定:反射(通常为反射,但不同的类人生物具有不同的擅长豁免检定)。

*技能点数等于每个生命骰(2+智力调整值,最少为1),第一个生命骰的技能点数为它的四倍;或根据职业等级决定。

//特性://类人生物拥有下列特性(除非生物描述中另有说明)。

*熟练使用所有简单武器,或根据职业等级决定。

*熟练使用任何和它描述中所穿戴盔甲同类的盔甲(轻、中或重甲),或根据职业等级决定。如果一个类人生物描述中没有职业等级却穿戴盔甲,他可以熟练使用这种盔甲以及所有比该盔甲轻的盔甲。说明中没有提到穿戴盔甲的类人生物不能熟练使用盔甲。熟练使用任一盔甲的类人生物可以熟练使用盾牌。

*类人生物需要呼吸、进食和睡眠。


!! Hydra(多头蛇蜥)

|!		|!	五头蛇蜥(Five-Headed Hydra)	|!	六头蛇蜥 (Six-Headed Hydra)	|!	七头蛇蜥 (Seven-Headed Hydra)	|
|!		|!	超大型魔法兽	|!	超大型魔法兽	|!	超大型魔法兽	|
|^	''生命骰:''	|^	5d10+28(55hp)	|^	6d10+33(66hp)	|^	7d10+38(77hp)	|
|^	''先攻权:''	|^	+1	|^	+1	|^	+1	|
|^	''速度:''	|^	20尺(4格),游泳20尺	|^	20尺(4格),游泳20尺	|^	20尺(4格),游泳20尺	|
|^	''防御等级:''	|^	15(-2体型,+1敏捷,+6天生),接触9,措手不及14	|^	16(-2体型,+1敏捷,+7天生),接触9,措手不及15	|^	17(-2体型,+1敏捷,+8天生),接触9,措手不及16	|
|^	''基本攻击/擒抱:''	|^	+5/+16	|^	+6/+17	|^	+7/+19	|
|^	''攻击:''	|^	5啮咬+6近战(1d10+3)	|^	6啮咬+8近战(1d10+3)	|^	7啮咬+10近战(1d10+4)	|
|^	''全回合攻击:''	|^	5啮咬+6近战(1d10+3)	|^	6啮咬+8近战(1d10+3)	|^	7啮咬+10近战(1d10+4)	|
|^	''面宽/触及:''	|^	15尺/10尺	|^	15尺/10尺	|^	15尺/10尺	|
|^	''特殊攻击:''	|^	-	|^	-	|^	-	|
|^	''特性:''	|^	黑暗视觉60尺,快速痊愈15,昏暗视觉,灵敏嗅觉	|^	黑暗视觉60尺,快速痊愈16,昏暗视觉,灵敏嗅觉	|^	黑暗视觉60尺,快速痊愈17,昏暗视觉,灵敏嗅觉	|
|^	''豁免检定:''	|^	强韧+9,反射+5,意志+3	|^	强韧+10,反射+6,意志+4	|^	强韧+10,反射+6,意志+4	|
|^	''属性:''	|^	力量17,敏捷12,体质20,智力2,感知10,魅力9	|^	力量17,敏捷12,体质20,智力2,感知10,魅力9	|^	力量19,敏捷12,体质20,智力2,感知10,魅力9	|
|^	''技能:''	|^	聆听+6,侦察+6,游泳+11	|^	聆听+6,侦察+7,游泳+11	|^	聆听+7,侦察+7,游泳+12	|
|^	''专长:''	|^	战斗反射,钢铁意志,健壮	|^	战斗反射,钢铁意志,健壮,专攻武器(啮咬)	|^	战斗反射,钢铁意志,健壮,专攻武器(啮咬)	|
|^	''环境:''	|^	温带沼泽(炎蛇蜥:温暖的沼泽)(寒蛇蜥:寒冷的沼泽)	|^	温带沼泽(炎蛇蜥:温暖的沼泽)(寒蛇蜥:寒冷的沼泽)	|^	温带沼泽(炎蛇蜥:温暖的沼泽)(寒蛇蜥:寒冷的沼泽)	|
|^	''组织:''	|^	单独	|^	单独	|^	单独	|
|^	''挑战等级:''	|^	4(普通);6(炎蛇蜥或寒蛇蜥)	|^	5(普通);7(炎蛇蜥或寒蛇蜥)	|^	6(普通);8(炎蛇蜥或寒蛇蜥)	|
|^	''宝物:''	|^	1/10钱币,50%工艺品,50%物品	|^	1/10钱币,50%工艺品,50%物品	|^	1/10钱币,50%工艺品,50%物品	|
|^	''阵营:''	|^	通常是中立	|^	通常是中立	|^	通常是中立	|
|^	''进化:''	|^	-	|^	-	|^	-	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


|!		|!	八头蛇蜥 (Eight-Headed Hydra)	|!	九头蛇蜥 (Nine-Headed Hydra)	|!	十头蛇蜥 (Ten-Headed Hydra)	|
|!		|!	超大型魔法兽	|!	超大型魔法兽	|!	超大型魔法兽	|
|^	''生命骰:''	|^	8d10+43(87hp)	|^	9d10+48(97hp)	|^	10d10+53(108hp)	|
|^	''先攻权:''	|^	+1	|^	+1	|^	+1	|
|^	''速度:''	|^	20尺(4格),游泳20尺	|^	20尺(4格),游泳20尺	|^	20尺(4格),游泳20尺	|
|^	''防御等级:''	|^	18(-2体型,+1敏捷,+9天生),接触9,措手不及17	|^	19(-2体型,+1敏捷,+10天生),接触9,措手不及18	|^	20(-2体型,+1敏捷,+11天生),接触9,措手不及19	|
|^	''基本攻击/擒抱:''	|^	+8/+20	|^	+9/+22	|^	+10/+23	|
|^	''攻击:''	|^	8啮咬+11近战(1d10+4)	|^	9啮咬+13近战(1d10+5)	|^	10啮咬+14近战(1d10+5)	|
|^	''全回合攻击:''	|^	8啮咬+11近战(1d10+4)	|^	9啮咬+13近战(1d10+5)	|^	10啮咬+14近战(1d10+5)	|
|^	''面宽/触及:''	|^	15尺/10尺	|^	15尺/10尺	|^	15尺/10尺	|
|^	''特殊攻击:''	|^	-	|^	-	|^	-	|
|^	''特性:''	|^	黑暗视觉60尺,快速痊愈18,昏暗视觉,灵敏嗅觉	|^	黑暗视觉60尺,快速痊愈19,昏暗视觉,灵敏嗅觉	|^	黑暗视觉60尺,快速痊愈20,昏暗视觉,灵敏嗅觉	|
|^	''豁免检定:''	|^	强韧+11,反射+7,意志+4	|^	强韧+11,反射+7,意志+5	|^	强韧+12,反射+8,意志+3	|
|^	''属性:''	|^	力量19,敏捷12,体质20,智力2,感知10,魅力9	|^	力量21,敏捷12,体质20,智力2,感知10,魅力9	|^	力量21,敏捷12,体质20,智力2,感知10,魅力9	|
|^	''技能:''	|^	聆听+7,侦察+8,游泳+12	|^	聆听+8,侦察+8,游泳+13	|^	聆听+8,侦察+9,游泳+13	|
|^	''专长:''	|^	战斗反射,钢铁意志,健壮,专攻武器(啮咬)	|^	盲斗,战斗反射,钢铁意志,健壮,专攻武器(啮咬)	|^	盲斗,战斗反射,钢铁意志,健壮,专攻武器(啮咬)	|
|^	''环境:''	|^	温带沼泽(炎蛇蜥:温暖的沼泽)(寒蛇蜥:寒冷的沼泽)	|^	温带沼泽(炎蛇蜥:温暖的沼泽)(寒蛇蜥:寒冷的沼泽)	|^	温带沼泽(炎蛇蜥:温暖的沼泽)(寒蛇蜥:寒冷的沼泽)	|
|^	''组织:''	|^	单独	|^	单独	|^	单独	|
|^	''挑战等级:''	|^	7(普通);9(炎蛇蜥或寒蛇蜥)	|^	8(普通);10(炎蛇蜥或寒蛇蜥)	|^	9(普通);11(炎蛇蜥或寒蛇蜥)	|
|^	''宝物:''	|^	1/10钱币,50%工艺品,50%物品	|^	1/10钱币,50%工艺品,50%物品	|^	1/10钱币,50%工艺品,50%物品	|
|^	''阵营:''	|^	通常是中立	|^	通常是中立	|^	通常是中立	|
|^	''进化:''	|^	-	|^	-	|^	-	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|

|!		|!	十一头蛇蜥 (Eleven-Headed Hydra)	|!	十二头蛇蜥 (Twelve-Headed Hydra)	|
|!		|!	超大型魔法兽	|!	超大型魔法兽	|
|^	''生命骰:''	|^	11d10+58(118hp)	|^	12d10+63(129hp)	|
|^	''先攻权:''	|^	+1	|^	+1	|
|^	''速度:''	|^	20尺(4格),游泳20尺	|^	20尺(4格),游泳20尺	|
|^	''防御等级:''	|^	21(-2体型,+1敏捷,+12天生),接触9,措手不及20	|^	22(-2体型,+1敏捷,+13天生),接触9,措手不及21	|
|^	''基本攻击/擒抱:''	|^	+11/+25	|^	+12/+26	|
|^	''攻击:''	|^	11啮咬+16近战(1d10+6)	|^	12啮咬+17近战(2d8+6)	|
|^	''全回合攻击:''	|^	11啮咬+16近战(1d10+6)	|^	12啮咬+17近战(2d8+6)	|
|^	''面宽/触及:''	|^	15尺/10尺	|^	15尺/10尺	|
|^	''特殊攻击:''	|^	-	|^	-	|
|^	''特性:''	|^	黑暗视觉60尺,快速痊愈21,昏暗视觉,灵敏嗅觉	|^	黑暗视觉60尺,快速痊愈22,昏暗视觉,灵敏嗅觉	|
|^	''豁免检定:''	|^	强韧+12,反射+8,意志+5	|^	强韧+13,反射+9,意志+6	|
|^	''属性:''	|^	力量23,敏捷12,体质20,智力2,感知10,魅力9	|^	力量23,敏捷12,体质20,智力2,感知10,魅力9	|
|^	''技能:''	|^	聆听+9,侦察+9,游泳+14	|^	聆听+9,侦察+10,游泳+14	|
|^	''专长:''	|^	盲斗,战斗反射,钢铁意志,健壮,专攻武器(啮咬)	|^	盲斗,战斗反射,强化天生攻击,钢铁意志,健壮,专攻武器(啮咬)	|
|^	''环境:''	|^	温带沼泽(炎蛇蜥:温暖的沼泽)(寒蛇蜥:寒冷的沼泽)	|^	温带沼泽(炎蛇蜥:温暖的沼泽)(寒蛇蜥:寒冷的沼泽)	|
|^	''组织:''	|^	单独	|^	单独	|
|^	''挑战等级:''	|^	10(普通);12(炎蛇蜥或寒蛇蜥)	|^	11(普通);13(炎蛇蜥或寒蛇蜥)	|
|^	''宝物:''	|^	1/10钱币,50%工艺品,50%物品	|^	1/10钱币,50%工艺品,50%物品	|
|^	''阵营:''	|^	通常是中立	|^	通常是中立	|
|^	''进化:''	|^	-	|^	-	|
|^	''等级调整:''	|^	-	|^	-	|


多头蛇蜥是有许多头的类似于爬行动物的怪物。

多头蛇蜥的颜色从灰褐色到深褐色,有着浅黄色或茶色的腹部。琥珀色的眼睛和黄白色的牙齿。约20尺长,重约4000磅。

多头蛇蜥不会说话。

!!! 战斗

多头蛇蜥可以用它们所有的头进行攻击而不受罚值,即使它们在移动中或冲刺时也可以。

砍掉所有的头或毁灭其身体可以将多头蛇蜥杀死。如果要砍掉它的头,其对手必须使用挥砍武器进行一次成功的击破武器尝试。(玩家必须在进行攻击检定之前声明攻击位置。)进行击破武器尝试会引发借机攻击,除非其对手拥有精通击破武器专长。因为多头蛇蜥的头在战斗中不断地挥舞扭动,所以其对手可以在任何可以攻击到多头蛇蜥的位置来对其头部进行攻击。其对手可以通过准备动作在多头蛇蜥啮咬他的时候来尝试砍掉其头部。多头蛇蜥的每颗头都拥有等于其正常状态下总生命值除以其原始头颅数量的生命值。每失去一颗头会对其身体造成等于其头部正常状态下总生命值一半的伤害。头被砍掉之后其颈部会自动愈合以免继续失血。多头蛇蜥不能继续使用被砍掉的头进行攻击,但是也不会因此受到罚值。

每颗头被砍掉1d4轮之后会有两颗新头从断处长出来。无论如何,多头蛇蜥的头颅数量不会超过其原始头颅数量的两倍,并且超过其原始头颅数量的头在一天之内会自动枯萎死亡。若要抑制被砍掉的头长成两个新的,则必须在新头长出之前在断处造成至少5点的火焰或酸伤害。炽焰武器 (或有类似效果的武器)可以在使用它砍掉一颗头的同时制造其能量伤害。影响区域范围的火焰或酸可以灼烧复数的头部断处,此外还可以对多头蛇蜥的身体造成伤害。除非多头蛇蜥的所有头颅都被砍掉并且所有断处都被火焰或酸灼烧过,否则它不会死亡。

多头蛇蜥的身体可如其他任何生物一样被杀掉,但是多头蛇蜥拥有快速痊愈能力 (见下)而且在这种情况下很难被击败。任何不属于 (或不能)尝试砍头的攻击都会对其身体造成影响。

除非能够造成挥砍伤害并且能用来尝试进行击破武器,否则目标性的魔法效果不能砍掉多头蛇蜥的头 (此类魔法必须直接攻击其身体)。

''快速痊愈 (Ex):''多头蛇蜥每轮都可治愈等于10 + 其原始头颅数量的伤害。

''技能:''因为其复数的头颅,所以多头蛇蜥在进行聆听和侦察检定时可获得+2的种族加值。

在进行游泳检定来做出特殊动作或躲避危险时多头蛇蜥可获得+8的种族加值。它可在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。

''专长:''多头蛇蜥的战斗反射专长使它可以使用其所有的头进行借机攻击。

!!! 多头炎蛇蜥

''超大型魔法兽 (火系)''

这些红色的多头蛇蜥可以喷吐出有10尺高、10尺宽及20尺长的火焰。其所有的头每1d4轮可以喷吐一次。每颗头所喷出的每道火焰都能造成3d6点火焰伤害。成功通过反射豁免检定则伤害减半。该豁免检定DC等于 10 + 1/ 2 多头蛇蜥原始头颅数量 + 多头蛇蜥的体质调整值。

火焰攻击不会抑制多头炎蛇蜥从其头部断处再生出新的头颅 (因为炎蛇蜥对火焰免疫),但是5点寒冷伤害可以抑制。

!!! 多头寒蛇蜥

''超大型魔法兽 (寒系)''

这些紫色的多头蛇蜥可以喷吐出有10尺高、10尺宽及20尺长的寒气。其所有的头每1d4轮可以喷吐一次。每颗头所喷出的每道寒气都能造成3d6点寒冷伤害。成功通过反射豁免检定则伤害减半。该豁免检定DC等于 10 + 1/ 2 多头蛇蜥原始头颅数量 + 多头蛇蜥的体质调整值。

寒冷攻击不会抑制多头寒蛇蜥从其头部断处再生出新的头颅 (因为寒蛇蜥对寒冷免疫),但是5点火焰伤害可以抑制。
!!Hyena(鬣狗 )

''中型动物''

|''生命骰:'' 2d8+4 (13 hp)|
|''先攻权:'' +2|
|''速度:'' 50尺 (10格)|
|''防御等级:'' 14 (+2敏捷,+2天生),接触12,措手不及12|
|''基本攻击/擒抱:'' +1/ +3|
|''攻击:'' 啮咬 +3 近战 (1d6+3)|
|''全回合攻击:'' 啮咬 +3 近战 (1d6+3)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 绊摔|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+5,反射+5,意志+1|
|''属性:'' 力量14,敏捷15,体质15,智力2,感知13,魅力6|
|''技能:'' 躲藏+3*,聆听+6,侦察+4|
|''专长:'' 警觉|
|''环境:'' 温暖的沙漠|
|''组织:'' 单独,成对,或成群 (7-16)|
|''挑战等级:'' 1|
|''进化:'' 3HD (中型);4-5HD (大型)|
|''等级调整:'' -|

鬣狗是因其狡诈及其使人心烦的声音而臭名昭著的群居猎食者。这里列出的数据以斑纹鬣狗为基准,体长约3尺,重约120磅。

!!!战斗
它们最喜欢的战术是让几只单独的鬣狗从正面攻击敌人,同时其他的鬣狗绕个圈从敌人的后方进行夹击。

''绊摔 (Ex):''鬣狗一旦通过其啮咬攻击击中对手就可通过一个即时动作对对手尝试展开拌摔 (+2检定调整值),该动作不会引发借机攻击。即使尝试失败,对手也不能反过来拌摔鬣狗。

''技能:''*在长草区或浓密树丛中进行躲藏检定时鬣狗可获得+4的种族加值。
!!!催眠图纹(Hypnotic Pattern)
|幻术系(心灵幻觉)[影响心灵]|
|''等级:''吟游诗人 2,术士/法师2|
|''法术成分:''言语(仅对吟游诗人),姿势,材料;见下文|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''半径10英尺内散发着五彩光芒|
|''持续时间:''专注 + 2轮|
|''豁免:''意志,通过无效|
|''法术抗力:''可|
|空中出现五光十色的色彩构成变化多端的图案,吸引着范围内生物的注意。一共能影响2d4+施法者等级(最多+10)个HD的生物。HD少的生物先被影响,而同样HD的生物,离源头近的先被影响。剩下不足以影响生物的HD数略去不计。受影响的生物将会对图案着迷,目盲的生物不受影响。|
|法师与术士在施展这个法术时不用发声,但吟游诗人必须以吟唱、演奏或吟诗作为言语成分。|
|//法术材料://一根点燃的薰香或是充满磷光材料的水晶小棍。|
!!!催眠术(Hypnotism)
|惑控系(胁迫) [影响心灵]|
|''等级:''吟游诗人 1,术士/法师1|
|''法术成分:''言语,姿势|
|''施法时间:''一轮|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''区域:''彼此相距不超过30英尺的若干活物|
|''持续时间:''2d4 轮(可解消)|
|''豁免:''意志,通过则无效|
|''法术抗力:''可|
|你的手势和咒语能让周围的生物着迷,他们会停下来,茫然的看着你。然后,你可以趁此时给他建议,此时他会觉得你的要求听起来更有道理。投2d4决定可以影响生物的总HD数。HD少的生物先被影响。只有看得到或听得到你的生物才会被影响,但它们不需要理解你。|
|如果你在战斗中使用,那么每个目标的豁免检定有+2加值。如果法术只对一个没有参加战斗的目标使用,那么他的豁免有-2减值。|
|当目标被法术影响而着迷时,他对你的态度会比以前友好两级。如果你能和他沟通,你可以向他提要求或建议。该要求必须简短合理。甚至在法术结束后,在这个特定的要求上,该生物对你依然保留新的态度。|
|豁免检定失败的生物不会记得你对他施展过该法术。|
!!!冰风暴(Ice Storm)
|塑能系 [寒冷]|
|''等级:''德鲁伊 4,术士/法师4,水 5|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''远距 (400英尺+40英尺/等级)|
|''区域:''柱状(半径20英尺,40英尺高)|
|''持续时间:''1整轮|
|''豁免:''无|
|''法术抗力:''可|
|强烈的魔法冰雹从天而降,持续一整轮,对范围内的一切生物造成3d6钝击伤害与2d6的寒冷伤害。冰风暴内的生物在聆听检定上有-4减值,并所有陆地移动速度减半。在法术结束后,冰雹会消失而不会留下任何痕迹(除了造成的伤害)。|
|//奥术材料://一撮沙子和几滴水。|
''Icy Burst(冰爆):''
冰爆武器的作用方式和冻寒武器一样,除此之外在造成重击时还会爆出一团不会伤害使用者的寒霜。冰爆武器除了能像冻寒武器一样产生额外的寒冷伤害(见上文)外,重击时还会再造成1d10点寒冷伤害。如果武器的重击倍数为x3,则再增加2d10点寒冷伤害;如果是x4,则再增加3d10点。弓、弩和投石索自动将寒冷的能量灌注在其发射的弹药中。

即使冻寒能力未被启动,武器也仍然能在重击时造成额外的寒冷伤害。

中等塑能系灵光;CL10;制造魔法武器和防具,冻寒金属(chill metal)或冰风暴(ice storm);价格+2加值。

!!!鉴定术(Identify)
|预言系|
|''等级:''吟游诗人 1,魔法 2,术士/法师1|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1小时|
|''距离:''接触|
|''目标:''一个接触到的物品|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''不可|
|此法术能辨识出一件魔法物品的所有魔法属性,包括如何启动它的功能(如果需要启动)和该物品的法术能量还剩几发(如果有)。|
|鉴定术用于神器不会发生任何效果。|
|//奥术材料://价值不低于100金币的珍珠一颗,打碎并用一根猫头鹰羽毛搅拌到酒中,施法前饮用。|
!!!迷幻手稿(Illusory Script)
|幻术系(魅影幻觉) [影响心灵]|
|''等级:''吟游诗人 3,术士/法师3|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一分钟或更长;见下文|
|''距离:''接触|
|''目标:''接触到的一个不重于10磅的物品|
|''持续时间:''1天/级别(可解消)|
|''豁免:''意志,通过无效;见下文|
|''法术抗力:''可|
|你能在羊皮纸、纸或是任何可书写的材料上写下指示或是其他信息。该文字看上去就像是一种异国或是魔法文字。|
|只有你在施法时所指定的人(或多人)能阅读该文字,对其他人而言,该文字完全不可读,哪怕是已经认出这是迷幻手稿的幻术师。|
|任何未被指定的生物若是想要阅读此手稿都会触发一个强力的幻觉效果,同时必须做一个豁免检定。豁免检定成功则表示该生物能把脸转过去,只会暂时恍惚一下。若检定失败,则表示该生物会受到你施法时所定下的暗示的影响。该暗示效果只持续30 分钟。常见的暗示包括:“合上这本书并离开”“忘记这本书的存在”之类。如果该法术被解除魔法(dispel magic)所解除,迷幻手稿本身和它的秘密信息都会消失。只有结合了阅读魔法(read magic)或通晓言语(comprehend languages)的真知术(true seeing)可以读取隐藏信息。|
|施法时间取决于你要写多长的信息,但至少要花费一分钟。|
|//法术材料://以铅为原料的墨水(价值至少50金币)。|
!!!幻墙术(Illusory Wall)
|幻术系(虚假幻觉)|
|''等级:''术士/法师 4|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''幻象,大小为1 英尺* 10英尺 * 10英尺|
|''持续时间:''永久|
|''豁免:''意志,通过则不信(如果产生互动)|
|''法术抗力:''不可|
|该法术能产生类似于墙、地板或是天花板等表面的幻象。它看上去绝对真实,但任何实体物体都可以轻易穿越它。当该法术用来隐藏洞穴、陷阱或是门时,任何不依赖于视觉的探测能力都能够正常起效。触摸或试探性的搜索能发觉幻象的真相,但并不会使幻象消失。|
!!!法术灌输(Imbue With Spell Ability)
|塑能系|
|''等级:''牧师 4,魔法4|
|''法术成分:''言语,姿势,法器|
|''施法时间:''10 分钟|
|''距离:''接触|
|''目标:''接触到的生物;见下文|
|''持续时间:''永久直到能量散发(可解消)|
|''豁免:''意志,通过无效(无害)|
|''法术抗力:''可(无害)|
|你能够将你准备好的法术与施展能力转移给另一个生物。只有智力至少为5且感知至少为9的生物能获得此馈赠。只有牧师的防护、预言与咒法(医疗)系法术能被转移。该生物能获得的法术的数量与级别由它自己的HD所决定;就算是重复施展法术灌输,也不能超过这个上限。|


|!	受术者HD	 |!	灌输的法术	 |
|^	不高于2	 |^	一个1级法术	 |
|^	3–4	 |^	一到二个1级法术	 |
|^	5或更高	 |^	一到二个1级法术和1个二级法术	 |

|被传递法术的可变参数(距离、持续时间、区域,或者其它类似参数)使用你的等级,而不是受术者的等级计算。|
|一旦你施放法术灌输,你不能准备其他4级法术来取代法术灌输的法术位,直到受术者是放完被灌输的法术或者被杀,或者直到你解消法术灌输法术。在此期间,你必须保留你的信仰与原则,才能保证该法术的生效。如果你可施展的四级法术数减少,并且比你施展法术灌输时的数量要少,那么所灌输的法术中比较晚施展的失效。|
|要施展需要言语成分的法术时,受术者必须会说话,要施展需要姿势成分的法术时,受术者必须有人类一样的手。如果需要法术材料或器材,他也必须拥有。|
''不动(Immovable):''此权杖是一支扁平的铁棒,其中一端有按钮。按下按钮(移动等效动作),此权杖就会停留在原处不动,无论是否违反地心引力。使用者可以将其举在任意位置,按下按钮,它就会定在那里。此权杖很适合支撑绳索闩门,如果拥有多支,还可用来搭成梯子(两支就够了)。一支“不动权杖”可支撑 8000磅重量而不落下。如果生物试图推动权杖,必须做力量检定(DC=30),每轮最多推动十英尺。

施法者等级:10。先决条件:“制造权杖”,“浮空术”。交易价格:7500金币。
!!!内爆术(Implosion)
|塑能系|
|''等级:''牧师 9,破坏 9|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''每轮可选定一个实体生物|
|''持续时间:''专注(最多四轮)|
|''豁免:''强韧,通过则无效|
|''法术抗力:''可|
|你能在实体生物体内造成破坏性共振。在你专注的每一轮,你可以使一个生物从体内瓦解而亡。(该效应是立即的,无法被解除。)|
|每一次施展该法术,你对一个特定目标只能瞄准一次。|
|内爆术对虚体的和气化的生物无效。|
!!!禁锢术(Imprisonment)
|防护系|
|''等级:''术士/法师 9|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:''立即|
|''豁免:''意志,通过无效;见下文|
|''法术抗力:''可|
|当你施放禁锢术并接触某生物时,目标进入假死状态(详见永恒静滞(temporal stasis)),并被埋入远离地表的小球内。该生物会停留在该处直到有人在禁锢术生效的位置施放解锢术(freedom)为止。使用水晶球(crystal ball)的魔法探查、物品定位术(locate object)或其他的类似预言系法术都无法得知该生物被禁锢,但感知位置(discern location)却可以。祈愿术(wish)或是神迹术(miracle)都无法释放该生物,但可以得知被埋葬的地点。如果你知道目标的名字或是某些生活背景,目标在豁免上有-4不利。|
!!! 精通冲撞(IMPROVED BULL RUSH)[一般专长]

''先决条件:''力量13、猛力攻击。

''效果:''当你进行冲撞时,防御者无法对你发动借机攻击。同时在你撞开防御者的力量对抗检定中获得+4加值。

''特殊:''战士可以选择本专长作为其战士奖励专长。
!!! 精通反制法术(IMPROVED COUNTERSPELL)[一般专长]

''效果:''你可以使用比目标法术高一级或多级的同派系法术来反制法术。

''正常:''没有此专长时,你只能与目标法术相同或特别指定的法术来反制。
!!! 精通重击(IMPROVED CRITICAL)[一般专长]

''先决条件:''擅长该武器、基本攻击加值+8。

''效果:''使用所选择的武器时,重击威胁范围加倍。

''特殊:''你可以多次选择此专长,其效果并不累加。每次你都必须选择不同种类的武器。

本专长的效果不能与任何其他增加武器重击威胁范围的效果累加。

战士可以选择本专长作为其战士奖励专长。
!!! 精通卸除武器(IMPROVED DISARM)[一般专长]

''先决条件:''智力13、寓守于攻。

''效果:''当你试图卸除对手的武器时,不会引发借机攻击,对方也没有机会卸除你的武器。你同时在卸除武器的对抗攻击检定中获得+4加值。

''正常:''见普通的卸除武器规则。

''特殊:''战士可以选择本专长作为其战士奖励专长。

武僧在6级时可以选择本专长作为奖励专长,即使不符合先决条件。
!!! 强化魔宠(IMPROVED FAMILIAR)[一般专长]

本专长使得施法者能够从非标准列表中获得一个新魔宠,但仅当他们可以正常获得一个新魔宠时才可使用本专长。

''先决条件:''有能力获得新魔宠,相符的阵营,足够高的等级(见下)

''效果:''选择魔宠时,施法者也可选择下表中生物。施法者可选择的魔宠在每个阵营轴线(即守序到混乱、善良到邪恶)上分别至多只能和本人相差一个阶段。

|!	魔宠	|!	阵营	|!	奥术施法者等级	|
|^	电蜥蜴(Shocker lizard)	|^	绝对中立	|^	5级	|
|^	蚊蝠(Stirge)	|^	绝对中立	|^	5级	|
|^	弗米工蚁(Formian worker)	|^	守序中立	|^	7级	|
|^	小魔鬼(Imp)	|^	守序邪恶	|^	7级	|
|^	伪龙(Pseudodragon)	|^	中立善良	|^	7级	|
|^	夸塞魔(Quasit)	|^	混乱邪恶	|^	7级	|

强化的魔宠其他的规则都与普通魔宠相同,但有两个例外:如果生物的类型不是动物,则其类型不改变;且强化的魔宠并不获得与他们同类交谈的能力(尽管他们中许多已具有交流的能力)。

上面的列表仅提供了一些可能的强化魔宠。几乎任何与该表中生物具有相同通常体形和能力的生物都适合作为魔宠,而且也并非只能按照他们主人的阵营来进行分类。例如,强化魔宠可以如下表所列根据主人的生物种类或亚种而选定:


|!	魔宠	|!	种类/亚种	|!	奥术施法者等级	|
|^	天界鹰 ^^1^^	|^	善良亚种	|^	3级	|
|^	炼狱超小毒蛇 ^^2^^	|^	邪恶亚种	|^	3级	|
|^	气元素,小型	|^	气系亚种	|^	5级	|
|^	土元素,小型	|^	土系亚种	|^	5级	|
|^	火元素,小型	|^	火系亚种	|^	5级	|
|^	电蜥蜴	|^	电系亚种	|^	5级	|
|^	水元素,小型	|^	水系亚种	|^	5级	|
|^	人彘 ^^3^^	|^	不死生物	|^	7级	|
|^	冰魔蝠	|^	寒系亚种	|^	7级	|
|^	1 //或标准魔宠列表中的其他天界动物	//|<|<|
|^	2 //或标准魔宠列表中的其他炼狱动物//	|<|<|
|^	3 //主人必须首先造出人彘,若有必要则用主人身体中的体液或其他部分代替血液//	|<|<|
!!! 精通虚招(IMPROVED FEINT)[一般专长]

''先决条件:''智力13,寓守于攻。

''效果:''你可以在战斗中用一个移动动作以唬骗检定使出虚招。

''正常:''战斗中使出虚招是一个标准动作。

''特殊:''战士可以选择本专长作为其战士奖励专长。

''精通攫抓(Improved Grab,特异能力):''具有此能力的生物一旦用近战武器(通常为爪抓或啮咬)命中目标,它在造成正常伤害之外,还会自动展开擒抱,这是即时动作且不会引发借机攻击。此擒抱不需要最初的接触命中。除非特别说明,否则精通攫抓只能针对体型比该生物至少小一级的对手。该生物可以用通常的方式展开擒抱,或仅限于用展开攫抓的身体部位将对手定身。如果选择后者,它将在擒抱对抗中有-20的减值,但这样它自身便可认为不处于擒抱状态;这时此生物不会失去AC敏捷加值,仍然有威胁范围,并可用其他的攻击对付其他对手。成功的擒抱检定不会制造任何额外的伤害,除非它有紧勒的特殊能力。在后续回合中,如果该生物不会紧勒,每个成功的擒抱检定将自动造成伤害,伤害相当于最初定身对手的攻击所造成的伤害;否则,它还将造成紧勒伤害(具体数目在生物的描述中给出)。如果生物在一次精通擒抱攻击之后成功将对手定身,它便将对手拽入自己的方格内。该动作不会引发借机攻击。这时它甚至可以移动(很可能会拖走他的对手),只要它能拖动对手的体重。

!!! 精通擒抱(IMPROVED GRAPPLE)[一般专长]

''先决条件:''敏捷13,精通徒手击打。

''效果:''当你以接触攻击启动擒抱时不会引起借机攻击。你同时在所有擒抱检定中获得+4加值,无论是否是你启动的擒抱。

''正常:''若没有此专长,你以接触攻击启动擒抱时将引起借机攻击。

''特殊:''战士可以选择本专长作为其战士奖励专长。

武僧可以在1级时选择本专长作为奖励专长,即使他不满足先决条件。

!!! 精通先攻(IMPROVED INITIATIVE)[一般专长]

''效果:''先攻权检定获得+4加值。

''特殊:''战士可以选择本专长作为其战士奖励专长。

!!! 精通闯越(IMPROVED OVERRUN)[一般专长]

''先决条件:''力量13,猛力攻击。

''效果:''当你试图闯越对手时,对手不能选择躲开。你同时在撞倒对手的力量检定上获得+4加值。

''正常:''若没有此专长,被闯越的对手可以选择躲开或挡住你。

''特殊:''战士可以选择本专长作为其战士奖励专长。

!!! 高等精准射击(IMPROVED PRECISE SHOT)[一般专长]

''先决条件:''敏捷19、近程射击、精准射击、基本攻击加值+11。

''效果:''除全掩蔽以外,你的远程攻击忽略任何其他较弱事物给目标带来的防御等级,同时除全隐蔽外,你还忽视任何其他较弱事物给目标带来的失手几率。全掩蔽和全隐蔽仍对你的远程攻击起正常作用。

此外,当你对一个正处于擒抱状态的敌人射出或投掷出远程武器时,你自动命中你选定的敌人。

''正常:''掩蔽和隐蔽效果见其正常规则。没有此专长的角色向擒抱中的敌人射击或投掷远程武器时必须投随机骰来确定该攻击究竟攻击到谁。

''特殊:''战士可以选择本专长作为其战士奖励专长。

选择了箭术战斗流派的11级巡林客在穿着轻甲或不穿甲时视为具有本专长,即使他不具备先决条件。

!!! 精通盾击(IMPROVED SHIELD BASH)[一般专长]

''先决条件:''擅长盾牌

''效果:''当你用盾牌砸击时,你的防御等级仍可应用盾牌的盾牌加值。

''正常:''若没有此专长,在用盾牌砸击时,直到下一个回合之前人物的防御等级都将失去盾牌的盾牌加值,。

''特殊:''战士可以选择本专长作为其战士奖励专长。
!!! 精通击破武器(IMPROVED SUNDER)[一般专长]

''先决条件:''力量13、猛力攻击。

''效果:''当你攻击对手持有或携带的物体时(如武器或盾牌)不会引发借机攻击。

同时你在攻击他人持有或携带的物体的攻击检定上获得+4加值。

''正常:''若没有本专长,你在攻击他人持有或携带的物体时会引发借机攻击。

''特殊:''战士可以选择本专长作为其战士奖励专长。

!!! 精通拌摔(IMPROVED TRIP)[一般专长]

''先决条件:''智力13、寓守于攻。

''效果:''在你试图徒手拌摔对手不会引发借机攻击。你同时在拌摔对方的力量检定上获得+4加值。

你在近战中成功拌摔对手时,可以马上对其进行一次额外近战攻击,就如同你没有使用过这次攻击来拌摔一样。

''正常:''若没有本专长,你试图徒手拌摔对手时会引发借机攻击。

''特殊:''武僧可以在6级时选择本专长作为奖励专长,即使他不满足先决条件。

战士可以选择本专长作为其战士奖励专长。

!!! 精通驱散(IMPROVED TURNING)[一般专长]

''先决条件:''驱散或斥喝生物的能力

''效果:''在驱散或斥喝生物时,赋予你该能力的职业等级将视为增加一级。
!!! 精通双武器攻击(IMPROVED TWO-WEAPON FIGHTING)[一般专长]

''先决条件:''敏捷17,双武器攻击,基本命中加值+6。

''效果:''除了原本额外的一次副手攻击外,你还可以用副手多攻击一次,但有-5减值。

''正常:''没有此专长,你只能用副手武器做一次额外攻击。

''特殊:''战士可以选择本专长作为其战士奖励专长。

选择了双武器战斗流派的6级巡林客在穿着轻甲或不穿甲时视为具有本专长,即使他不具备先决条件。
!!! 精通徒手击打(IMPROVED UNARMED STRIKE)[一般专长]

''效果:''徒手时视同持有武器一样,当你徒手攻击持武器的对手时,不会引发借机攻击。然而当对手徒手攻击你时,你却可以进行借机攻击。

此外,你的徒手攻击可以根据自己选择来造成正常伤害或是非致命伤害。

''正常:''若没有本专长,你在徒手攻击时视为空手,且你只能在该攻击中造成非致命伤害。

''特殊:''武僧可以在1级时自动获得本专长作为奖励专长,而无需选择。

战士可以选择本专长作为其战士奖励专长。
!!!焚云术(Incendiary Cloud)
|咒法 (创造) [火]|
|''等级:''火8,术士/法师8|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''扩散出宽20英尺高20英尺的云|
|''持续时间:''一轮/级别|
|''豁免:''反射,通过则减半,见下文|
|''法术抗力:''不可|
|焚云术造出一股充满白热灰烬的沸腾烟云。该云雾就如云雾术(fog cloud)一样阻碍视线。此外,在你的回合中每轮炙热的灰烬对身处其中的物品造成4d6点火伤害。目标每轮做反射检定,成功的话只受一半伤害。|
|如同死云术(cloudkill)一样,该云雾以每轮十尺的速度移开你。每一轮都要以云雾新的源发点开始计算新的扩散范围,源发点的距离为每轮远离施法时的起点10英尺。通过专注精神,你可以指引云雾(实际上是它的源发点)以至多每轮60英尺的速度移动。云雾任何超出最大法术距离的部分都会无害的消散,从而减少剩余部分的扩散区域。|
|如同云雾术一样,风能吹散云雾,而且该法术不能在水下施展。|
''Incense of Meditation(冥想薰香)'': 小长方形方块,气味芳香,点燃前和一般薰香一样。燃烧时若通过“辨识法术”检定(DC=15),便可辨认出其独特的香气和白烟。

神术施展者点燃薰香,并且在旁边进行1小时祈祷与冥想后,准备法术时就如同具有“法术极效”的超魔法专长,但法术等级不须加高三级。

每一小块薰香可以燃烧8小时,效果可以持续24小时。

Moderate enchantment; CL 7th; Craft Wondrous Item, Maximize Spell, bless; Price 4,900gp;Weight 1 lb.
''虚体(Incorporeal)亚种:''虚体生物不具备肉体。只有其他虚体生物、魔法武器或使用魔法武器攻击的生物、法术、类法术能力或超自然能力能对它造成伤害。它免疫所有非魔法攻击。即便被法术或魔法武器击中,它仍有50%机会忽略来自于实体的伤害(除了正能量、负能量、力场作用例如魔法飞弹(magic missile)、或由幽冥武器(ghost touch)发起的攻击)。虽然不属于魔法攻击,但圣水可以影响虚体不死生物,尽管圣水的作用仍有50%的机会无法影响到虚体。

虚体生物没有天然防御加值,但具有等同于它魅力加值的偏斜加值(至少为+1,即使生物的魅力值没有提供加值)。

虚体生物可以随意进入或者穿过固体物质,但必须要和物体的外表面相接,因此无法完全穿过一个比它自身空间更大的物体。这时它可以感知它所在位置相邻方格中生物或物体的存在,但敌人对于在物体中的虚体仍然存在完全隐蔽(50%失手几率)。为了从物体中看得更远并进行正常攻击,虚体必须从物体中浮现出来。在物体中的虚体具有全掩蔽,但当它攻击物体外的生物时它仅存在掩蔽,因此外面的生物可以用准备动作在它展开攻击时进行攻击。虚体生物无法穿过力场效果。

虚体生物的攻击可以穿透(忽略)天生防御、盔甲和盾牌,但偏斜加值和力场效果(比如法师护甲)对它有效。虚体生物可以象在空气中那样在水中穿过或进行动作。虚体生物不会坠落或受到坠落伤害。虚体不可以展开绊摔或擒抱攻击,也无法被绊摔或被擒抱。实际上,它们无法作出任何有关实质形体的动作,来针对一个对手或其装备进行挪动或操作,反之这类动作也对它们无效。虚体生物没有体重,也不会触发那些由重量触发的陷阱。

虚体生物移动时很安静,只要它不想被听到,通过聆听检定是无法觉察的。它没有力量属性,因此它的近战和远程攻击都使用它的敏捷调整值。视力以外的手段,比如灵敏嗅觉或盲视,在针对虚体时或者无效,或者仅仅部分有效。虚体生物对方向有着天生的感知,即使它们看不见也可以全速移动。

''虚体(Incorporeal):''没有肉体。虚体生物免疫一切非魔法类攻击。只有其它虚体生物的攻击、+1或更好的魔法武器、法术、类法术能力或超自然能力可以伤害到它。

 
幽灵(spectres)、缚灵(wraiths)和其他一些生物没有肉体身体。这类生物没有实质形体,非魔法的物质或能量无法接触到这类非实体生物。同样的,它们也不能使用物体或对物体施加物理影响。但是,虚体生物具有明确的存在,这使得有时它们可以对实体生物进行一种类似物理攻击的影响。

虚体生物和人物处在一个位面,这就使得人物有机会影响到它。

虚体生物只可能被其他虚体生物、魔法武器、法术、类法术效果、超自然效果所伤害。它们免疫任何非魔法伤害。它们不会被正常火焰烧到,不会受到自然寒冷的影响,也不怕凡世的酸。

如果伤害源自实体,即便是被魔法或魔法武器攻击时虚体生物依然有50%的几率忽视任何伤害--除非是力场效果或由幽冥武器(ghost touch)所造成的伤害。虚体生物免疫重击、宿敌的额外伤害、偷袭的额外伤害。它们可以向任何方向移动(包括上和下)。它们不需在地面行走。它们可以随心所欲的穿越固体,但当眼睛处在固体中时它们无法视物。

隐匿在固体中的虚体生物在聆听技能检定上获得+2环境加值,因为声波在固体传播的更好。精确定位一个处于固体之中的对手与精确定位隐形对手使用相同规则(见下:隐形)。

虚体生物无法被听到,除非它们故意弄出声音。

虚体生物的物理攻击忽视物质盔甲,甚至是魔法盔甲,除非是由力场构成(例如法师护甲(mage armor)或防御护腕(bracers of armor)),或具有幽冥(ghost touch)能力。

虚体生物在水中与在空气中一样行动自如。

虚体生物不会跌落也不会受到跌落伤害。

实体生物不能摔绊或擒抱虚体生物。

虚体生物没有重量,不会引发由重量引发的陷阱。

虚体生物不会留下脚印,没有气味,除非出现否则不会有声音,即便这样也只会在它们有意时发出声音。
!! Inevitable(制裁者)


制裁者是将执行多元宇宙中的自然法规作为其唯一存在目的的构装生物。

每种制裁者都被设计成能寻找并惩罚某种特定的罪行,捉拿违犯了基本法规的个人或团队。当一个制裁者被制造出来时,它会接到它的第一次任务,然后去找到犯法者并给予其适当的惩罚。判决通常为死刑,但一些制裁者会坚决要求犯罪的团队进行补偿,并使用指使术或审判烙印或来确保其服从。从它起步开始,制裁者会完全专注于它的目标。无论线索多么模糊,任务多么无望,它都会坚持不懈。

制裁者一心一意地追击它们的猎物,它们奉命不干涉无辜者。它们猎物的同伙是可以攻击的对象,然而,有些时候这会在它们的程序中产生矛盾。

制裁者很乐意牺牲自己完成任务,但它们并没有自杀倾向。如果失败不可避免,它们可能撤退寻找其他机会。它们是坚定而耐心的对手。它们与能帮助完成任务的其他人合作,但联盟总是很短暂。

制裁者处于监视模式时在人群中格外醒目,但它们看起来对此毫不在意。它们形态各异,但所有的制裁者都是金银制的发条生物,齿轮和活塞就是它们的肌肉。它们的眼睛闪烁着金色的光芒。

与绝大多数的构装生物不同,制裁者拥有智力属性值,并且可以思考、学习和记忆。

制裁者说深渊语,天界语,炼狱语以及它们第一个目标的母语。

!!! 战斗
除非威胁到其自身安全,制裁者会完完全全地专注于其目标,完全忽视其他战斗人员的存在。制裁者可能会攻击任何阻碍它的人,但它若能再次着手于其目标的话则不会多做停留。制裁者十分重视自我保护;任何人若对制裁者展开它所认为能致命的攻击的话,也会受到同样致命的反击。

对抗伤害减免时,制裁者的天生武器及它所持有的任何武器,都被视为具有守序阵营。

''快速痊愈 (Ex):''制裁者只要还有1点或以上的生命值,每回合就都能治疗一定的伤害 (具体数据见各种类的详述)。然而,混乱阵营武器造成的伤害不受此能力影响。




!!Kolyarut(协约者)

''中型构装生物 (跨位面,守序)''

|''生命骰:'' 13d10+20(91hp)|
|''先攻权:'' +1|
|''速度:'' 穿混织铁甲时20尺(4格);基本陆地速度30尺|
|''防御等级:'' 27(+1敏捷,+10天生,+6混织铁甲),接触11,措手不及26|
|''基本攻击/擒抱:'' +9/+11|
|''攻击:'' 吸血鬼之触+11近战接触(5d6),或弱能射线+10远程接触(如同名法术),或+2长剑+13 近战 (1d8+5/ 19-20),或挥击 +11 近战 (1d6+3)|
|''全回合攻击:'' 吸血鬼之触+11/+6近战接触(5d6),或弱能射线+10远程接触(如同名法术),或+2长剑 +13/ +8 近战 (1d8+5/ 19-20),或挥击 +11/ +6 近战 (1d6+3)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 弱能射线,类法术能力,吸血鬼之触|
|''特性:'' 构装特性,伤害减免10/混乱,黑暗视觉60尺,快速痊愈5,昏暗视觉,法术抗力22|
|''豁免:'' 强韧+6,反射+7,意志+7|
|''属性:'' 力量14,敏捷13,体质-,智力10,感知17,魅力16|
|''技能:'' 交涉+5,易容+12,收集信息+12,聆听+11,搜索+5,察言观色+12,侦察+11,生存+3 (+5追踪)|
|''专长:'' 警觉,战斗施法,强韧加强,闪电反射,类法术能力瞬发(暗示术)|
|''环境:'' 守序位面|
|''组织:'' 单独|
|''挑战等级:'' 12|
|''宝物:'' 无|
|''阵营:'' 总是守序中立|
|''进化:'' 14-22HD(中型);23-39HD(大型)|
|''等级调整:'' -|

协约者惩罚那些破坏契约和誓言的人。

在开始对付毁约者的任务之前,协约者会尽可能地去了解有关该契约或誓言的细节。协约者对那些无意或被迫破坏约定的人没有兴趣 -- 只有那些自愿违反契约违犯协约者被创造出来以维护的法律的人才是协约者的目标。如果契约的文本已经损坏,协约者会携带该契约的副本作为证据。

协约者是制裁者中最健谈的,在处理手边的麻烦之前会尝试使用一些社交窍门,比如礼貌地问候。它们能使用易容术变成几乎任何形态的人形生物,这在它们需要隐秘地追捕猎物时非常有用。

!!! 战斗
如所有制裁者一样,协约者在攻击之前有足够的耐心去研究它的目标。它会对毁约者的能力有一个了解,并且在战斗之前就能做好防御。在战斗时,它会尽快结束战斗,将流血和伤害减到最小。无论如何,协约者不会让对无辜者的担心延误或危及它的任务。

协约者最喜欢的战术是使用隐形术或易容术偷偷靠近,然后在其猎物能做出反应之前使用吸血鬼之触将其除去。如果对它完成任务有帮助的话,协约者不会因对其盟友使用吸血鬼之触提高自身力量而后悔。

对抗伤害减免时,协约者的天生武器及它所持有的任何武器,都被视为具有守序阵营。

''弱能射线 (Su):''协约者能发射一道黑色的弱能射线攻击200尺内的目标。其效果等同于弱能术 (施法等级13)。

''类法术能力:''施法等级13。该豁免检定DC基于魅力调整值。

|//任意施展// - 辨识谎言 (DC 17),易容术,惊恐术 (DC 17),人类定身术 (DC 16),隐形术,生物定位术,暗示术 (DC 16);|
|//每天1次// - 怪物定身术 (DC 17),审判烙印;|
|//每周1次// - 指使术。|

''吸血鬼之触 (Su):''通过一次近战接触攻击,协约者能够从它的敌人身上偷取生命力,如同名法术 (施法等级13)。

''技能:''在进行易容,收集信息和察言观色检定时协约者可获得+4的种族加值。



!!Marut(猎杀者)

''大型构装生物 (跨位面,守序)''

|''生命骰:'' 15d10+30(112hp)|
|''先攻权:'' +1|
|''速度:'' 穿全身甲时30尺(6格);基本陆地速度40尺|
|''防御等级:'' 34(-1体型,+1敏捷,+16天生,+8全身甲),接触10,措手不及33|
|''基本攻击/擒抱:'' +11/+27|
|''攻击:'' 挥击+22近战(2d6+12外加3d6音波或3d6电)|
|''全回合攻击:'' 2挥击+22近战(2d6+12外加3d6音波或3d6电)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 电闪雷鸣拳,类法术能力|
|''特性:'' 构装特性,伤害减免15/混乱,黑暗视觉60尺,快速痊愈10,昏暗视觉,法术抗力25|
|''豁免:'' 强韧+7,反射+6,意志+8|
|''属性:'' 力量35,敏捷13,体质-,智力12,感知17,魅力18|
|''技能:'' 专注+13,交涉+6,知识(宗教)+10,聆听+16,搜索+10,察言观色+12,侦察+16,生存+3 (+5追踪)|
|''专长:'' 能力专攻(拳),无畏一击,战斗施法,强韧加强,精通冲撞,猛力攻击|
|''环境:'' 守序位面|
|''组织:'' 单独|
|''挑战等级:'' 15|
|''宝物:'' 无|
|''阵营:'' 总是守序中立|
|''进化:'' 16-28HD(大型);29-45HD(超大型)|
|''等级调整:'' -|

猎杀者对抗那些试图抗拒自然死亡的人。

任何使用非自然的办法延续其生命的人都将成为猎杀者的目标。那些使用一些非常规手段逃脱死亡的人同样会被猎杀者视为犯罪者。那些使用魔法复活死者的人不会引起猎杀者的注意,除非他们如此做的次数太多或者复活的规模太大。

当猎杀者确认它的目标时,它会坚定并毫不留情地走向敌人,永不休眠。

!!! 战斗
一旦发现目标,猎杀者就会为它带来它一直试图逃避的死亡。那些通过死灵法术亵渎了死亡的人也许会被施以指使术或审判烙印迫使其对死亡有彻底的尊敬。猎杀者通常使用力墙术来切断目标的逃跑路线,然后在其接近肉搏范围时使用连环闪电。一旦进入肉搏范围,猎杀者会用它巨大的拳头攻击,如果被许多防御者包围则会使用死亡法阵。猎杀者会对施法者反复使用高等解除魔法,然后使用任意门和生物定位术来追捕逃跑的敌人。

对抗伤害减免时,猎杀者的天生武器及它所持有的任何武器,都被视为具有守序阵营。

''电闪雷鸣拳 (Su):''猎杀者的左拳击中物体时会发出巨大的雷声,造成额外的3d6点音波伤害而且能使目标耳聋2d6轮 (强韧豁免检定DC 31,通过则不会耳聋)。它的右拳能带来一道电击,造成额外的3d6点电伤害而且闪耀的电光能使目标目盲2d6轮 (强韧豁免检定DC 31,通过则不会目盲)。该豁免检定DC基于力量调整值,且包括猎杀者的能力专攻专长在内。

''类法术能力:''施法等级14。该豁免检定DC基于魅力调整值。

|//任意施展 //- 凌空而行,任意门,惊恐术 (DC 18),高等命令术 (DC 19),高等解除魔法,群体造成轻伤 (DC 19),生物定位术,真知术;|
|//每天1次// - 连环闪电 (DC 20),死亡法阵 (DC 20),审判烙印,力墙术;|
|//每周1次// - 地震术 (DC 22),指使术,异界传送 (DC 21)。|

''技能:''在进行专注,聆听和侦察检定时猎杀者可获得+4的种族加值。




!!Zelekhut(追迹者)

''大型构装生物 (跨位面,守序)''

|''生命骰:'' 8d10+30(74hp)|
|''先攻权:'' +0|
|''速度:'' 穿马铠时35尺(7格),飞行40尺(普通);基本陆地速度50尺,飞行速度60尺(普通)|
|''防御等级:'' 27(-1体型,+10天生,+8马铠),接触9,措手不及27|
|''基本攻击/擒抱:'' +6/+15|
|''攻击:'' 刺链+10近战(2d6+5外加1d6电)|
|''全回合攻击:'' 2刺链+10近战(2d6+5外加1d6电)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 类法术能力|
|''特性:'' 构装特性,伤害减免10/混乱,黑暗视觉60尺,快速痊愈5,昏暗视觉,法术抗力20|
|''豁免:'' 强韧+4,反射+2,意志+5|
|''属性:'' 力量21,敏捷11,体质-,智力10,感知17,魅力15|
|''技能:'' 交涉+4,聆听+9,搜索+9,察言观色+12,侦察+9,生存+3(+5追随踪迹)|
|''专长:'' 强韧加强,飞越攻击,奋力冲刺|
|''环境:'' 守序位面|
|''组织:'' 单独|
|''挑战等级:'' 9|
|''宝物:'' 无|
|''阵营:'' 总是守序中立|
|''进化:'' 9-16HD(大型);17-24HD(超大型)|
|''等级调整:'' +7|

追迹者负责追捕那些违抗审判的人,特别是那些逃避惩罚的人。追踪的专家,它们使用天生技能和魔法的组合去寻找藏匿起来的逃亡者。

追迹者最初看起来毫无危险性,但是当它将要进入战斗时,它可以通过一个即时动作将两条刺链从其前臂跳出。同样的,它也能使它那一对金色的金属翅膀从它背后出现。收起刺链或翅膀也是一个即时动作。

!!! 战斗
一旦它找到逃亡者,追迹者利用它的速度和类法术能力来封锁最可能的逃脱路线。然后它还会去保护那些无辜的旁观者。最后,它会使用刺链捉拿逃亡者,如果需要的话,它会拌摔敌人或解除敌人的武装。

对抗伤害减免时,追迹者的天生武器及它所持有的任何武器,都被视为具有守序阵营。

''类法术能力:''施法等级8。该豁免检定DC基于魅力调整值。

|//任意施展// - 锐耳术/ 鹰眼术,次元锚,解除魔法,惊恐术 (DC 16),人类定身术 (DC 15),生物定位术,真知术;|
|//每天1次// - 怪物定身术 (DC 17),审判烙印;|
|//每周1次// - 次等指使术 (DC 16)。|

''技能:''在进行搜索和察言观色检定时追迹者可获得+4的种族加值。

''专长:''由于其人马状的构造,追迹者被视为拥有骑乘战斗专长。
!!!群体造成致命伤(Inflict Critical Wounds, Mass)
|死灵系|
|''等级:''牧师 8|
|该法术作用类似群体造成轻伤(mass inflict light wounds),但造成4d8 +每施法者等级1点(最多+40)伤害。|
!!!造成致命伤(Inflict Critical Wounds)
|死灵系|
|''等级:''牧师 4,破坏 4|
|该法术作用类似造成轻伤(inflict light wounds),但造成4d8 +每施法者等级1点(最多+20)伤害。|
!!!群体造成轻伤(Inflict Light Wounds, Mass)
|死灵系|
|''等级:''牧师 5,破坏 5|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''每等级1个生物,任意两者相距不超过30英尺|
|''持续时间:''立即|
|''豁免:''意志,通过减半|
|''法术抗力:''可|
|负能量从目标点开始向各个方向扩散,对附近的活物造成1d8+每施法者等级1点(最多+25)伤害。|
|如同其他的造成伤害法术,群体造成轻伤治疗而不是伤害亡灵。能自发施展造成伤害法术的牧师也能自发施展群体造成轻伤。|
!!!造成轻伤(Inflict Light Wounds)
|死灵系|
|''等级:''牧师 1,破坏 1|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:''立即|
|''豁免:''意志,通过则减半|
|''法术抗力:''可|
|当你的手放在生物身体上时,你引导负能量造成1d8+每施法者等级1点(最多+5)伤害。|
|由于不死生物是用负能量作为能源,因此该法术治疗等量的伤害,而不是伤害它们。|
!!!造成微伤(Inflict Minor Wounds)
|死灵系|
|''等级:''牧师 0|
|''豁免:''意志,通过无效|
|该法术作用类似造成轻伤,但造成1点伤害。成功的意志豁免不是使其伤害减半,而是抵消它。|
!!!群体造成中度伤(Inflict Moderate Wounds, Mass)
|死灵系|
|''等级:''牧师 6|
|该法术作用类似群体造成轻伤,但造成2d8+每施法者等级1点(最多+30)伤害。|
!!!造成中度伤(Inflict Moderate Wounds)
|死灵系|
|''等级:''牧师 2|
|该法术作用类似造成轻伤,但造成2d8+每施法者等级1点(最多+10)伤害。|
!!!群体造成重度伤(Inflict Serious Wounds, Mass)
|死灵系|
|''等级:''牧师 7|
|该法术作用类似群体造成轻伤,但造成3d8+每施法者等级1点(最多+35)伤害。|
!!!造成重伤(Inflict Serious Wounds)
|死灵系|
|''等级:''牧师 3|
|该法术作用类似造成轻伤,但造成3d8+每施法者等级1点(最多+15)伤害。|
!!!精神错乱(Insanity)
|惑控系(胁迫) [影响心灵]|
|''等级:''术士/法师7|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''1个生物|
|''持续时间:''立即|
|''豁免:''意志,通过无效|
|''法术抗力:''可|
|该生物遭受持续性的困惑术(confusion)效果,效果等同于原法术。|
|移除诅咒(Remove curse)不能移除精神错乱,而高等复原术(Greater restoration),医疗术(heal),有限祈愿术(limited wish),神迹术(miracle)或是祈愿术(wish)可以。|
!!!疫病虫群(Insect Plague)
|咒法系(召唤)|
|''等级:''牧师 5,德鲁伊 5|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一轮|
|''距离:''远距 (400英尺+40英尺/等级)|
|''效果:''每三级一片蝗虫群,任何一群都必须和另外至少一群相邻近|
|''持续时间:''1分钟/每等级|
|''豁免:''无|
|''法术抗力:''不可|
|你召唤每三级一片蝗虫群(在18级达到最多的6群)。召唤出来时这些虫群中任何一群都必须和另外至少一群相邻近()。蝗虫群能和其他生物处于同一空间,因此你可以这样召唤虫群。虫群会攻击任何处在占据范围内的其他生物,当召唤完成后虫群不会移动,也不会追击从中间离开的生物。|
''Instant Fortress(迪恩的折叠要塞)'': 这是一个小金属方块,启动后瞬间变成底20英尺平方、高30英尺的要塞。要塞各面布有箭孔,顶端为城垛,金属墙面深入地下10英尺,根基稳固难以推倒。要塞只有一个小门,唯有使用者才能开关,即使“敲击术”也无法打开此门。
要塞的精金墙有100点生命值,硬度20。要塞只能以“愿望术”或“奇迹术”修复,每次回复50点。
要塞会在启动一轮后出现,小门面对使用者,依命令瞬间开关。附近的生物若被瞬间长出的要塞撞到,会受10d10点伤害(反射检定通过则减半,DC=19)。
要塞通过命令恢复原状(與展開它的命令不同)如果要塞不是空的,就不能折疊起來。
Strong conjuration; CL 13th; Craft Wondrous Item, mage’s magnificent mansion; Price 55,000gp.
!!!即刻召唤(Instant Summons)
|咒法系(召唤)|
|''等级:''术士/法师 7|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''见下文|
|''目标:''一个不重于6磅或是线度不超过6英尺的物品|
|''持续时间:''永久直到散发|
|''豁免:''无|
|''法术抗力:''不可|
|你将一件无生命的物体从任何地点直接传到你的手上。|
|首先,你必须在该物品上印下秘法印记(arcane mark)。然后你施展这个法术,用魔法将这个物品的名字隐形地刻在一块价值不低于1,000金币的蓝宝石上。之后当你说出一个关键字(在施法时设定)并打破该宝石的时候,该物品会瞬间被召唤在你的手上,你也只能如此利用这块宝石。|
|如果那件物品正在被其他生物所持有,该法术不会起作用,但进行召唤时你能知道是谁拥有该物品并大概地得知该物品的位置。|
|在宝石上的印记是不可见的。除非使用阅读魔法(read magic),不然对你以外的任何人也是不可读的。|
|物品可以跨位面传送,但要求必须是无主的。|
|//法术材料://价值不低于1,000金币的蓝宝石。|
!!!护身掌(Interposing Hand)
|塑能系 [力场]|
|''等级:''术士/法师 5|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''10英尺大小的手|
|''持续时间:''1轮/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''可|
|护身掌能够在你和一个敌人之间创造一只大型魔法手。无论你如何改变位置,也不管你的敌人如何尝试绕过去,这只飘浮的无实体的手也会移动以确保始终处在在你们两者之间,并为你在对抗这个敌人时提供遮掩(+4AC)。没有什么能欺骗这只手,不论黑暗、隐形、变形或是任何隐藏或易容,它会一直跟随着选定的敌人。但它也不会攻击敌人。|
|护身掌大约长10英尺,五指张开时也大概那么宽。它的生命值和你施法时未受伤的情况下相同,它的AC为20(-1体型,+11天生)。它会和一般生物一样承受伤害,但大多数不造成伤害的法术对它无效。|
|这只手永远不会被敌人所借机攻击。它不能穿过力场墙(wall of force),也无法进入反魔场(antimagic field),但它会受到虹光法墙(prismatic wall)与虹光法球(prismatic sphere)的全部效果。这只手的豁免检定与其施法者相同。|
|解离术(Disintegrate)或是成功的解除魔法(dispel magic)会摧毁这只手。|
|体重2,000磅或以下的生物能以半速从这只手边挤过去。体重2,000磅以上的生物的速度不会受此手影响,但攻击依然会受阻。|
|选择新目标是一个移动等效动作。|
|//器材://一只软手套。|
!! Intimidate(威吓)(魅力)

''检定:''你可以用一次成功的检定来改变他人态度。你的威吓检定要和对方修正后的等级检定(1d20+人物等级或生命骰+目标感知加值[如果有]+目标对抗恐惧的豁免修正)进行对抗。如果你超过了对方的检定结果,那么你可以认为对方是友善的(friendly),但仅仅体现在对方受威吓时所采取的行动中。(即,对方依然保留他正常的态度,但是在受威吓期间会聊天、提供建议、给予优先帮助、或维护你的利益等。更多详情见之前的交涉技能说明。)只要你还能看见他,该效果就会一直持续,之后还会持续1d6乘10分钟。在此之后,对方对你的默认态度会转变为不友善(unfriendly)(如果开始时已经是不友善,那么将会转变为敌对(hostile))。

如果在检定中失败5或者更多,对方会提供给你一些错误或无用的信息,或者其他类似对你没帮助的事情。

//挫伤敌人士气://你还可以在战斗中用威吓来削弱敌人的信心。要这么做需要做一次威吓检定来和对方的修正等级检定(见前)对抗。如果你胜出了,对方将会战栗(shaken)1轮。战栗的人物在攻击检定、属性检定、以及豁免上都受到-2减值。你只能威胁一个你近战中能威胁到的敌人,同时对方必须能看见你。

''动作:''可变。改变他人态度需要1分钟的互动。在战斗中威吓敌人是一个标准动作。

''重试:''随意,但是并不推荐,因为重试通常不起作用。即使最初的检定获得成功,其他人也至多能被威吓那么多,重试没有帮助。如果最初的检定失败,他人可能更加坚定他的立场来抵抗威吓,重试是无用的。

''特别:''你的体型每比对方大一级在你的威吓检定上就会获得+4加值。相应的,你的体型每比对方小一级在你的威吓检定上就会获得-4减值。

免疫恐惧的角色不会被威吓到,也不能威吓没有智力的生物。

''共效:''如果你在唬骗上级数达到5或者更多,你在威吓上有+2加值。

!!! 调查员(INVESTIGATOR)[一般专长]

''效果:''在搜集信息和搜索检定上获得+2的加值。

!!!消除隐形(Invisibility Purge)
|塑能系|
|''等级:''牧师 3|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''个人|
|''目标:''自身|
|''持续时间:''1分钟/每等级(可解消)|
|你被一种可以中和任何形式隐形的球形力量所包围,该球形的半径是每施法者等级5英尺。|
|任何隐形事物在此区域内都会显形。|
!!!隐形法球(Invisibility Sphere)
|幻术系(五官幻觉)|
|''等级:''吟游诗人 3,术士/法师3|
|''法术成分:''言语,姿势,材料|
|''区域:''接触的人或物周围的半径10英尺球形弥漫区域|
|该法术作用类似隐形术,但会使受术者周围半径10英尺内的所有生物隐形。影响区域的起源点会随着受术者移动。|
|受影响的生物可以看见彼此,也能看到自己,如同他们没有受到影响一样。任何已经受影响的生物移出该区域后会显形,而施法后再移入的生物不会隐形。隐形的生物(除了受术者本身)进行攻击只会使自身显形。如果受术者本身进行攻击,则隐形法球结束。|
!!!高级隐形术(Invisibility, Greater)
|幻术系(五官幻觉)|
|''等级:''吟游诗人 4,术士/法师4|
|''法术成分:''言语,姿势|
|''目标:''自身或接触到的生物|
|''持续时间:''1轮/每等级(可解消)|
|''豁免:''意志,通过无效(无害)|
|该法术类似隐形术,但进行攻击不会终止法术。|
!!!群体隐形术(Invisibility, Mass)
|幻术系(五官幻觉)|
|''等级:''术士/法师 7|
|''法术成分:''言语,姿势,材料|
|''距离:''远距 (400英尺+40英尺/等级)|
|''目标:''任意数量生物,任意两者之间相距不得超过180英尺|
|该法术类似隐形术。但法术效果随着这群生物一起进行的,直到受术者中的任意一人攻击为止。受术者无法看见彼此。一个受术者只要移动至距离群体中离他最近的受术者180英尺以上,他身上的法术会中止。(如果只有两个个体受术,那么当一个受术者移动离开另外一个受术者180英尺以上时,他身上的法术会中止。如果彼此都互相离开,那么当它们之间的距离超过180英尺时会同时显形。)|
|//法术材料://一小根包在透明胶内的睫毛。|
''Invisibility(隐形):''这是一只朴实的银戒指,启动后穿戴者可成为隐形状态,效果如同“隐形”。注意:启动该戒指是一个标准动作。

施法者等级:3。先决条件:“锻造戒指”,“隐形”。交易价格:20000金币。
运用这项能力四处走动不是绝对安全的。他们无法被看到,但能被听到、闻到、感觉到。

视觉系统包括黑暗视觉无法探测到隐形生物。

仅靠隐形不能让生物免疫重击,但能让生物免疫偷袭和巡林客宿敌带来的附加伤害。

在30尺内,一个生物可以通过一次成功的DC 20 的侦察技能检定来觉察到一个活动着的隐形生物。观察者的直觉提示他“那里有人”,但还是不能看到它,也不能准确的瞄准对方。当隐形生物静静的保持不动时很难被发现(DC 30)。一个未活化的物体,保持静止的无生命生物,或完全不能动的生物更难被发现(DC 40)。利用侦察技能几乎不可能精确指出隐形生物的位置(+20 DC),甚至当人物成功通过检定,隐形生物依然受益于全隐蔽状态(对手有50%的失手几率)。

生物可通过听觉找到隐形生物。该生物可以每轮为此以一个即时动作使用聆听技能。聆听技能检定的结果至少要等于隐形生物的潜行技能检定的结果才能揭示他的存在(如果隐形生物在潜行技能上没有级数,那么以经过防具惩罚后的敏捷检定代替潜行技能检定)。一次成功的检定使人物可以听到隐形生物“在那边某处”。听觉技能几乎无法精确定位一个隐形生物,除非聆听检定结果超过DC 20点。

''利用听觉技能发现隐形生物的DC''

|!	隐形生物处于……	 |!	DC	 |
|^	战斗或交谈	 |^	0	 |
|^	以一半速度移动	 |^	潜行技能检定结果	 |
|^	以正常速度移动	 |^	潜行技能检定结果-4	 |
|^	奔跑或冲锋	 |^	潜行技能检定结果-20	 |
|^	有一定距离	 |^	每10尺+1	 |
|^	障碍物之后(门)	 |^	+5	 |
|^	障碍物之后(石墙)	 |^	+15	 |


 

生物可通过触摸发现隐形生物。一个人物可以以一个标准动作来利用手或武器对两个邻近的5尺方格进行接触攻击。如隐形生物在指定的区域,接触攻击有50%的失手几率。如果成功,该人物不会造成伤害但能成功标出隐形生物的当前方位(很明显,如果隐形生物移动了,那么他的方位将再次不可知)。

如果隐形生物击中了一个人物,该人物会知道攻击者的方位(直到隐形生物移动为止)。一个例外是隐形生物远离5尺之外。在这种情况下,被攻击者知道隐形生物大致方位但无法精确指出。

如果人物想攻击已被他确认位置的隐形生物,他可以正常攻击,但隐形生物仍从全隐蔽状态中受益(50%失手几率)。攻击特别大和特别慢的生物的失手几率可能比较低。

如果人物想攻击尚未被他确认位置的隐形生物,那么让玩家指明攻击的区域。如果隐形生物在那里,按正常情况操作。如果隐形生物不在那里,那么如同隐形生物在那里一样掷出失手几率,但不让玩家知道结果,而告诉他他失手了。这样玩家就无法知道他失手是因为敌人不在那里还是你成功掷出失手值。

如果隐形生物拣起可见物体,那么物体依然是可见的。可以利用粉末喷洒在隐形生物身上来标出他的位置(除非粉末被抖落)。隐形生物可以把拣起的小东西藏在身上(袋子里或斗篷后),这样它就不可见了。

隐形生物会留下痕迹。他们也会被正常的追踪。在沙地、泥地或其它柔软表面上的脚印将为敌人提供自己位置的线索。

在水中的隐形生物会排开水,从而出透露他的位置。但它依然很难被看见,同时也能获得隐蔽带来的好处。

和可见生物一样,隐形生物会被具有灵敏嗅觉能力(scent)的生物侦测到。

具有盲斗(Blind-Fight)专长的生物可以更有效的击中隐形生物。他需要掷两次失手几率,如果都失败的话则失手(或掷一次25%的失手几率代替两次50%的失手几率)。

具有盲视能力(blindsight)的生物可以无视隐形而攻击(和用类似的方式影响)隐形生物。

隐形的火把仍然发光,同样附有光亮术(light)(或类似法术)的隐形物体也一样。

灵体生物是隐形的。由于灵体生物没有物质上的存在,侦察技能、聆听技能、灵敏嗅觉、盲斗和盲视都无法对找到或攻击它们提供帮助。虚体生物通常是隐形的。灵敏嗅觉、盲斗和盲视对找到或攻击隐形虚体生物没有帮助,但侦察技能可以是有帮助的,听觉技能也有可能。

隐形生物无法使用凝视攻击。

隐形无法阻碍侦测(detect)类法术。

因为一些生物能侦测甚至看到隐形生物,因此隐形状态下躲藏依然是有帮助的。

!!!隐形术(Invisibility)
|幻术系(五官幻觉)|
|''等级:''吟游诗人 2,术士/法师2,诡计2|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''个人或接触|
|''目标:''自身,或一个生物,或不重于100磅/每等级的物品|
|''持续时间:''1分钟/每等级(可解消)|
|''豁免:''意志通过无效(无害) ,或意志通过无效(无害,物品)|
|''法术抗力:''可(无害),或可(无害,物品)|
|被接触的生物或物品变得不可见,从视线中消失,就算有黑暗视觉也无法发现他们。若受术者有装备,也一并消失。如果是放在别人身上,你和你的盟友也无法看见他,除非你能看见隐性的物品或者使用魔法来这么做。|
|从隐形者身上掉出或放下的物品会显形;被其拿起的物品如果放入他穿戴的衣服或口袋内则会消失。光线是不会隐形的,尽管光源可以隐形(因此效果是光从看不见的光源上发出)。被携带的物品超出10尺的部分不会隐形。|
|当然目标并非被魔法消声,而且在有些情况下依然会被注意到(如在泥地中行走)。如果受术者攻击任何生物,则法术结束。可中止法术的攻击包括:向敌人或是包含有敌人的区域施法。(谁是敌人是根据隐形生物的态度判断。)只针对未被持用物品的动作不会结束该法术。间接伤害不是攻击。所以隐形者可以开门、交谈、进食、爬楼梯、召唤怪兽并指引它们攻击,当敌人过桥时剪断系住桥的绳索,或是远程触动陷阱,开门放狗等等。如果直接攻击,那么隐形者将和他的装备一起立即现形。只影响盟友而不影响敌人的法术(如祝福(bless))并不算攻击,就算范围内有敌人存在。|
|可以使用魔法恒定术(permanency)恒定隐形术(仅能用在物品上)。|
|//奥术材料://一小根包在透明胶内的睫毛。|
!!Invisible Stalker(隐形潜伏怪)

''大型元素生物 (风系,跨位面)''

|''生命骰:'' 8d8+16(52hp)|
|''先攻权:'' +8|
|''速度:'' 30尺(6格),飞行30尺(完美)|
|''防御等级:'' 17(-1体型,+4敏捷,+4天生),接触13,措手不及13|
|''基本攻击/擒抱:'' +6/+14|
|''攻击:'' 挥击+10近战(2d6+4)|
|''全回合攻击:'' 2挥击+10近战(2d6+4)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' -|
|''特性:'' 黑暗视觉60尺,元素特性,天生隐形,精通追迹|
|''豁免:'' 强韧+4,反射+10,意志+4|
|''属性:'' 力量18,敏捷19,体质14,智力14,感知15,魅力11|
|''技能:'' 聆听+13,潜行+15,搜索+13,侦察+13,生存+2(+4追随踪迹)|
|''专长:'' 战斗反射,精通先攻,专攻武器(挥击)|
|''环境:'' 风元素位面|
|''组织:'' 单独|
|''挑战等级:'' 7|
|''宝物:'' 无|
|''阵营:'' 通常是中立|
|''进化:'' 9-12HD(大型);13-24HD(超大型)|
|''等级调整:'' -|

隐形潜伏怪是风元素位面的生物。它们有时会服务于召唤它们法师和术士,为其完成特殊的任务。

被召唤的隐形潜伏怪会执行召唤者的任何命令,即使那任务会送它去成百上千里外也一样。此生物遵循命令直到任务完成,并且只听命于召唤者。然而,它们怨恨过长或过复杂的人物,并且会想办法寻找指令中的漏洞并曲解它。

隐形潜伏怪的形态不固定。识破隐形法术只能看到模糊的云状轮廓,真知术则显示为一朵翻滚的蒸汽云。

隐形潜伏怪只能说风族语但是可以理解通用语。

!!! 战斗
隐形潜伏怪利用空气本身作为武器。它能制造出一道急速强烈旋转的风,并用它来攻击与此生物处于同一位面的目标。

只有当隐形潜伏怪位于风元素位面时它才能被杀死。在其他地方执行任务时,如果受到了足够摧毁它的伤害它就会自动返回它所居住的位面。

''天生隐形 (Su):''这项能力是持续的,可以让隐形潜伏怪保持隐形,即使攻击时也一样。这项能力是与生俱来的,不会受到消除隐形法术影响。

''精通追迹 (Ex):''隐形潜伏怪是完美的追踪者,它们在追踪生物的踪迹时,进行侦察检定,而不是通常的生存检定。 

''隐形(Invisible):''无法被视力探察。隐形生物攻击非隐形生物时在攻击掷骰上有+2加值,并忽视他的敏捷加值对AC的奖励。(见特殊能力中隐形的说明。)

''坚韧:''这种盔甲能让使用者获得5/魔法的伤害减免。

强烈防护系或塑能系(如果使用了奇迹术(miracle))灵光;CL14;制造魔法武器和防具,石肤术(stoneskin),奇迹术(miracle)或祈愿术(wish);价格+3加值。
''Ioun Stones'': 这些石头会在使用者身旁3英尺内飘浮于空中。使用者获得“艾恩石”之后,必须先握在手中,然后放掉,接下来这颗石头会在距其头部1d3英尺的圆形轨道上旋转。此后若要将石头与使用者强行分开,必须抓住或网住石头。使用者可以自行将石头收起(例如睡觉时)以确保安全,但此时石头的功效也无法发挥。“艾恩石”的AC为24,生命值10点,硬度5。

|!	颜色	 |!	形状	 |!	功效	 |!	价格	 |
|^	透明	 |^	纺锤	 |^	不须水和食物也可以维持生命	 |^	4,000gp	 |
|^	土红	 |^	菱形	 |^	+1AC偏斜加值	 |^	5,000gp	 |
|^	深红	 |^	球形	 |^	+2敏捷增强加值	 |^	8,000gp	 |
|^	兰色	 |^	球体	 |^	+2感知增强加值	 |^	8,000gp	 |
|^	蓝色	 |^	菱形	 |^	+2力量增强加值	 |^	8,000gp	 |
|^	粉红	 |^	菱形	 |^	+2体质增强加值	 |^	8,000gp	 |
|^	粉红和绿	 |^	球体	 |^	+2魅力增强加值	 |^	8,000gp	 |
|^	深红和蓝色	 |^	球体	 |^	+2智慧增强加值	 |^	8,000gp	 |
|^	深蓝色	 |^	菱形	 |^	警觉(如同名专长)	 |^	10,000gp	 |
|^	鲜紫色的	 |^	纺锤	 |^	存储法术等级总和3级的法术	 |^	36,000gp	 |
|^	七彩	 |^	纺锤	 |^	不须空气也可维持生命	 |^	18,000gp	 |
|^	淡绿	 |^	椭圆	 |^	吸收不超过四级的法术-1	 |^	20,000gp	 |
|^	珍珠白	 |^	纺锤	 |^	每小时回复1点伤害	 |^	20,000gp	 |
|^	淡绿	 |^	棱镜	 |^	在攻击检定、豁免检定和其他检定有+1表现	 |^	30,000gp	 |
|^	橘色	 |^	棱镜	 |^	+1施法者等级	 |^	30,000gp	 |
|^	淡紫和绿	 |^	椭圆	 |^	吸收不超过八级的法术-2	 |^	40,000gp	 |

|1 吸收法术等级总和达到二十级,石头失去作用|
|2吸收法术等级总和达到五十级,石头失去作用|

珍珠白“艾恩石”具有的回复功效与“再生戒指”相同(只能回复石头生效期间所受的伤害);淡紫“艾恩石”与淡紫及绿色“艾恩石”作用与“吸收法力权杖”相同,但须进行准备动作以吸收法力,而且被吸收的法力不能用来增强法术威力;鲜紫“艾恩石”储存的法术必须由施法者储入,但任何人都可以使用所储法术(见“储法戒指”说明)。

Moderate varied; CL 12th; Craft Wondrous Item, creator must be 12th level.
''Iron Bands of Binding(毕拉若捆仙索)'': 乍看之下是个直径三英寸的生锈铁球,仔细检视可发现此球体是由铁线缠绕而成。

说出指令并将其投往敌人后,若远程接触攻击成功,铁线就会伸展开来将敌人牢牢捆住。它可以捆住体型为大型或更小的生物,使其无法移动,直到再度说出指令收回铁球为止。该生物若通过力量检定(DC=30),可以破坏(且永久毁损)此索,若通过“脱逃”检定(DC=30)则可挣脱捆绑。

Strong evocation; CL 13th; Craft Wondrous Item, grasping hand; Price 26,000gp;Weight 1 lb.
!!!钢筋铁骨(Iron Body)
|变化系|
|''等级:''土 8,术士/法师 8|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''个人|
|''目标:''自身|
|''持续时间:''1分钟/每等级(可解消)|
|此法术使你变得有生命的钢铁,从而具有多种强大的抵抗与防御能力。|
|你获得15/精金的伤害减免。你对目盲、重击、属性伤害、耳聋、疾病、溺水、电、毒、震慑免疫,同时免疫所有影响生理机能及呼吸方面的法术,因为在法术影响期间你已完全没有生理反应和呼吸。你对任意种类的酸和火只受一半伤害。但所有那些能影响铁魔像的特殊攻击也能对你造成伤害。|
|你在力量上获得+6增强加值,但在敏捷上承受-6减值(最低到1),并且速度减半。你的奥术失败率达到50%并有-8的防具检定减值,就如同身穿全身甲。你不能饮水(因此不能使用药剂)或演奏吹奏乐器。|
|你的徒手攻击看作武装攻击,伤害如同和你体型对应的木棒(小体形1d4,中体形1d6)。|
|你的体重增加10倍,这是你在水中如石头般下沉。但你能承受水底的高压和无空气状态——至少在法术持续时间内。|
|//奥术材料://一小块铁块,必须曾是铁魔像、英雄盔甲或是战争机器的一部分。|
''Iron Flask(收妖瓶)'': 瓶身镶满白银符文,黄铜瓶盖上刻有法印、刻符、符咒和特别记号。若使用者对其他界域的生物说出指令,该生物须进行意志检定(DC=19),失败就被收入瓶内。此效果距离为60英尺。瓶中只能有一个生物,打开瓶盖就会放出瓶内生物。

指令每一天只能使用一次。

如果放出生物时说出指令,该生物被迫在一小时内听从开瓶者的命令。如果开瓶时没有说出指令,则生物会按其天性行事(除非有其他理由,否则通常会攻击使用者)。如果想强迫同一生物再度进入瓶内,该生物豁免检定有+2加值,而且会变得非常愤怒并具有敌意。冒险途中得到的“收妖瓶”内可能装有下列生物:


|!	d%	 |!	生物	 |!	d%	 |!	生物	 |
|^	01–50	 |^	空瓶	 |^	89	 |^	恶魔(迷诱魔)	 |
|^	51–54	 |^	大型风元素	 |^	90	 |^	恶魔(魅魔)	 |
|^	55–58	 |^	箭鹰	 |^	91	 |^	魔鬼(奥塞魔)	 |
|^	59–62	 |^	大型土元素	 |^	92	 |^	魔鬼(巴霸魔)	 |
|^	63–66	 |^	索尔石怪	 |^	93	 |^	魔鬼(欲魔)	 |
|^	67–70	 |^	大型火元素	 |^	94	 |^	魔鬼(恐纳魔)	 |
|^	71–74	 |^	火蜥蜴	 |^	95	 |^	天界生物(鹏羽天)	 |
|^	75–78	 |^	大型水元素	 |^	96	 |^	天界生物(迦勒天)	 |
|^	79–82	 |^	成年突蟹龟	 |^	97	 |^	弗米蚁卫	 |
|^	83–84	 |^	史拉红蟾	 |^	98	 |^	史拉蓝蟾	 |
|^	85–86	 |^	弗米监工蚁	 |^	99	 |^	邪兽鬼	 |
|^	87	 |^	恶魔(弗洛魔)	 |^	100	 |^	恶魔(巴洛)或魔鬼(深渊炼魔)机会各半	 |
|^	88	 |^	恶魔(狂战魔)	 |^		 |^		 |

Strong conjuration; CL 20th; Craft Wondrous Item, trap the soul; Price 170,000gp (empty);Weight 1 lb.
!!! 钢铁意志(IRON WILL)[一般专长]

''效果:''所有意志检定获得+2加值。
!!!金刚木(Ironwood)
|变化系|
|''等级:''德鲁伊 6|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1分钟/每变化1磅|
|''距离:''0英尺|
|''效果:''一件金刚木质的物品,重量最多5磅/每等级|
|''持续时间:''一天/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|金刚木是德鲁伊从普通木材创造出的一种魔法材质。在保留木头的几乎所有天然特质的同时,金刚木在强度,重量和抗火上如同钢铁。会影响金属的法术对金刚木无效,但会影响木材的法术会影响金刚木,不过金刚木不会燃烧。将此法术与塑木术(wood shape)或木头相关的手艺检定结合,你能制作出功能犹如钢铁制品的木制品。因此,木剑和木铠甲可以与钢铁制造的一样使用。德鲁伊可以不受限制地使用这些物品。|
|另外,如果你仅制造出的法术正常限制数量一半的金刚木,那么以此制造出的任何武器、盾牌、盔甲都视作魔法物品,具有+1增强加值。|
|//法术材料://削成成品形状的木头。|
!!!迷舞(Irresistible Dance)
|惑控系(胁迫)[影响心灵]|
|''等级:''吟游诗人 6,术士/法师8|
|''法术成分:''言语|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:''1d4+1轮|
|''豁免:''无|
|''法术抗力:''可|
|受术者感受到无法抑制的强烈跳舞欲望并开始这么做,他会开始摇头晃脑打拍子。受术者除了手舞足蹈外什么都不能做。他的防御等级上获得-4减值,并在反射豁免上承受-10减值,并无法获得任何来自盾牌的AC加值。跳舞的生物在他每轮行动时会引发借机攻击。|
''Ivory Goats: 象牙山羊'':三个一组,长相略有不同,功能也不同:

*旅行山羊:除了长相之外,此山羊的速度和负重都和拉车马一样。每周最多可以使用24小时(不须连续),时限到或说出指令就会变回塑像,且在一天之内不能再使用。

*剧痛山羊:活化后成为庞大的生物,比牛还大,能力和梦魇相同,但多出一对特大的邪恶羊角(伤害为1d8+4点/1d8+4点)。进行冲刺攻击时只能用羊角作武器(若攻击成功则伤害+6点)。每月只能使用一次,每次最多12小时

*惊骇山羊:活化后像战马座骑,能力和轻型战马相同(只是毛较多)。骑乘者可以用山羊角作为武器(其中一支羊角可当作+3长枪,另一支可当作+5长剑)。攻击时还能对半径30英尺内的敌人发出“恐惧术”(DC=16)。每两周可以使用一次,每次最多3小时。

每个象牙山羊使用三次之后,便永远失去魔力。

施法者等级:11。先决条件:“制造奇物”,“活化物体”。交易价格:21000金币。
''Javelin of Lightning(闪电标枪):''
这支标枪投出后化为一道能造成5d6伤害的闪电(反射DC14伤害减半)。攻击后武器即毁坏。

微弱塑能系灵光;CL5;制造魔法武器和防具,闪电束(lightning bolt);价格1500金币;制造花费750金币+30经验值。

!! Jump(跳跃)(力量;防具检定减值)

''检定:''DC和你能跳跃的距离和你尝试的跳跃类型有关(见后)。

你的跳跃检定会根据你的速度而得到修正。如果你的速度为30尺,那么在检定上没有速度修正。如果你的速度低于30尺,那么每比30尺低10尺在检定上就要受到-6减值。如果你的速度比30尺高,那么每比30尺高10尺在检定上就会受到+4加值。

这里给出的所有跳跃DC都假定你有助跑,助跑需要你跳跃前在直线上移动至少20尺。如果你没有这样的助跑,那么跳跃DC翻倍。

//跳远://跳远是一个水平方向的跳跃,用来越过豁口,比如裂隙或溪流。在跳跃的中点处,你垂直方向的高度等于水平距离的四分之一。此类跳跃DC等于跳跃的距离(以英尺计算)。

如果你检定成功,你站着到达远端。如果你失败的数字比5小,则你没能达到距离,但是你可以做一个DC15的反射检定来抓住豁口边缘。你以抓住远端边缘的方式结束移动。如果这样会导致你挂在裂隙或溪流上,要爬上去需要一个移动动作和DC15的攀爬检定。

 
|!	跳远的距离	|!	跳跃DC^^1^^	|
|^	5尺	|^	5	|
|^	10尺	|^	10	|
|^	15尺	|^	15	|
|^	20尺	|^	20	|
|^	25尺	|^	25	|
|^	30尺	|^	30	|
|^	1 //需要20尺助跑距离,没有助跑的情况下DC加倍。	//|<|



 

//跳高://跳高是一个垂直方向的跳跃,用来触及高处的岩石或抓住头上方的东西。这类跳跃DC等于你跳起距离的4倍。

如果你跳起来抓某些东西,你需要做一次成功的跳跃检定来触及你期望的高度。如果你想把自己拉上去,你可以用一个移动动作和DC15的攀爬检定来做到。如果你跳跃检定失败,那么你没有达到那个高度,并且将会站着落在你起跳的同一点。和跳远一样,如果没有至少20尺的助跑跳跃DC会翻倍。

|!	跳高的距离^^1^^ 	|!	跳跃DC^^2^^	|
|^	1尺 	|^	4	|
|^	2尺 	|^	8	|
|^	3尺 	|^	12	|
|^	4尺 	|^	16	|
|^	5尺 	|^	20	|
|^	6尺 	|^	24	|
|^	7尺 	|^	28	|
|^	8尺 	|^	32	|
|^	1 //不包括垂直高度;见后。//	|<|
|^	2 //需要20尺助跑距离,没有助跑的情况下DC加倍。//	|<|


很显然,触及到给定高度的难度和角色或生物的体型有关。给定体型的一般生物其最大垂直触及(即该生物无需跳跃即可触及到的最大高度)在下表中给出。(作为中体型生物,典型的人类不用跳跃就可以触及8尺高度)。

匍匐生物的垂直触及距离和站立生物不同,视它们为体型小一级的生物。

|!	生物体型 	|!	垂直触及	|
|^	超巨型(Colossal)	|^	128尺	|
|^	巨型(Gargantuan) 	|^	64尺	|
|^	超大型(Huge) 	|^	32尺	|
|^	大型(Large) 	|^	16尺	|
|^	中型(Medium) 	|^	8尺	|
|^	小型(Small) 	|^	4尺	|
|^	超小型(Tiny) 	|^	2尺	|
|^	微型(Diminutive) 	|^	1尺	|
|^	超微型(Fine) 	|^	1/2尺	|


 

//小跳(Hop Up)://你可以通过DC10的跳跃检定跳上一个和你腰部一样高的物体,例如桌子或者较小的圆台石。这么做计为移动10尺,因此如果你的速度为30尺,那么你可以先移动20尺然后跳上一个台子。小跳不需要助跑,因此如果没有助跑跳跃DC也不会翻倍。

//跳下://如果你有意从高处跳下,你遭受的伤害会比从那个高度跌落所受到的少。从高处跳下的DC是15。跳下不需要助跑,因此如果没有助跑跳跃DC也不会翻倍。

如果你在此检定中成功,你所受到的坠落伤害按照从比实际位置低10尺的地方跌落计算.

''动作:''无需动作。跳跃检定包含在你的移动中,因此它是你移动动作的一部分。如果你在跳跃中用完了你的移动,你的下一个动作(或者在本轮里,或者如果有必要在你下一轮里)必须是一个移动动作来完成整个跳跃。

''特别:''任何增加你速度的效果都会同时增加你的跳跃距离,因为你的检定是根据你的速度调整的。

如果你有奔跑专长,你在任何助跑后的跳跃检定上都能获得+4加值。

因为手脚利落,半身人在跳跃检定上有+2种族加值。

如果你有杂技专长(Acrobatic),在跳跃检定上有+2加值。

''共效:''如果在翻滚上级数达到5或更高,你在跳跃检定上获得+2加值。

如果在跳跃上级数达到5或更高,你在翻滚检定上获得+2加值。
!!!跳跃术(Jump)
|变化系|
|''等级:''德鲁伊 1,巡林客 1,术士/法师1|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:''1 分钟/每等级(可解消)|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可|
|受术者在跳跃技能检定上获得+10增强加值。当施法者等级为5时该增强加值增加为+20,当施法者等级为9时该加值增加为+30(此时达到最大)。|
|//材料成分://一只蚱蜢后腿,在施法时折断。|
''Jumping, Improved(强化跳跃):'' “跳跃”检定有+10加值,且不受原本最大跳跃距离限制。

施法者等级:1。先决条件:“锻造戒指”,“跳跃术”。交易价格:2500金币/10000GP。
''Jumping(跳跃):''此戒指使穿戴者随时带有“跳跃术”法术效果,其“跳跃”检定有+5加值,且不受原本最大跳跃距离限制。
!!!锐锋术(Keen Edge)
|变化系|
|''等级:''术士/法师 3|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一件武器,或五十件投射物,在施法的时候所有这些投射物都必须互相接触|
|''持续时间:''10 分钟/每等级|
|''豁免:''意志,通过则无效(无害,物体)|
|''法术抗力:''可(无害,物体)|
|这个法术可以使一件武器锋利异常,提升其重击能力。 此法术使武器的重击范围加倍。 原重击范围为20者变为19-20,原为19-20者变为17-20,原为18-20者变为15-20。 此法术只能施展在穿刺或挥砍武器上。 如果施展在箭或矢上,那么无论是否击中目标,这支箭矢上的锐锋术都会中止。(在这个法术的使用中,视手里剑为箭类武器,而非投掷武器。)|
|多种增加武器重击范围的效果(例如锐锋术和精通重击专长)不能相叠加。 你不能将此法术施展在天生武器上,比如爪抓。|
''Keen(锐锋):''
这一特殊能力可以加倍武器的重击威胁范围。只有穿刺或挥砍型武器能具有此能力。(如果在为钝击武器随机掷特殊能力时掷出此能力,则重掷特殊能力。)锐锋效果不能和其他任何能扩展重击范围的效果叠加(比如锐锋术(keen edge)和精通重击专长)。

中等变化系灵光;CL10;制造魔法武器和防具,锐锋术(keen edge);价格 +1加值。

''Ki Focus(真气):''
这种武器通过使用者体内的气发挥作用,允许使用者在未穿防具时使用她体内特殊的气进行攻击。这些攻击包括震慑破、斗气击和渗透劲,效果等同于震慑拳专长。只有近战武器能具有此能力。

中等变化系灵光;CL8;制造魔法武器和防具,只能由武僧制造;价格+1加值。
!!!敲击术(Knock)
|变化系|
|''等级:''术士/法师2|
|''法术成分:''言语|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''一扇门,一个箱子或盒子,面积不超过10平方英尺/每等级|
|''持续时间:''瞬间;见下文|
|''豁免:''无|
|''法术抗力:''不可|
|敲击术可以打开被卡住、闩住、锁住、封住以及被秘法锁(arcane lock)锁住的门。它可以打开密门,也可以打开上锁的盒子或密件箱。也可以用来松开焊缝、镣铐或者锁链(前提是它们保持闭合状态)。 此法术不能移除秘法锁,只是使其在10分钟能失去作用。 在所有其他的情况下,被打开的门都不会自行再次锁住或是卡住。敲击术不能使抬起木栅城门或者类似的障碍(例如铁闸门),它也不能影响绳索、藤蔓之类的东西。 法术效果受法术区域的限制。 每次施法可以移除两种阻碍门打开的原因。|
 

''吹倒(Knocked Down):''由于体型关系,一个生物可以被一阵强风吹倒。在地面上的生物会被吹倒趴下。飞行生物会被吹后1d6 x 10尺。

 
!!!指北术(Know Direction)
|预言系|
|''等级:''吟游诗人 0,德鲁伊 0|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''立即|
|你可以得知哪个方向是北方。 此法术在任何存在“北方”概念的环境中都有效,但是在异界中可能失去效果。 此法术只是在你施展的瞬间使你知道北方的位置,如果你没有借助参照物来保持确定方向的话,你有可能再次迷失方向。|
!! Knowledge(知识)(智力;需受训)

就像手艺和专业技能一样,知识技能也包含了很多独立的技能子项。知识是对某一学问的研究,可能是学院理论,也可能是系统训练。

下面列出一般常见的知识子项。

*神秘(Arcana)(古代秘密,魔法传统,神秘符号,神秘词句,构造生物,龙,魔法兽)
*建筑与工程(Architecture and engineering)(建筑物,水道,桥梁,防御工程)
*地下城(Dungeoneering)(异怪,洞窟,泥状怪物,洞穴冒险)
*地理(Geography)(土壤,地形,气候,人文)
*历史(History)(皇室,战争,殖民,迁徙,城建)
*地方(Local)(传说,名人,住民,律法,风俗,传统,类人生物)
*自然(Nature)(动物,精类生物,巨人,人形怪物,植物,季节交替,气候,虫类生物)
*贵族与皇室(Nobility and royalty)(家族,纹章,家谱,家训,名人)
*宗教(Religion)(神祗,神话历史,教职传统,圣徽,不死生物)
*位面(The planes)(内层位面,外层位面,星界,灵界,异界生物,元素生物,位面相关魔法)

''检定:''找到研究领域的问题答案DC分别为10(非常简单的问题),15(基础问题),或20到30(有相当难度的问题)。

大部分情况下,你可以使用此技能来识别怪物和它们的能力或弱点。一般来说,DC等于10+怪物HD。成功的检定可以让你想起关于某个怪物的一部分有用信息。

检定结果每比DC高5点就能获得另外一些信息。

''动作:''通常不需要动作。大部分情况下做知识检定不需要花费任何动作,你只是知道或不知道答案。

''重试:''不能重试。检定结果就是人物对该事物的了解程度,对一个主题再次思考不会让你知道以前从未学过的东西。

''共效:''如果在知识(神秘)上级数达到5或更高,你在辨识法术(Spellcraft)检定上获得+2加值。

*如果在知识(建筑和工程)上级数达到5或更高,你在搜索密门或隐藏房间检定上获得+2加值。
*如果在知识(地理)上级数达到5或更高,你在防止迷路或避免自然灾害的生存(Survival)检定上获得+2加值。
*如果在知识(历史)上级数达到5或更高,你在逸闻知识(bardic knowledge)检定上获得+2加值。
*如果在知识(地方)上级数达到5或更高,你在收集信息(Gather Information)检定上获得+2加值。
*如果在知识(自然)上级数达到5或更高,你在地表自然环境(水域,沙漠,森林,丘陵,沼泽,山脉,平原)下的生存(Survival)检定上获得+2加值。
*如果在知识(贵族和皇室)上级数达到5或更高,你在外交(Diplomacy)检定上获得+2加值。
*如果在知识(宗教)上级数达到5或更高,你在驱散不死生物(turning undead)检定上获得+2加值。
*如果在知识(位面)上级数达到5或更高,你在在其他位面的生存(Survival)检定上获得+2加值。
*如果在知识(地下城)上级数达到5或更高,你在地下的生存(Survival)检定上获得+2加值。
*如果在知识(神秘)上级数达到5或更高,你在辨识法术(Spellcraft)检定上获得+2加值。
*如果在生存上级数达到5或更高,你在知识(自然)检定上获得+2加值。

''未受训:''未受训的知识检定只是简单的智力检定。因为没有实际的受训过,你只能获得普通问题(DC10或以下)的答案。

''狗头人,一级武者''

''小型类人生物(爬行类)''

|''生命骰:'' +1|
|''先攻权:'' 30英尺(6格)|
|''速度:'' 15(+1体形,+1敏捷+1天然防御,+2皮甲),接触12,措手不及14|
|''防御等级:'' +1/–4|
|''基本攻击/擒抱:'' 长矛+1近战(1d6–1/x3)或投石索+3远程(1d3)|
|''攻击:'' 长矛+1近战(1d6–1/x3)或投石索+3远程(1d3)|
|''全回合攻击:'' 5英尺/5英尺.|
|''面宽/触及:'' —|
|''特殊攻击:'' 黑暗视力60英尺,光亮敏感。|
|''特性:'' 强韧+2,反射+1,意志–1|
|''豁免:'' 力量9,敏捷13,体质10,智力10,感知9,魅力8|
|''属性:'' 手艺(制造陷阱)+2,躲藏+6,聆听+2,潜行+2,专业(矿工)+2,搜索+2,侦察+2|
|''技能:'' 警觉|
|''专长:'' 温暖的森林|
|''环境:'' 小群(4–9),一帮(10–100个个体加上相等数量的非战斗人员,加上每20个成年个体一个3级士官和一个4到6级领袖),战团(10–24个加上2~4只凶暴獾),或部落(40–400个个体加上每20个成年个体一个3级士官,1或2个4或5级副官,一个6~8级的领袖,以及5~8只凶暴獾)|
|''组织:'' 1/4|
|''挑战等级:'' 标准|
|''宝物:'' 通常是秩序邪恶|
|''阵营:'' 根据角色等级|
|''进化:'' +0|
|''等级调整:'' -|


狗头人是有着怯弱而残暴倾向的矮小的爬行类类人生物。

狗头人的有鳞皮肤从暗锈色到暗黑色不等。它们有着闪烁的红色眼睛,长着不能蜷曲的尾巴。狗头人衣衫褴褛,他们偏好红色和橙色。狗头人高2~2.5英尺,重35~45磅。他们用一种好象小狗吠叫一般的声音说龙语。

!!!战斗
狗头人喜欢在拥有淹没对手*至少是敌人的两倍人数--的可能时发动战斗,否则他们宁愿选择欺骗,假如这一可能性跌破下限,他们立刻就拔腿跑路。但是,只要人数相当,他们对进入视野的侏儒必然会发起攻击。

他们以投掷石弹作为战斗的序曲。只有当他们看到他们的敌人被削弱时才会投入近战。只要可能,他们就会在陷阱区附近设置埋伏。

''光线敏感(Ex):''狗头人在明亮阳光或日光术范围内处于目眩状态。
''技能:''狗头人在手艺(制造陷阱),专业(矿工)和搜索上有+2种族奖励。
这里的范例狗头人武者在调整前的属性为: 力量 13,敏捷 11, 体质 12,智力 10, 感知 9, 魅力 8。

''挑战等级:''拥有NPC职业的狗头人的挑战等级相当于他们的等级–3。

!!!狗头人人物
狗头人人物拥有以下种族特性。

* –4力量, +2敏捷, –2 体质。
*小体型: 防御奖励获得+1奖励, 攻击骰获得+1奖励, 在躲藏上获得+4奖励, 擒抱时获得-4惩罚, 推举和携带物品重量上限为中体形人物的3/4.
*狗头人的陆地基础速度是30英尺(6格)
*黑暗视力60英尺
*种族技能:狗头人人物在手艺(制造陷阱),专业(矿工)和搜索检定上有+2种族奖励
*种族专长:狗头人人物以他们的职业获得专长
* +1天生防御
*特殊能力(如上):光线敏感
*天生语言:龙语。奖励语言:通用语,地底通用语
*天赋职业:术士
*等级调整+0



!!Kraken(深海乌贼)

''巨型魔法兽(水生)''

|''生命骰:'' 20d10+180(290hp)|
|''先攻权:'' +4|
|''速度:'' 游泳20尺(4格)|
|''防御等级:'' 20(-4体型,+14天生),接触6,措手不及20|
|''基本攻击/擒抱:'' +20/+44|
|''攻击:'' 触腕+28近战(2d8+12/19–20)|
|''全回合攻击:'' 2触腕+28近战(2d8+12/19–20)和6腕+23近战(1d6+6)和撕咬+23近战(4d6+6)|
|''面宽/触及:'' 20尺/15尺(连同触腕60尺,连同腕30尺)|
|''特殊攻击:'' 精通攫抓,紧勒2d8+12或1d6+6|
|''特性:'' 黑暗视觉60尺,墨汁云,喷射,昏暗视觉,类法术能力|
|''豁免:'' 强韧+21,反射+12,意志+13|
|''属性:'' 力量34,敏捷10,体质29,智力21,感知20,魅力20|
|''技能:'' 专注+21,交涉+7,躲藏+0,恐吓+16,知识(地理)+17,知识(自然)+16,聆听+30,搜索+28,察言观色+17,侦查+30,生存+5(追踪时+7),游泳+20,使用魔法装置+16|
|''专长:'' 警觉,盲斗,寓守于攻,精通重击(触腕),精通先攻,精通绊摔,钢铁意志|
|''环境:'' 温暖的水域|
|''组织:'' 单独|
|''挑战等级:'' 12|
|''宝物:'' 三倍标准|
|''阵营:'' 通常是中立邪恶|
|''进化:'' 21-32HD(巨型);33-60HD(超巨型)|
|''等级调整:'' —|

深海乌贼有六条长达30尺的腕;还有两条布满倒钩差不多60尺长的触腕。喙状的嘴位于触手交汇身体较低的地方。

深海乌贼说通用语和水族语。

!!!战斗
深海乌贼会用它带刺的触腕攻击,攥住那些倒霉蛋排碎他们的武器,或者把他们卷进自己的大嘴里。对放如果持有武器就可以如击破武器一样对抗深海乌贼的触腕和腕。深海乌贼的每条触腕有20点生命,而每条腕有10点生命。如果深海乌贼用一条触腕或腕擒抱对手,它会用另一条肢体进行因击破武器而获得的借机攻击。成功切断一条触腕或腕将对深海乌贼造成相当于该肢体本身生命值一半的伤害。通常深海乌贼在丢失全部的触腕或三条以上腕的时候就会逃走。这些失去的肢体将在1d10+10天内再生。

''精通攫抓(特异):''使用该能力之前,深海乌贼必须用它的触腕或腕命中对方。它能立即用即时动作展开擒抱而不遭到借机攻击。如果他在擒抱检定中获胜,还能定身和造成紧勒。

''紧勒(特异):''成功通过擒抱检定深海乌贼将自动造成腕或触腕伤害。

''喷射(特异):''每轮一次深海乌贼可以使用一个全回合动作向后喷射,获得280的速度。它必须直线移动,喷射时它不会遭到借机攻击。

''墨汁云(特异):''深海乌贼每分钟能以即时动作喷出一团80尺扩散墨汁一样黑的液体。这团云将提供全遮蔽,深海乌贼通常使用它来从敌人的攻击中逃脱。位于黑云内的生物视为受到黑暗术影响。

''类法术能力:''每日1次-操控天气,操控风向,支配动物(DC18),抵抗元素伤害。施法者等级9。此项豁免DC基于魅力。

''技能:''深海乌贼在进行水中特技动作和躲避危险时游泳检定获得+8种族加值。它可以任意对游泳检定取10,即使是在匆忙或是受威胁的情况下。它能够在游泳中使用奔跑动作,但只能直线前进。
!!Krenshar(骨面斑兽)

''中型魔法兽''

|''生命骰:'' 2d10(11hp)|
|''先攻权:'' +2|
|''速度:'' 40尺(8格)|
|''防御等级:'' 15(+2敏捷,+3天生),接触12,措手不及13|
|''基本攻击/擒抱:'' +2/+2|
|''攻击:'' 啮咬+2近战(1d6)|
|''全回合攻击:'' 啮咬+2近战(1d6)和2爪抓+0(1d4)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 群体惊恐|
|''特性:'' 黑暗视觉60尺,昏暗视觉,嗅觉灵敏|
|''豁免:'' 强韧+3,反射+5,意志+1|
|''属性:'' 力量11,敏捷14,体质11,智力6,感知12,魅力13|
|''技能:'' 躲藏+4,跳跃+9,聆听+3,潜行+6|
|''专长:'' 多重攻击,追踪B|
|''环境:'' 温暖的森林|
|''组织:'' 单独,成双或成群(6-10)|
|''挑战等级:'' 1|
|''宝物:'' 无|
|''阵营:'' 通常是中立|
|''进化:'' 3-4HD(中型);5-8HD(大型)|
|''等级调整:'' +2|

骨面斑兽是种不可思议的像猫一样的食肉动物,头部皮肤出奇的柔软。一只典型的骨面斑兽约有4-5尺长,头部狭长。重约175磅。

!!!战斗

骨面斑兽会派一个侦察兵将猎物引入伏击圈。然后侦察兵自躲藏地现身,对猎物使用惊吓能力,然后加入攻击的队伍追击那些猖狂逃窜的猎物。

''群体惊恐(特异或超自然):''使用一个标准动作,骨面斑兽能将面皮从脑袋上撤下来,头部的肌肉和骨骼结构。这个动作足以让它们的对手恐惧(视同以+3加值进行哄骗检定)。使用群体惊恐能力时还伴有尖叫,效果如同3级施法者施展的群体惊恐法术(意志检定DC13)。生物一旦成功通过豁免检定,则在24小时内不再受此骨面斑兽的群体惊恐能力影响。这种尖叫不会对其他骨面斑兽产生效果。这是超自然,影响心灵的声音恐惧效果。
此项豁免检定基于魅力。

''技能:''骨面斑兽在跳跃和潜行技能检定时获得+4种族加值。
!!Lamia(人身狮)

''大型魔法兽''

|''生命骰:'' 9d10+10(58hp)|
|''先攻权:'' +2|
|''速度:'' 60尺(12格)|
|''防御等级:'' 18(-1体型,+2敏捷,+7天生),接触11,措手不及16|
|''基本攻击/擒抱:'' +9/+17|
|''攻击:'' 接触+12近战(1d4感知吸取)或匕首+12近战(1d6+4/19-20)或爪抓+12近战(1d4+4)|
|''全回合攻击:'' 接触+12近战(1d4感知吸取)或匕首+12/+7近战(1d6+4/19-20)和2爪抓+7近战(1d4+2)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 类法术能力,感知吸取|
|''特性:'' 黑暗视觉60尺,昏暗视觉|
|''豁免:'' 强韧+7,反射+8,意志+7|
|''属性:'' 力量18,敏捷15,体质12,智力13,感知15,魅力12|
|''技能:'' 哄骗+14,专注+10,交涉+3,易容+1(+3对表演),躲藏+11,恐吓+3,侦查+11|
|''专长:'' 闪避,钢铁意志,灵活移动,跳跃攻击|
|''环境:'' 温暖的沙漠|
|''组织:'' 单独,成双或成群(3-4)|
|''挑战等级:'' 6|
|''宝物:'' 无|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 10-13HD(中型);14-27HD(大型)|
|''等级调整:'' +4|

一头人身狮大约有8尺高重700磅。

!!!战斗

虽然人身狮在近战中强大而危险,但它们对于公正的战斗毫无兴趣。它会使用幻术能力将英雄们诱入危险境地,然后使用跳跃攻击离开阴影吸取对方的感知。在耗尽对方的意志后,它将使用魅惑能力使这些不幸的灵魂落入圈套。被迫进行物理攻击的时候,人身狮会用人类的手臂挥舞匕首,或用狮爪抓挠。

''类法术能力:''任意施展-易容术,腹语术;每日3次-魅惑怪物(DC15),高等幻影(DC14),镜影术,暗示术(DC14);每日1次-深度睡眠(DC14)。施法者等级9。此项豁免DC基于魅力。

''感知吸取(超自然):''人身狮每次成功的近战接触攻击将吸取1d4点感知。(不像其他吸取攻击,人身狮不能借由吸取的感知恢复自身伤害),人身狮会在遭遇开始时使用本能力,使对方更易受到魅惑和暗示的影响。

''技能:''人身狮在哄骗和躲藏技能检定时获得+4种族加值。 
!!Lammasu(翼狮)

''大型魔法兽''

|''生命骰:'' 7d10+21(59hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格),飞行60尺(普通)|
|''防御等级:'' 20(-1体型,+1敏捷,+10天生),接触10,措手不及19|
|''基本攻击/擒抱:'' +7/+17|
|''攻击:'' 爪抓+12近战(1d6+6)|
|''全回合攻击:'' 2爪抓+12近战(1d6+6)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 猛扑,耙抓1d6+3,法术|
|''特性:'' 黑暗视觉60尺,昏暗视觉,反邪恶法阵,类法术能力|
|''豁免:'' 强韧+8,反射+8,意志+7|
|''属性:'' 力量23,敏捷12,体质17,智力16,感知17,魅力14|
|''技能:'' 专注+13,交涉+4,知识(神秘)+13,聆听+13,察言观色+13,侦察+15|
|''专长:'' 盲斗,钢铁意志,闪电反射|
|''环境:'' 温带沙漠|
|''组织:'' 单独|
|''挑战等级:'' 8|
|''宝物:'' 标准|
|''阵营:'' 总是守序善良|
|''进化:'' 8-10HD(大型);11-21HD(超大型)|
|''等级调整:'' +5|

翼狮约8尺长,重约500磅。翼狮会说通用语,龙语和天界语。

!!!战斗

翼狮使用法术或其利爪攻击。它们只要发现有善良生物正在受到邪恶的威胁就会加入战斗。

''法术:''翼狮可以如等级7的牧师一样施放法术,可以从牧师法术列表中选择法术,并且可以从以下领域中选择两个:善良,医疗,知识或秩序。

//典型牧师准备法术 (6/ 6/ 5/ 4/ 2;豁免DC 13 + 法术等级)://

|0级 - 侦测魔法,神导术 (2),光亮术,阅读魔法,提升抗力;|
|1级 - 祝福术 (2),侦测邪恶,神恩,熵光护盾,防护邪恶*;|
|2级 - 援助术*,熊之坚韧,牛之力量,次等复原术,抵抗能量伤害;|
|3级 - 昼明术,解除魔法,反邪恶法阵*,移除诅咒;|
|4级 - 圣光击*,中和毒性。|
|*领域法术。领域:善良和医疗。|

''反邪恶法阵 (Su):''翼狮被影响范围半径20尺的反邪恶法阵持续笼罩着。

''类法术能力:''施法等级7。

|//每天2次 //- 高等隐形术 (仅限自身);|
|//每天1次// - 任意门。|

''猛扑 (Ex):''翼狮在冲锋敌人时可以做出全回合攻击,包括两次的耙抓攻击。

''耙抓 (Ex):''攻击加值 +12 近战,伤害1d6+3。

''技能:''在进行侦察检定时,翼狮可获得+2的种族加值。
''Lantern of Revealing(显像提灯)'': 看起来像普通的附盖提灯,但点燃之后,25英尺内所有隐形生物或物体都会显现,效果如同“消除隐形”法术。

Faint evocation; CL 5th; Craft Wondrous Item, invisibility purge; Price 30,000gp;Weight 2 lb.
''守序(Law)亚种:''此亚种通常只适用于居住在守序阵营外位面上的异界生物。绝大多数此亚种生物也具有守序阵营;但如果他们的阵营发生变化,他们仍然维持此亚种不变。在计算依赖于阵营的效果影响时,无论本身阵营如何守序亚种的生物都被视为守序阵营。它也会同样因为它的自身实际阵营而受到影响。守序亚种的生物在对抗伤害减免时,它的天生武器和任何持有的武器都视作具有守序阵营(见上文的伤害减免)。

!!! 领导力(LEADERSHIP)[一般专长]

''先决条件:''人物等级6级

''效果:''拥有此专长能使人物吸引忠诚的同伴、随从或部属来帮助他。见下表查看人物可以招募到何种类的部属(cohort)以及多少随从(followers)。

''领导力修正:''有若干因素会影响人物的领导力数值,使之由基本数值(人物等级+魅力调整值)变化为其他数值。人物的声誉(以其试图吸引的部属或随从的视角)会提升或降低其领导力数值。

|!	领导者声誉 	|!	调整值	|
|^	声名远扬	|^	+2	|
|^	公平与宽容 	|^	+1	|
|^	特殊能力 	|^	+1	|
|^	失败 	|^	-1	|
|^	冷漠	|^	-1	|
|^	残酷 	|^	-2	|

 

适用于部属的领导力调整值:

|!	领导者 … 	|!	调整值	|
|^	拥有魔宠、特殊座骑或动物伙伴 	|^	-2	|
|^	招募不同阵营的部属	|^	-1	|
|^	造成部属死亡	|^	-2*	|
|^	* //每个部属死亡的效果会累计//	|<|


 

适用于随从的领导力调整值:

|!	领导者…	|!	调整值	|
|^	拥有堡垒、指挥中心、工会建筑等	|^	+2	|
|^	时常迁移	|^	-1	|
|^	造成随从死亡	|^	-1.	|


|!	领导力值	|!	部属等级	|!	 各等级随从数量	|!		|!		|!		|!		|!		|
|^		|^		|^	1st	|^	2nd	|^	3rd	|^	4th	|^	5th	|^	6th	|
|^	1或以下	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	2	|^	1	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	3	|^	2	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	4	|^	3	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	5	|^	3	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	6	|^	4	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	7	|^	5	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	8	|^	5	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	9	|^	6	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	10	|^	7	|^	5	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	11	|^	7	|^	6	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	12	|^	8	|^	8	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	13	|^	9	|^	10	|^	1	|^	-	|^	-	|^	-	|^	-	|
|^	14	|^	10	|^	15	|^	1	|^	-	|^	-	|^	-	|^	-	|
|^	15	|^	10	|^	20	|^	2	|^	1	|^	-	|^	-	|^	-	|
|^	16	|^	11	|^	25	|^	2	|^	1	|^	-	|^	-	|^	-	|
|^	17	|^	12	|^	30	|^	3	|^	1	|^	1	|^	-	|^	-	|
|^	18	|^	12	|^	35	|^	3	|^	1	|^	1	|^	-	|^	-	|
|^	19	|^	13	|^	40	|^	4	|^	2	|^	1	|^	1	|^	-	|
|^	20	|^	14	|^	50	|^	5	|^	3	|^	2	|^	1	|^	-	|
|^	21	|^	15	|^	60	|^	6	|^	3	|^	2	|^	1	|^	1	|
|^	22	|^	15	|^	75	|^	7	|^	4	|^	2	|^	2	|^	1	|
|^	23	|^	16	|^	90	|^	9	|^	5	|^	3	|^	2	|^	1	|
|^	24	|^	17	|^	110	|^	11	|^	6	|^	3	|^	2	|^	1	|
|^	25或更高	|^	17	|^	135	|^	13	|^	7	|^	4	|^	2	|^	2	|



//领导力值://人物的基本领导力值等于其等级加上魅力调整值。为了处理负的魅力调整值,上表列出了非常低的领导力值,但人物依然必须达到6级之后才可选择领导力专长。外在因素会影响到人物的领导力值,如上表所列。

//部属等级://代表人物可以吸引到的部属等级,但不论他的领导力值有多少,都不能招募到与自己同等级或更高等级的部属。部属的装备应适合于其等级。人物可以尝试吸引特定种族、职业以及阵营的部属。部属的阵营不可以在守序-无序或是善良-邪恶的阵营轴线上与领导的阵营相反,并且领导招募与其自己不同阵营的部属时会有领导力减值。

部属按如下规则获得经验值:

当确定团队总经验值时部属不计算在内。

将部属的等级除以其跟随的玩家(即拥有领导力专长吸引其成为部属的人物)的等级。

将该值乘以玩家获得的总经验值,并把得到的数字加在该部属的总经验值上。

如果部属获得了足够经验值而使其等级能够升到比有关玩家人物的等级低一级,则该部属不能升到这一级-其经验值将为达到该等级的经验值减1。

//每个等级的随从数量://人物每等级能领导的随从数量如上表所列。随从类似于部属,但一般为级别较低的非玩家人物。由于他们的级别一般低于所追随的人物5级以上,所以在战斗中很少有用。

随从不会获得经验值,因此也不会升级。但当拥有领导力的人物升级时,玩家可以参考上表确定是否招募到了更多随从,其中部分可能比现有随从级别更高。(但部属升级则不参考上表,因为部属自己独立的获得经验值。)
!!!通晓传奇(Legend Lore)
|预言系|
|''等级:''吟游诗人 4,知识 7,术士/法师6|
|''法术成分:''言语,姿势,材料,器材|
|''施法时间:''见下文|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''见下文|
|通晓传奇可以使你得到关于某个重要人物、地点或者事物的传奇事迹。如果该人或事物就在你的眼前,或者你就在该地点,则 施法时间只需要1d4x10分钟。如果你只有关于该人物、地点或事物的详细信息,则施法时间需要1d10天,且得到的信息将不那么完整而明确(但是它通常足以使你找到该人、地点或事物,如此你可以再次使用通晓传奇来得到更好的结果)。 如果你只知道些许的传闻,则施法时间 需要2d6个星期,而且只能得到模糊的片段信息(但是你可以籍此找到更多信息以便再次使用通晓传奇来得到更好的效果)。|
|''在施法期间你只能进行普通的日常活动,如:''进食,睡眠等。当法术成功时,关于该人、地点或事物的传奇(如果有的话)就会映入你的意识之中。 这些传奇也许仍然被人传诵,或者已被遗忘,甚至从来不为人知。 如果该人物、地点或事物没有任何传奇事迹,则你一无所获。 一般来说,11级或以上的人物,他们的对手,他们主要的魔法物品,以及他们重要事迹的发生地,都可算做“传奇”的内容。|
|''法术材料:''价值至少250金币的香料。|
|//器材://围成方形的4支象牙(每根至少价值50金币)。|
''Lens of Detection(侦查透镜)'': 此圆形棱柱可让使用者更容易看清事物细节,“搜索”检定有+5加值。追迹时的“野外求生”检定有+5加值。此镜直径约六英寸,放在架子里,并附有提把。

Moderate divination; CL 9th; Craft Wondrous Item, true seeing; Price 3,500gp; Weight 1 lb.

!!Leonal(狮首神使)

''中型异界生物 (跨位面,善良)''

|''生命骰:'' 12d8+60(114hp)|
|''先攻权:'' +3|
|''速度:'' 60尺(12格)|
|''防御等级:'' 27(+3敏捷,+14天生)|
|''基本攻击/擒抱:'' +12/+20|
|''攻击:'' 爪抓+20近战(1d6+8)|
|''全回合攻击:'' 2爪抓+20近战(1d6+8)及啮咬+15近战(1d8+4)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 怒吼,猛扑,精通攫抓,耙抓1d6+8,类法术能力|
|''特性:'' 伤害减免10/邪恶和银,黑暗视觉60尺,对电及石化免疫,圣疗,昏暗视觉,护体灵气,对寒冷及音波抗力10,动物交谈,法术抗力28|
|''豁免:'' 强韧+13(+17对抗毒素),反射+11,意志+10|
|''属性:'' 力量27,敏捷17,体质20,智力14,感知14,魅力15|
|''技能:'' 平衡+22,专注+12,交涉+4,躲藏+22,威吓+10,跳跃+35,知识(任意)+17,聆听+17,潜行+22,察言观色+17,侦察+17,生存+17|
|''专长:'' 平衡+22,专注+12,交涉+4,躲藏+22,威吓+10,跳跃+35,知识(任意)+17,|
|''环境:'' 善良位面|
|''组织:'' 单独或成群(4-9)|
|''挑战等级:'' 12|
|''宝物:'' 无钱币,双倍工艺品,标准物品|
|''阵营:'' 总是中立善良|
|''进化:'' 13-18HD(中型);19-36HD(大型)|
|''等级调整:'' -|


!!!!战斗
狮首神使喜欢直接了当地战斗。开始战斗时它们适用怒吼来使敌人失去平衡,然后跟随着狂怒的爪抓和啮咬攻击。它们对其相互间的默契配合引以为傲,互相注意着彼此的侧翼并准备发动破坏性的攻击。

在对抗伤害减免时,狮首神使的天生武器及它所持有的任何武器,都被视为具有善良阵营。

''怒吼 (Su):''狮首神使每天可以怒吼三次。每次怒吼都会产生一道60尺锥形的冲击波,产生如圣言的效果,并且能造成额外的2d6点音波伤害 (强韧豁免检定DC 25,通过则无效)。该豁免检定DC基于魅力调整值。

''猛扑 (Ex):''狮首神使在冲锋敌人时可以发动全回合攻击,包括两次耙抓攻击。

''精通攫抓 (Ex):''使用此能力之前,狮首神使必须通过其啮咬攻击命中对手。然后可以通过一个即时动作尝试擒抱对手,该动作不会引发借机攻击。它一旦将对手定身,就可以展开耙抓攻击。

''耙抓 (Ex):''攻击加值 +20 近战,伤害1d6+8。

''类法术能力:''施法等级10。该豁免检定DC基于魅力调整值。
|//随意施展// - 侦测思想,火球术 (DC 15),怪物定身术 (DC 17),力墙术;|
|//每天3次// - 治疗致命伤 (DC 16),中和毒性,移除疾病;|
|//每天1次// - 医疗术 (DC 18)。|

''圣疗 (Su):''除了每天狮首神使可以治疗的生命值等于其正常状态下的总生命值之外,此能力如同圣武士职业能力。

''护体灵气 (Su):''狮首神使周围20尺以内的任何人在对抗邪恶生物做出的攻击或产生的效果时,防御等级上会获得此能力提供的+4的偏斜加值,在豁免上会获得+4的抗力加值。除此之外,此灵气的作用还相当于反邪恶法阵和次等法术无效结界的效果,半径皆为20尺(施法等级等于狮首神使的生命骰)。(法阵所带来的防御上的奖励未计入狮首神使的数据中。)

''动物交谈 (Su):''此能力效果与动物交谈术 (施法等级8)相同,但这是一个即时动作而且不需要发出声音。

''技能:''在进行平衡,躲藏及潜行检定时,狮首神使可获得+4的种族加值。 
!!Leopard(豹 )

''中型动物''

|''生命骰:'' 3d8+6 (19 hp)|
|''先攻权:'' +4|
|''速度:'' 40尺 (8格),攀爬20尺|
|''防御等级:'' 15 (+4敏捷,+1天生),接触14,措手不及11|
|''基本攻击/擒抱:'' +2/ +5|
|''攻击:'' 啮咬 +6 近战 (1d6+3)|
|''全回合攻击:'' 啮咬 +6 近战 (1d6+3)及2 爪抓 +1 近战 (1d3+1)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 精通攫抓,猛扑,耙抓 1d3+1|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+5,反射+7,意志+2|
|''属性:'' 力量16,敏捷19,体质15,智力2,感知12,魅力6|
|''技能:'' 平衡+12,攀爬+11,躲藏+8*,跳跃+11,聆听+6,潜行+8,侦察+6|
|''专长:'' 警觉,武器娴熟|
|''环境:'' 温暖的森林|
|''组织:'' 单独或成对|
|''挑战等级:'' 2|
|''进化:'' 4-5HD (中型)|
|''等级调整:'' -|


这些丛林中的大猫约4尺长,重约120磅。他们通常在夜晚进行狩猎。

这里列出的数据可以用在诸如美洲豹、黑豹或山狮之类的任何相似体型的猫科动物上。

!!!战斗

''精通攫抓 (Ex):''使用此能力之前,豹必须通过其啮咬攻击击中对手。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。如果它成功将对手定身,就可以展开耙抓攻击。

''猛扑 (Ex):''当豹冲锋对手时,它可以作出全回合攻击,包括两次耙抓攻击。

''耙抓 (Ex):''攻击加值 +6 近战,伤害 1d3+1。

''技能:''在进行跳跃检定时豹可获得+8的种族加值,进行躲藏和聆听检定时可获得+4的种族加值。在进行平衡及攀爬检定时豹可获得+8的种族加值。豹可以在攀爬检定中总是取10,即使在很匆忙或受到威胁时也一样。*在长草区或浓密树丛中时,躲藏加值可提升为+8。
丧失一个等级的人物立刻失去一个生命骰。人物的基本攻击加值、基本豁免加值和特殊职业能力都将降到新的较低等级。同样的,人物将失去该等级得到的属性值、技能级数和专长(如果有的话)。

如果无法得知失去等级所得到的属性值和技能级数是什么(或玩家忘掉了),那就从最高的属性值上扣除一点,或者从最高级数的技能上失去。如果魔宠或动物伙伴的某项能力与该人物的等级相联系,那么那些能力将自动调整以适应新的等级。

受害者的经验值直接设在上一级的中点。

!!!浮空术(Levitate)
|变化系|
|''等级:''术士/法师2|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''距离:''个人或近距(25英尺+5英尺/每2等级)|
|''目标:''自己或者一个自愿的生物或者一件物品(总重量最多每等级100磅)|
|''持续时间:''1 分钟/每等级 (可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|浮空术可以使你自己、另一个生物或物品按照你的意愿上升或下降。 被移动的生物必须是自愿被浮空,而被移动的物品必须是未被持用或者是被自愿的生物所持有。你可以控制目标物以至多每轮20英尺的速度上升或下降,这属于移动动作。你无法使目标物进行水平移动,但是目标生物可以攀着悬崖表面或者贴着天花板来浮空移动(速度为该生物基本地面速度的一半)。|
|漂浮在空中的生物无法稳定地使用远程或者近战武器进行攻击,他的第一次攻击会受到-1的攻击减值,第二次攻击会有-2的减值,如此类推,最高减值为-5。如果该生物花一整轮的时间来保持平衡,下一次的攻击减值将从-1开始重新计算。|
|//器材://一根小皮圈,或者一根弯曲成杯状的金属丝,一头还有一根长钉子。|
巫妖是会施法的不死生物,通常是利用其法力以非自然的方式来延长其生命的法师或术士,有的也会是牧师或其他施法者。

巫妖是枯瘦且骷髅般的类人生物,它们凋萎的肌肉紧附在裸露的骨头上。它们的眼睛很早以前就因腐朽而消失,但是在其空洞的眼眶中仍然闪烁着针尖般的绯红光芒。

巫妖会说通用语及它生前所会的任何语言。

!!!创造巫妖
“巫妖”是能够添加到任何类人生物 (此后统称基础生物)上的模板,只要能制造出它所必须的命匣;见下“巫妖的命匣。”

除非另有注明,巫妖使用其基础生物的所有数据和特殊能力。

''体型和种类:''该生物种类变为不死生物。不要重新计算基本攻击加值,豁免及技能点数。体型不会发生改变。

''生命骰:''所有生命骰提升为12面骰。

''防御等级:''巫妖拥有+5的天生防御加值或其基础生物的天生防御加值,取其较高者。

''攻击:''巫妖拥有每轮可使用一次的接触攻击。如果其基础生物可以使用武器,那么巫妖同样也可以。拥有天生武器的生物仍然保留其天生武器。不使用武器的巫妖在战斗时会使用其接触攻击或其主要天生武器 (如果它有的话)。装备有武器的巫妖可以按其意愿使用其接触攻击或武器。

''全回合攻击:''不使用武器的巫妖在战斗时会使用其接触攻击 (见上)或其天生武器 (如果它有的话)。如果装备了一件武器,它通常使用这武器作为其主要攻击,并且只要它能够做出接触攻击的话 (能够作为一个次要攻击来使用的一只空闲的手或者一件天生武器),就可以使用其接触攻击作为天生次要攻击。

''伤害:''没有天生武器的巫妖可以使用负能量对活着的生物进行接触攻击造成1d8+5点伤害;成功通过一次意志豁免 (DC 10 + 1/2巫妖的生命骰 + 巫妖的魅力调整值)检定则伤害减半。拥有天生武器的巫妖可以按其意愿使用其接触攻击或其天生武器。如果它选择了后者,则能在一次天生武器攻击时造成1d8+5点的额外伤害。

''特殊攻击:''巫妖拥有其基础生物的所有特殊攻击,并且可以获得下述能力。除非另有注明,豁免检定DC等于10 + 1/2巫妖的生命骰 + 巫妖的魅力调整值。

''恐惧灵气 (Su):''巫妖周围笼罩着死亡与邪恶的可怕灵气。位于其半径60尺范围内生命骰小于5且注视着巫妖的生物必须通过一次意志豁免检定,否则就会受到如同与巫妖等级相同的术士所释放的恐惧术效果的影响。成功通过豁免检定的生物在24小时之内将不会再受到同一巫妖的恐惧灵气影响。

''麻痹之触 (Su):''被巫妖使用其接触攻击所击中的任何活着的生物必须通过一次强韧豁免检定,否则会永久性的麻痹。移除麻痹或任何能移除诅咒的法术可以解放受害者 (见降咒的法术描述)。此效果不能被解除。被巫妖麻痹的任何人看起来就好像死了一样。但是通过DC 20的侦察技能检定或DC 15的医疗技能检定将会发现受害者还活着。

''法术:''巫妖能释放它生前所掌握的任何法术。

''特性:''巫妖拥有其基础生物的所有特性,并且可以获得下述能力。

''驱散抗力 (Ex):''巫妖拥有+4的驱散抗力。

''伤害减免 (Su):''巫妖的不死身躯十分强韧,这使它拥有15/ 钝击和魔法 的伤害减免能力。在对抗伤害减免时,它的天生武器被视为魔法武器。

''免疫 (Ex):''巫妖对寒冷,电,变形及影响心灵的攻击免疫。

''属性:''依下列各项在基础生物属性之上增加:智力+2,感知+2,魅力+2。因为是不死生物,所以巫妖没有体质值。

''技能:''在进行躲藏,聆听,潜行,搜索,察言观色及侦察检定时,巫妖可获得+8的种族加值。其他的与基础生物相同。

''组织:''单独或一队 (1巫妖,外加2-4吸血鬼和5-8吸血衍体)。

''挑战等级:''基础生物的挑战等级+2。

''宝物:''标准钱币,双倍工艺品,双倍物品。

''阵营:''任意邪恶。

''进化:''视人物职业而定。

''等级调整:''基础生物的等级调整+4。

!!!巫妖人物
变成巫妖的过程是无法形容的邪恶,并且只有自愿的人物才能承受。巫妖保留其生前所有职业能力。

!!!巫妖的命匣
变成巫妖必不可少的部分就是制造一个用来储存生命能源的魔法命匣。按照规则,消灭巫妖的唯一方式就是摧毁其命匣。除非其命匣被定位且被摧毁,巫妖会在它看上去被杀死后的1d10天内重生。

每个巫妖都必须要制造它自己的命匣,因此必须要拥有制造奇物专长。想要变成巫妖的人必须能够施法而且其施法等级必须为11级或以上。制造命匣要花费120000 GP及4800 XP,它的施法等级等于制作时其制作者的施法等级。

最常见的命匣外形是一个被封印的装有撰刻着魔法文字的羊皮纸的金属盒。盒子为超小型,有40点生命值,硬度为20,并且其破坏DC为40。其他外形的命匣也存在,比如戒指,护符或类似的物品。
''Life-Drinker(蚀魂者):''
蚀魂者特殊的副作用使得不死生物和构装生物使用这把+1巨斧比较有利。像被不死生物打中了一样,蚀魂者在造成伤害的同时会使目标遭受两个负向等级。被砍伤一天后,目标生物必须对每个负向等级进行DC16的强韧豁免检定,失败则失去一个人物等级。

每当蚀魂者对敌人造成伤害时,使用者也要遭受一个负向等级,持续一小时。

强烈死灵系灵光;CL13;制造魔法武器和防具,弱能术(enervation);价格40320金币;制造花费20320金币+1600经验值。

!!!光亮术(Light)
|塑能系[光亮]|
|''等级:''吟游诗人 0,牧师 0,德鲁伊 0,术士/法师0|
|''法术成分:''言语,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触到的物品|
|''持续时间:''10 分钟/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|这个法术可以使物品像火炬一样发光,从你接触物体的那一点发出来的光可以照亮20英尺的范围(并且能微微的照亮另外的20英尺) 。 法术效果是固定的,但是可施展在可移动的物体上。进入魔法黑暗(darkness)内的光线无法起到作用。|
|光亮法术(有光亮描述符)可以反制或解除同级或更低等级的黑暗法术(有黑暗描述符)。|
|//奥术材料成分://一只萤火虫或一片磷光苔藓。|
!!!闪电束(Lightning Bolt)
|塑能系 [电击]|
|''等级:''术士/法师 3|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''120英尺|
|''区域:''120英尺线状|
|''持续时间:''立即|
|''豁免:''反射,通过则效果减半|
|''法术抗力:''可|
|你从指尖释放出一道强力的闪电束,对处于影响区域内的的每个生物造成每施法者等级1d6(最多10d6)的伤害。|
|闪电束会引燃可燃物,同时会损害路径上的物品。 闪电会融化某些低熔点金属,如:铅、金、铜、银和青铜。如果障碍物被击穿或是击碎,闪电会穿过障碍物继续前进,直到超出法术的最大距离。否则,闪电就象其他法术效果一样会被障碍物挡住。|
|//法术材料://一些毛皮和一块琥珀、水晶或玻璃棒|
!!! 闪电反射(LIGHTNING REFLEXES)[一般专长]

''效果:''所有反射检定获得+2加值。
!!Lillend(翼蛇人)

''大型异界生物 (混乱,跨位面,善良)''

|''生命骰:'' 7d8+14(45hp)|
|''先攻权:'' +3|
|''速度:'' 20尺(4格),飞行70尺(普通)|
|''防御等级:'' 17(-1体型,+3敏捷,+5天生),接触12,措手不及14|
|''基本攻击/擒抱:'' +7/+16|
|''攻击:'' 短剑+11近战(1d8+5/19-20)|
|''全回合攻击:'' 短剑+11/+6近战(1d8+5/19-20)及尾击+6近战(2d6+2)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 紧勒2d6+5,精通攫抓,法术,类法术能力|
|''特性:'' 黑暗视觉60尺,对毒素免疫,对火焰抗力10|
|''豁免:'' 强韧+7,反射+10,意志+8|
|''属性:'' 力量20,敏捷17,体质15,智力14,感知16,魅力18|
|''技能:'' 估价+12,专注+12,交涉+16,知识(神秘)+12,聆听+13,表演(任意1种)+14,察言观色+13,法术辨识+14,侦察+13,生存+17|
|''专长:'' 战斗施法,法术延时,闪电反射|
|''环境:'' 混乱位面|
|''组织:'' 单独或组队(2-4)|
|''挑战等级:'' 7|
|''宝物:'' 标准|
|''阵营:'' 总是混乱善良|
|''进化:'' 8-10HD(大型);11-21HD(超大型)|
|''等级调整:'' +6|

翼蛇人体长可达20尺。它重约3800磅。非常少的翼蛇人拥有男性的上半身。

翼蛇人会说天界语,炼狱语,深渊语和通用语。

!!!战斗
翼蛇人通常是和平的,除非它们正打算报复那些它们认为有意图伤害或威胁艺术、艺术品或艺术家的罪恶行为。这时它们会变成仇恨难消的死敌。在进入战斗之前,它们使用其法术和类法术能力来扰乱并削弱对手。成群的翼蛇人通常会在战斗之前商讨战术。

在对抗伤害减免时,翼蛇人的天生武器及它所持有的任何武器,都被视为具有混乱及善良阵营。

''紧勒 (Ex):''翼蛇人一旦通过擒抱检定就能制造2d6+5点伤害。紧勒能力会使用到翼蛇人的下半身,所以在紧勒时它不能使用任何移动动作,但是它仍然可以使用其手中的剑进行攻击。

''精通攫抓 (Ex):''使用此能力之前,翼蛇人必须通过其尾击攻击命中对手。然后它可以通过一个即时动作尝试擒抱对手,此动作不会引发借机攻击。如果它成功将对手定身,就可以开始紧勒。

''法术:''翼蛇人可以如等级6的诗人一样施展奥术。

//典型诗人已知法术 (3/ 4/ 3;豁免DC 14 + 法术等级)://

|0级 - 舞光术,晕眩术,侦测魔法,催眠曲,法师之手,阅读魔法;|
|1级 - 魅惑人类,治疗轻伤,鉴定术,睡眠术;|
|2级 - 人类定身术,隐形术,音鸣爆。|

''类法术能力:''施法等级10。该豁免检定DC基于魅力调整值。

|//每天3次// - 黑暗术,幻景 (DC 18),敲击术,光亮术;|
|//每天1次// - 魅惑人类 (DC 15),动物交谈术,植物交谈术。|

翼蛇人还拥有如等级6的诗人一样的吟唱能力。

''技能:''在进行生存检定时,翼蛇人可获得+4的种族加值。 
!!!有限祈愿术(Limited Wish)
|共通法术|
|''等级:''术士/法师7|
|''法术成分:''言语,姿势,消耗经验值|
|''施法时间:''1个标准动作|
|''距离:''见下文|
|''目标,效果,或区域:''见下文|
|''持续时间:''见下文|
|''豁免:''无;见下文|
|''法术抗力:''可|
|有限祈愿术差不多可以使你实现各种类型的法术效果。例如有限祈愿术可以做以下任何事:|

*复制任意一个6级或更低等级,且不属于你禁阻学派的术士或法师法术。|
*复制任意一个5级或更低等级,且不属于你禁阻学派的任何其它法术。|
*复制任意一个5级或更低等级的术士或法师法术,即便是你禁阻学派亦可。|
*复制任意一个4级或更低等级的任何其它法术,即便是你禁阻学派亦可。|
*移除一些有害的法术效果,如指使术(geas/quest)或精神错乱(insanity)。|
*产生如同上述强度的效果,如使一个生物下次攻击必然命中,或下次豁免检定受-7的减值。|
|由有限祈愿术复制产生的法术,具有和原本法术一样的豁免检定和法术抗力(但豁免检定DC以七级法术计算)。如果有限祈愿术复制一个需要消耗经验值的法术,那么你就必须付出该经验值,或支付300点经验值(以较多者为准)。如果有限祈愿术复制的法术需要使用价值1,000金币以上的材料,那么你也必须提供对应的材料成分。|
|//消耗经验值://300点或更多(见之前描述)。|
''狮头盾:''这面+2重钢盾正面刻了只咆哮着的狮头。狮头被一个即时动作启动后可以进行攻击(不依赖盾牌的使用者而独立进行),每天3次。狮头进行啮咬攻击,攻击检定加值和使用者的相同(包括多次攻击,如果使用者有的话)并造成2d6伤害。此攻击不算在使用者的动作中。

中等防护系灵光;CL10;制造魔法武器和防具,四级自然盟友召唤术(summon nature’s ally IV);价格9170金币;制造花费4670金币+360经验值。
!!Lion(狮 )

''大型动物''

|''生命骰:'' 5d8+10 (32 hp)|
|''先攻权:'' +3|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 15 (-1体型,+3敏捷,+3天生),接触12,措手不及12|
|''基本攻击/擒抱:'' +3/ +12|
|''攻击:'' 爪抓 +7 近战 (1d4+5)|
|''全回合攻击:'' 2 爪抓 +7 近战 (1d4+5)及啮咬 +2 近战 (1d8+2)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' 猛扑,精通攫抓,耙抓 1d4+2|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+6,反射+7,意志+2|
|''属性:'' 力量21,敏捷17,体质15,智力2,感知12,魅力6|
|''技能:'' 平衡+7,躲藏+3*,聆听+5,潜行+11,侦察+5|
|''专长:'' 警觉,飞跑|
|''环境:'' 温暖的平原|
|''组织:'' 单独,成对,或成群 (6-10)|
|''挑战等级:'' 3|
|''进化:'' 6-8HD (大型)|
|''等级调整:'' -|


这里列出的数据以雄性非洲狮为基准,它长5到8尺,重330到550磅。雌性体型要稍小些,但使用相同的数据。

!!!战斗

''猛扑 (Ex):''当狮冲锋对手时,它可以作出全回合攻击,包括两次耙抓攻击。

''精通攫抓 (Ex):''使用此能力之前,狮必须通过其啮咬攻击击中对手。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。如果它成功将对手定身,就可以展开耙抓攻击。

''耙抓 (Ex):''攻击加值 +7 近战,伤害 1d4+2。

''技能:''在进行平衡、躲藏及潜行检定时狮可获得+4的种族加值。*在长草区或浓密树丛中时,躲藏加值可提升为+12。
!! Listen(聆听)(感知)

''检定:''你的聆听检定要与反映了声音安静程度的DC对抗,或者要与你目标的潜行检定对抗。

|!	聆听DC 	|!	声音	|
|^	-10 	|^	一场战斗	|
|^	0 	|^	人们的谈话^^1^^	|
|^	5 	|^	一个穿着中甲的人以缓慢的步伐行走(10尺/轮),并试图不弄出声音。	|
|^	10 	|^	一个未穿甲的人以缓慢的步伐行走(15尺/轮),并试图不弄出声音。	|
|^	15 	|^	一个一级的游荡者正使用潜行技能来避开聆听者。	|
|^	15 	|^	人们的耳语^^1^^	|
|^	19 	|^	猫在悄悄走路	|
|^	30 	|^	猫头鹰俯冲攻击	|
|^	1 //如果你超过DC10或更多,并且你懂他们的语言,那么你可以听清楚他们在讲什么。//	|<|

|!	聆听DC修正	|!	情况	|
|^	+5	|^	隔着一扇门	|
|^	+15	|^	隔着一面石墙	|
|^	+1	|^	每10尺距离	|
|^	+5	|^	聆听者分心	|


在人们试着安静下来的时候,上表中给出的DC可以换成潜行的检定,在这种情况下给出的DC将是他们的平均检定结果

''动作:''可变的。每当你有机会听到动静时(例如当有人发出声音或你来到了新的区域),你都可以做一次聆听检定而不用任何动作。试着听到之前没听到的事情是一个移动动作。

''重试:''可以。你可以试着听之前没听到的事情而不会受到任何减值。

''特别:''当几个人物一起听同一件事情时,所有这些独立的聆听检定可以用一个1d20投掷来代替。

被迷魂的(fascinated)生物在被动的聆听检定上受到-4减值。

如果你有警觉专长(Alertness),你在聆听检定上有+2加值。

巡林客在使用此技能对付宿敌时在聆听检定上有加值。

精灵、侏儒、半身人在聆听检定上有+2种族加值。

半精灵在聆听检定上有+1种族加值。

睡眠中的人物在聆听检定上有-10减值。一次成功的检定会惊醒睡眠者。
!!!橡树守卫(Liveoak)
|变化系|
|''等级:''德鲁伊 6|
|''法术成分:''言语,姿势|
|''施法时间:''10分钟|
|''距离:''接触|
|''目标:''接触到的树木|
|''持续时间:''一天/每等级 (可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|此法术会把一棵橡树活化成一个守卫。这个法术只能活化一棵树木;在法术作用的期间,你不能再对另一棵树施展此法术。目标树木必须生长于你居所10英尺范围,或者在你的圣地内,或者在你想要守卫或保护的地点300英尺以内。|
|橡树守卫的目标必须是一株健康的超大型橡树。 一段控制短句放置在目标橡树上,这段短句的字数至多为每施法者等级一个字。之后橡树守卫会将橡树活化而变为一个树人(treant)。|
|如果法术被解除,橡树会立即就地生根。 如果是施法者自行解除法术,它会试着回到原本生长的地方重新生根。|
!!Lizard, Monitor(巨蜥 )

''中型动物''

|''生命骰:'' 3d8+9 (22 hp)|
|''先攻权:'' +2|
|''速度:'' 30尺 (6格),游泳30尺|
|''防御等级:'' 15 (+2敏捷,+3天生),接触12,措手不及13|
|''基本攻击/擒抱:'' +2/ +5|
|''攻击:'' 啮咬 +5 近战 (1d8+4)|
|''全回合攻击:'' 啮咬 +5 近战 (1d8+4)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉|
|''豁免:'' 强韧+8,反射+5,意志+2|
|''属性:'' 力量17,敏捷15,体质17,智力1,感知12,魅力2|
|''技能:'' 攀爬+7,躲藏+6*,聆听+4,潜行+6,侦察+4,游泳+11|
|''专长:'' 警觉,强韧加强|
|''环境:'' 温暖的森林|
|''组织:'' 单独|
|''挑战等级:'' 2|
|''进化:'' 4-5HD (中型)|
|''等级调整:'' -|

这里列出的数据以大型食肉蜥蜴为准,它们通常有3到5尺长。

!!!战斗
巨蜥极具攻击性,会使用其有力的颚来撕裂猎物或敌人。

''技能:''在进行游泳检定做出特殊动作或躲避危险时,巨蜥可获得+8的种族加值。它可以在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。

在进行躲藏及潜行检定时巨蜥可获得+4的种族加值。*在森林区域或浓密树丛中时,躲藏加值可提升为+8。
!!Lizard(蜥蜴 )

''超小型动物''

|''生命骰:'' 1/2 d8 (2 hp)|
|''先攻权:'' +2|
|''速度:'' 20尺 (4格),攀爬20尺|
|''防御等级:'' 14 (+2体型,+2敏捷),接触14,措手不及12|
|''基本攻击/擒抱:'' +0/ -12|
|''攻击:'' 啮咬 +4 近战 (1d4-4)|
|''全回合攻击:'' 啮咬 +4 近战 (1d4-4)|
|''面宽/触及:'' 2-1/2尺/ 0尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉|
|''豁免:'' 强韧+2,反射+4,意志+1|
|''属性:'' 力量3,敏捷15,体质10,智力1,感知12,魅力2|
|''技能:'' 平衡+10,攀爬+12,躲藏+12,聆听+3,侦察+3|
|''专长:'' 隐秘,武器娴熟|
|''环境:'' 温暖的森林|
|''组织:'' 单独|
|''挑战等级:'' 1/ 6|
|''进化:'' -|
|''等级调整:'' -|

这里列出的数据以如鬣蜥蜴之类的长约一道两尺的小型无毒蜥蜴为基准。

!!!战斗
蜥蜴喜欢飞行胜过战斗,但如果别无选择的话它们也能够将对手啮咬得很痛。

''技能:''在进行平衡检定时蜥蜴可获得+8的种族加值。在进行攀爬检定时蜥蜴可获得+8的种族加值,并且可以在攀爬检定中总是取10,即使在很匆忙或受到威胁时也一样。蜥蜴在进行攀爬检定时使用其敏捷调整值代替力量调整值进行检定。
!!Lizardfolks(蜥蜴人)

''中型类人生物(爬行类)''

|''生命骰:'' 2d8+2(11hp)|
|''先攻权:'' +0|
|''速度:'' 30英尺.(6格)|
|''防御等级:'' 15(+5天然防护l)或17(+5天然防护,+2大盾牌),接触10,措手不及15或17|
|''基本攻击/擒抱:'' +1/+2|
|''攻击:'' 爪抓+2近战(1d4+1)或棍棒+2近战(1d6+1)或标枪+1远程(1d6+1)|
|''全回合攻击:'' 2爪抓+2近战(1d4+1)和撕咬+0近战(1d4);或棍棒+2近战(1d6+1)和撕咬+0近战;或标枪+1远程(1d6+1)|
|''面宽/触及:'' —|
|''特殊攻击:'' 屏息|
|''特性:'' 5英尺/5英尺t.|
|''豁免:'' 强韧+1,反射+3,意志+0|
|''属性:'' 力量13,敏捷10,体质13,智力9,感知10,魅力10|
|''技能:'' 平衡+4,跳跃+5,游泳+2|
|''专长:'' 多重攻击|
|''环境:'' 温暖沼泽|
|''组织:'' 一帮(2–3),一群(6–10个加上50%非战斗人员和一个3~6级的领袖),或部落(30–60加上2个3~6级副官和一个4~10级酋长)|
|''挑战等级:'' 1|
|''宝物:'' 50%钱币;50%宝物;50%物品|
|''阵营:'' 通常是中立|
|''进化:'' 根据角色职业|
|''等级调整:'' +1|

蜥蜴人身高六到七英尺,披着灰色,绿色或是棕色的鳞片。它的尾巴长达三到四英尺,用来保持身体的平衡。蜥蜴人可以重达200到250磅。蜥蜴人说龙语。

!!!战斗
蜥蜴人打斗起来都是无组织的单独行动。他们偏好前线突击和蜂拥而上,有时候也试图逼迫敌人退入对他们更有利的水中。如果敌人的人数更多,或者敌人侵犯了他们的领地,那么他们会设置陷阱,准备伏击并且发动突然袭击以切断敌人的补给线。更开化的那些部落会使用更狡诈的战术,并会准备更好的陷阱和伏击。
屏息: 蜥蜴人能屏息相当于它的体质属性4倍轮数的时间。之后它就有可能溺水。

技能: 因为他们的尾巴,使蜥蜴人在跳跃,游泳和平衡的检定中有+4种族奖励。范例中给出的技能数值包括了-2的铠甲惩罚(游泳检定中为-4),因为范例携带着一面大盾牌。

!!!蜥蜴人人物
蜥蜴人人物拥有以下种族特性。

* +2 力量, +2 体质, –2 智力.
*中等体形
*蜥蜴人的基础陆地速度为30英尺.
*种族生命骰: 一个蜥蜴人起始拥有两个类人生物等级。这给予它+1基础攻击加值,以及强韧+3,反射+0,意志+0的基础豁免.
*种族技能: 一个蜥蜴人的类人生物等级给予它5x(2+智力调整)的技能点。它的职业技能是跳跃,游泳与平衡。蜥蜴人在跳跃,游泳和平衡的检定中有+4种族奖励
*种族专长: 蜥蜴人的类人生物等级给予它一个专长
*武器铠甲熟练:蜥蜴人自动熟悉简单武器和盾牌
* +5天然防护。
*天然武器:2爪抓(1D4)和咬(1D4)
*特殊能力(见上):屏息
*天赋语言:龙语,通用语。额外语言:水族语,地精语,豺狼人语,兽人语
*天赋职业:德鲁伊
*等级调整:+1
!!!生物定位术(Locate Creature)
|预言系|
|''等级:''吟游诗人 4,术士/法师4|
|''法术成分:''言语,姿势,材料|
|''持续时间:''10 分钟/每等级|
|该法术作用类似于物品定位术(locate object),只是此法术可用来测知一个已知或熟悉的生物位置。|
|你慢慢的转动身体,如果目标生物在法术范围内,那么当你面对该生物所处的方向时就会有所感觉。如果生物正在移动,你也可以知道该生物正在移向哪个方向。|
|这种法术可以用来寻找某个生物类群,或是你熟知的某个特定生物。该法术来寻找的生物类别不能过于笼统。 而且你必须在近距离(30英尺以内)观察过该生物。|
|流动的水会阻挡法术的效果。该法术也不能用来定位物品。 法术可能被假象术(mislead)、回避侦测(nondetection)和变形术(polymorph)误导。|
|//法术材料://一块猎犬的皮毛。|
!!!物品定位术(Locate Object)
|预言系|
|''等级:''吟游诗人 2,牧师 3,术士/法师2,旅行 2|
|''法术成分:''言语,姿势,器材/法器|
|''施法时间:''1个标准动作|
|''距离:''远距 (400英尺+40英尺/等级)|
|''区域:''以施法者为中心的圆形,半径为400英尺+40 英尺/每等级|
|''持续时间:''1分钟/每等级|
|''豁免:''不可|
|''法术抗力:''不可|
|你可以侦测一件熟悉或曾被你仔细观察过的物品。 你能寻找某一类物品,如果范围内符合条件的物品不止一件,你会找到最近的那一件。 寻找某件物品的时候,你需要它的精确图象,如果该图象与实物不够相似,则法术失败。除非你亲眼见过(使用预言系法术不算),否则你不能指定某件特定物品。|
|此法术的效果会被铅片(甚至很薄的一片)阻挡。该法术不能用来寻找生物。 变形万物(Polymorph any object)可误导此法术效果。|
|//奥术器材://一根分叉的嫩枝。|
!!Locathah(洛卡鱼人)

''中型类人生物(水生)''

|''生命骰:'' 2d8(9hp)|
|''先攻权:'' +1|
|''速度:'' 10尺(2格),游泳60尺|
|''防御等级:'' 14(+1敏捷,+3天生),接触11,措手不及13|
|''基本攻击/擒抱:'' +1/+1|
|''攻击:'' 长矛+2近战(1d8/*3),或轻弩+2远程(1d8/19-20)|
|''全回合攻击:'' 长矛+2近战(1d8/*3),或轻弩+2远程(1d8/19-20)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' -|
|''特性:'' -|
|''豁免:'' 强韧+3,反射+1,意志+1|
|''属性:'' 力量10,敏捷12,体质10,智力13,感知13,魅力11|
|''技能:'' 手艺(任意1种)+6,聆听+6,侦察+6,游泳+8|
|''专长:'' 专攻武器(长矛)|
|''环境:'' 温暖的水域|
|''组织:'' 组队(2-4),巡逻队(11-20外加2等级3的士官及1等级3-6的指挥官),或部落(30-100外加100%的非战斗人员,每10名成人1等级3的士官,以及5等级5的尉官和3等级7的队长)|
|''挑战等级:'' 1/2|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 视人物职业而定|
|''等级调整:'' +1|

尽管有着类人生物的外形,但是洛卡鱼人很明显地像鱼多过像人类。

洛卡鱼人平均身高约5尺,重约175磅。雌性和雄性看起来很相似,但是雌性洛卡鱼人多了两条象征着具有生蛋能力的赭色斑纹。

洛卡鱼人说水族语。

!!!战斗
任何与洛卡鱼人的战斗都是以一大群由它们的弩所发射的弩矢作为起始;在水下时,它们的弩的射程为20尺。如果它们事前已经准备好埋伏或其他陷阱,那么它们会尽可能地持续射箭。否则,它们会拉近距离使用长矛进行战斗。虽然这些长矛的主要用途是捕鱼,但是它们还是能够成为另人难以应付的武器。

洛卡鱼人没有牙齿,爪子及其他天生武器,所以它们没有武装时不是特别危险。没有武器的洛卡鱼人通常会直接转身逃跑。

''技能:''在进行游泳检定来做出特殊动作或躲避危险时,洛卡鱼人可获得+8的种族加值。它可在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。

!!!大步奔行(Longstrider)
|变化系|
|''等级:''德鲁伊 1,巡林客 1,旅行 1|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''1小时/每等级(可解消)|
|这个法术可以提高你10英尺的基本地面速度。(此种效果为额外加值。)对于其他的运动方式没有影响,如: 掘穴,攀爬,飞翔或游泳。|
|//法术材料://一撮泥土。|
''王者(Lordly Might):''此权杖具有多个类法术功能,还能当作多种不同魔法武器使用,另外也有一些日常功用。它是一支金属权杖,比其他权杖粗,一头是突起的球,杖身有六个钉状按钮(按下任一按钮便如同抽出一柄武器)。重量为十磅。
下列类法术功能每项每天可使用一次:

*对目标进行触碰以施展“人类定身术”(DC=14)。近战接触攻击失败则无效。使用者必须在攻击前指定使用此功能。如果接触攻击失败,该能力也将被浪费。
*持用者可使所有看到此权杖的敌人受到如同“恐惧术”的效果(最大距离10英尺,DC=16)。使用此功能属于标准动作。
*接触攻击成功可以对敌人造成2d4点伤害,并治疗持用者同量伤害(DC=17)。使用者必须在攻击前指定使用此功能,如同“人类定身术”能力一般。

下列武器功能没有使用次数限制:

*权杖本身可当作+2轻型硬头锤。
*按下按钮一,权杖成为一柄“+1炽焰长剑”。由球体中伸出剑身,球本身成为剑柄的一部分,全长达四英尺。
*按下按钮二,成为一把+4战斧。斧面由球体中伸出,全长为四英尺。
*按下按钮三,成为一把+3短矛或长矛。矛柄可以延伸长达12英尺(由使用者选择),总长为6至15英尺。若达15英尺,可当作长枪使用。

下列日常功能没有使用次数限制:

·爬竿/长梯。按下按钮四,球体内就伸出一支可扣入花岗岩的钩钉,另一端则伸出三个尖锐的吊钩。权杖一轮可以伸长至多50英尺,再按一次按钮四就停止伸长。接著从侧边伸出水平支撑棒,每根三英寸长,间隔一英尺,左右交错。权杖由钩钉及吊钩支撑,可以承受4000磅重量。按下按钮五即可收回这支爬竿。

*长梯功能也可用来撞门。持用者在距门30英尺内,将权杖插入地面,对准门,再按下按钮四即可。此冲力具有+12力量加值。
*按下按钮六,权杖会指出北方,并让持用者知道离地面的高度或深度。

施法者等级:19。先决条件:“制造权杖”,“制造魔法武器及防具”,“造成轻伤”、“蛮力术”、“火焰刀”、“人类定身术”、“恐惧术”。交易价格:70000金币。
''生命骰:''d4。

!!!!先决条件

要具备博学士的资格,人物必须符合以下全部条件。

''技能:''知识(任意两种)每种10级。

''专长:''任三种超魔或制造物品专长,加上专攻技能:知识(任何类别)。

''法术:''能施展七种不同的预言系法术,其中必须至少有一种为三级或以上的法术。

!!!!本职技能
博学士的本职技能如下(括号中为该技能的关键属性):估价(智力),专注(体质),手艺(炼金术)(智力),解读文书(智力),搜集信息(魅力),驯养动物(魅力),医疗(感知),知识(所有方面,需逐个选择)(智力),表演(魅力),专业(感知),语言,辨识法术(智力),使用魔法装置(魅力)。

''升级技能点数:''4+智力调整值。

 

''表:博学士''

|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!	特殊能力	|!	每日法术数量	|
|^	1	|^	+0	|^	+0	|^	+0	|^	+2	|^	秘闻	|^	现有职业等级+1	|
|^	2	|^	+1	|^	+0	|^	+0	|^	+3	|^	传奇	|^	现有职业等级+1	|
|^	3	|^	+1	|^	+1	|^	+1	|^	+3	|^	秘闻	|^	现有职业等级+1	|
|^	4	|^	+2	|^	+1	|^	+1	|^	+4	|^	额外语言	|^	现有职业等级+1	|
|^	5	|^	+2	|^	+1	|^	+1	|^	+4	|^	秘闻	|^	现有职业等级+1	|
|^	6	|^	+3	|^	+2	|^	+2	|^	+5	|^	传奇专家	|^	现有职业等级+1	|
|^	7	|^	+3	|^	+2	|^	+2	|^	+5	|^	秘闻	|^	现有职业等级+1	|
|^	8	|^	+4	|^	+2	|^	+2	|^	+6	|^	额外语言	|^	现有职业等级+1	|
|^	9	|^	+4	|^	+3	|^	+3	|^	+6	|^	秘闻	|^	现有职业等级+1	|
|^	10	|^	+5	|^	+3	|^	+3	|^	+7	|^	传奇大师	|^	现有职业等级+1	|

 

!!!!职业特性:
下述均为博学士进阶职业的职业特性:

''武器和防具擅长:''博学士不获得任何武器或防具的擅长。

''每日法术数量/可知法术:''博学士每次升级,每日法术数量(以及可知法术,如适用)都会增加,就像之前的施法职业获得提升一样,但不能获得之前施法职业的其它能力。这意味着他可以将博学士等级加上其它施法职业等级来决定其每日法术数量和相关施法者等级。

''秘闻(Secret):''1级开始,博学士可从下表中选择一项秘闻,之后每升两级(达3级、5级、7级、9级时)可各再选择一项。博学士等级加上智力调整值决定其可选择的秘闻总数。已习得的秘闻不能重复选择。

''学识(Lore):''2级开始,博学士可用此能力获知传说或从多方汇集信息,如同吟游诗人的逸闻知识作用一样。学识检定和吟游诗人的逸闻知识类似,只是博学士将其职业等级和智力调整值加在检定上。

''额外语言(Bonus Languages):''博学士在4级与8级时分别可选一种新语言。

''高等学识(Greater Lore,特异能力):''6级开始,博学士有能力鉴定魔法物品,如同鉴定术(identify)一样。

''精准学识(True Lore,特异能力):''10级开始,博学士可利用自己的知识获得通晓传奇(legend lore)或解析咒文(analyze dweomer)的效果,每日可进行一次。

 

''博学士秘闻''

|!	等级+智力调整值	|!	秘闻	|!效果 |
|^	1	|^	瞬间熟稔	|^	人物某一技术为0的技能,立即成为级数4	|
|^	2	|^	强身密技	|^	+3生命值	|
|^	3	|^	定心密技	|^	意志豁免获+2加值	|
|^	4	|^	健体密技	|^	强韧豁免获+2加值	|
|^	5	|^	回闪密技	|^	反射豁免获+2加值	|
|^	6	|^	武器窍门	|^	攻击检定获+1加值	|
|^	7	|^	闪避窍门	|^	AC有+1闪避加值	|
|^	8	|^	专长知识	|^	任一专长	|
|^	9	|^	发现新奥术	|^	1个额外的一级法术*	|
|^	10	|^	发现更多新奥术	|^	1个额外的二级法术*	|
|^	*如同因高属性值而获得额外法术。	|<|<|

!!! 失去生命值(LOSS OF HIT POINTS)

最普通的受伤情况是受到一般伤害并且失去生命值。

''生命值的意义:''在游戏中生命值代表两件事:承受物理伤害并继续保持活动的能力,以及将严重伤害造成的后果降低的能力。

''生命值伤害的效果:''伤害不会让你的角色缓慢下来,除非你实际生命值等于或者低于0。在0时,你进入瘫痪状态。

在-1到-9时,你陷入濒死状态。

在-10或更少时,你死了。

''巨创(Massive Damage):''如果单独一次攻击造成了你50点及以上的伤害,并且没有立刻杀死你,你必须做一次DC15的强韧检定。如果该检定失败,不管你有多少实际生命值你都将立刻死去。如果是由于多次攻击造成的50点及以上的伤害,并没有一击造成50及以上的伤害,那么不能应用巨创规则。
''昏暗视觉(Low-Light Vision,特异能力):''具有昏暗视觉的人物的眼睛十分敏感,以至于在昏暗的光线下能看到正常的两倍远。昏暗视觉可看见色彩。即便在极微小的烛光下,具有昏暗视觉的施法者也可阅读卷轴。

具有昏暗视觉的人物在月光下可看清户外场景,犹如在白天一样。


''Luck Blade(吉兆刃):''
这把+2短剑的持有者的所有豁免检定都获得+1运气加值。持有者还会获得好运的力量,每天可使用一次。这种非凡的力量允许使用者重掷刚才的掷骰。但无论重掷得结果如何,就算比原先掷骰还要差,他也必须接受。此外,吉兆刃上可能附有许愿术(wish),最多3个(随机掷骰时,吉兆刃上有1d4-1个许愿术,最少为0个)。当许愿术都被施展掉,剑的其他效果仍然存在。

强烈塑能系灵光;CL17;制造魔法武器和防具,许愿术(wish)或奇迹术(miracle);价格22060金币(0许愿术),62360金币(1许愿术),102660金币(2许愿术),142960金币(3许愿术);制造花费11030金币+882经验值(0许愿术),31180金币+2494经验值(1许愿术),51330金币+4106经验值(2许愿术),71480金币+718经验值(3许愿术)。
!!!催眠曲(Lullaby)
|惑控系(胁迫) [影响心灵]|
|''等级:''吟游诗人 0|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''中距(100 英尺 + 10 英尺/每等级)|
|''区域:''10英尺半径爆发范围内的活物|
|''持续时间:''专注+1轮/每等级(可解消)|
|''豁免:''意志检定|
|''法术抗力:''可|
|任何在影响区域内意志豁免失败的生物都会变得昏昏欲睡和漫不经心,在聆听和侦察上受到-5的减值,而且对抗睡眠术(sleep)的意志豁免获得-2减值。只要施法者保持专注,催眠曲就不会结束,之后法术效果还将持续每施法者等级1轮的时间。|
!!Lycanthrope(兽化人)

兽化人是能够变化成动物的类人生物或巨人类生物。在其天生形态下,兽化人看起来就和它的同类生物一样,但是天生兽化人和那些被传染了很久的兽化人会拥有其动物形态的特征。在动物形态下,兽化人像是更加强悍的普通动物,但如果靠近观察的话,可以看到它的眼睛 (在黑暗中会发红光)中闪耀着不寻常的智慧的火花。

兽化症可以像疾病一样传播。有时普通的类人生物或巨人类生物在被兽化人攻击而受伤之后会感染兽化症。这样的生物被称为受传染的兽化人。其他生下来就是兽化人的兽化人,被称为天生兽化人。

!!!战斗
处于类人 (或巨人)形态下的兽化人会使用其同类生物所使用的任何战术和武器,然而会更具攻击性。兽化人拥有其动物形态的官能,包括灵敏嗅觉和昏暗视觉,而且还可以深刻地理解它所能变化成的那类动物 (并拥有与之交流的能力)。受传染的兽化人如果在战斗中受伤就可能被愤怒所压倒,使其非自发地变成动物形态。

动物形态下的兽化人就如其所变成的动物一样战斗,但它的啮咬攻击却可传播兽化症。它非常狡诈而且极为强壮,并且拥有只能被镀银武器所击破的伤害减免能力。

天生兽化人 (或意识到自己已被传染的受传染兽化人)可以变成混合了其类人和动物形态的混种形态。混种形态下的兽化人有手且可使用武器,但也可以使用其利齿和爪子进行攻击。混种形态下的兽化人可以通过其啮咬攻击传播兽化症,而且拥有与其动物形态相同的伤害减免能力。

!!!Werebear(熊人)


|!		|!	熊人,人类形态(Werebear, Human Form)	|!	熊人,熊形态(Werebear,Bear Form)	|!	熊人,混种形态(Werebear,Hybrid Form)	|
|!		|!	中型类人生物 (人类,变形生物)	|!	大型类人生物(人类,变形生物)	|!	大型类人生物(人类,变形生物)	|
|^	''生命骰:''	|^	1d8+1加6d8+30(62hp)	|^	1d8+1加6d8+30(62hp)	|^	1d8+1加6d8+30(62hp)	|
|^	''先攻权:''	|^	+0	|^	+1	|^	+0	|
|^	''速度:''	|^	30尺(6格)	|^	40尺(8格)	|^	30尺(6格)	|
|^	''防御等级:''	|^	15(+2天生,+3镶嵌皮甲),接触10,措手不及15	|^	17(-1体型,+1敏捷,+7天生),接触10,措手不及16	|^	17(-1体型,+1敏捷,+7天生),接触10,措手不及16	|
|^	''基本攻击/擒抱:''	|^	+5/+6	|^	+5/+18	|^	+5/+18	|
|^	''攻击:''	|^	巨斧+6近战(1d12+1/*3),或飞斧+5远程(1d6+1)	|^	爪抓+13近战(1d8+9)	|^	巨斧+11近战(1d12+13/*3),或爪抓+13近战(1d6+9)	|
|^	''全回合攻击:''	|^	巨斧+6近战(1d12+1/*3),或飞斧+5远程(1d6+1)	|^	2爪抓+13近战(1d8+9)及啮咬+11近战(2d6+4)	|^	爪抓+13近战(1d6+9)及巨斧+9近战(1d12+4/*3)及啮咬+11近战(1d8+4);或2 爪抓 +13 近战 (1d6+9)及啮咬 +11 近战 (1d8+4)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	10尺/5尺	|^	10尺/10尺	|
|^	''特殊攻击:''	|^	-	|^	精通攫抓,兽化诅咒	|^	兽化诅咒	|
|^	''特性:''	|^	变化形态,理解熊性,昏暗视觉,灵敏嗅觉	|^	变化形态,理解熊性,伤害减免10/银,昏暗视觉,灵敏嗅觉	|^	变化形态,理解熊性,伤害减免10/银,昏暗视觉,灵敏嗅觉	|
|^	''豁免检定:''	|^	强韧+8,反射+5,意志+4	|^	强韧+12,反射+6,意志+4	|^	强韧+12,反射+6,意志+4	|
|^	''属性:''	|^	力量13,敏捷11,体质12,智力10,感知11,魅力8	|^	力量29,敏捷13,体质20,智力10,感知11,魅力8	|^	力量29,敏捷13,体质20,智力10,感知11,魅力8	|
|^	''技能:''	|^	驯养动物+3,聆听+4,侦察+4,游泳+1	|^	驯养动物+3,聆听+4,侦察+4,游泳+13	|^	驯养动物+3,聆听+4,侦察+5,游泳+9	|
|^	''专长:''	|^	坚忍,钢铁意志,多重攻击,猛力攻击,飞跑,追踪	|^	坚忍,钢铁意志,多重攻击,猛力攻击,飞跑,追踪	|^	坚忍,钢铁意志,多重攻击,猛力攻击,飞跑,追踪	|
|^	''环境:''	|^	寒冷的森林	|^	寒冷的森林	|^	寒冷的森林	|
|^	''组织:''	|^	单独,成对,家族(3-4),或成群(2-4外加1-4棕熊)	|^	单独,成对,家族(3-4),或成群(2-4外加1-4棕熊)	|^	单独,成对,家族(3-4),或成群(2-4外加1-4棕熊)	|
|^	''挑战等级:''	|^	5	|^	5	|^	5	|
|^	''宝物:''	|^	标准	|^	标准	|^	标准	|
|^	''阵营:''	|^	总是守序善良	|^	总是守序善良	|^	总是守序善良	|
|^	''进化:''	|^	视人物职业而定	|^	视人物职业而定	|^	视人物职业而定	|
|^	''等级调整:''	|^	+3	|^	+3	|^	+3	|

类人形态下的熊人看起来十分结实,肌肉强健而且毛发很多。它们棕色的头发十分浓密,而且男性通常留着胡须。它们可能会拥有红色、金黄色、象牙色和黑色的头发,视其所变化的熊的种类而定。它们通常穿着容易穿脱,修补和替换的简单衣服或皮袍。

!!!!战斗
动物形态下的熊人如棕熊一样战斗。类人形态或混种形态下,它们喜欢使用如巨斧或巨剑一样又大又重的武器。熊人的巨斧属于中型武器,所以混种形态下熊人可以单手使用它。

''变化形态 (Su):''熊人可以变化成棕熊形态或半熊半人的混种形态。

''理解熊性 (Ex):''能与熊和凶暴熊交流,而且在针对熊和凶暴熊的情况下进行基于魅力调整值的检定时可获得+4的种族加值。

''兽化诅咒 (Su):''任何被处于动物或混种形态下的熊人的啮咬攻击所击中的类人生物或巨人类生物都必须通过一个DC 15的强韧豁免检定,否则就可能被传染上兽化症。

''精通攫抓 (Ex):''使用此能力之前,熊人必须处于熊形态下而且必须通过其爪抓攻击击中对手。然后就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。

''技能:''处于任何熊类形态下的熊人在进行游泳检定时都可获得+4的种族加值。

这里所描述的熊人为等级1的人类武者并且是天生兽化人,其基础属性值如下:力量13,敏捷11,体质12,智力10,感知9,魅力8。



















!!!Wereboar(野猪人)

|!		|!	野猪人,人类形态(Wereboar,Human Form)	|!	野猪人,野猪形态(Wereboar,Boar Form)	|!	野猪人,混种形态(Wereboar,Hybrid Form)	|
|!		|!	中型类人生物(人类,变形生物)	|!	中型类人生物(人类,变形生物)	|!	中型类人生物(人类,变形生物)	|
|^	''生命骰:''	|^	1d8+4加3d8+12(34hp)	|^	1d8+4加3d8+12(34hp)	|^	生命骰:1d8+4加3d8+12(34hp)	|
|^	''先攻权:''	|^	+0	|^	+0	|^	先攻权:+0	|
|^	''速度:''	|^	穿鳞甲时20尺(4格);基本陆地速度30尺	|^	40尺(8格)	|^	速度:30尺(6格)	|
|^	''防御等级:''	|^	18(+2天生,+4鳞甲,+2重型盾),接触10,措手不及18	|^	18(+8天生),接触10,措手不及18	|^	防御等级:18(+8天生),接触10,措手不及18	|
|^	''基本攻击/擒抱:''	|^	+3/+4	|^	+3/+6	|^	基本攻击/擒抱:+3/+6	|
|^	''攻击:''	|^	战斧+4近战(1d8+1/*3),或标枪+3远程(1d6+1)	|^	抵撞+6近战(1d8+4)	|^	攻击:战斧+6近战(1d8+4/*3),或爪抓+6远程(1d4+3)	|
|^	''全回合攻击:''	|^	战斧+4近战(1d8+1/*3),或标枪+3远程(1d6+1)	|^	抵撞+6近战(1d8+4)	|^	全回合攻击:战斧+6近战(1d8+4/*3)及抵撞+1近战(1d6+1);或2爪抓+6近战(1d4+3)及抵撞+1 近战 (1d6+1)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	5尺/5尺	|^	占据/触及:5尺/5尺	|
|^	''特殊攻击:''	|^	-	|^	兽化诅咒	|^	特殊攻击:兽化诅咒	|
|^	''特性:''	|^	变化形态,理解猪性,凶猛,昏暗视觉,灵敏嗅觉	|^	变化形态,理解猪性,伤害减免10/银,凶猛,昏暗视觉,灵敏嗅觉	|^	特性:变化形态,理解猪性,伤害减免10/银,凶猛,昏暗视觉,灵敏嗅觉	|
|^	''豁免检定:''	|^	强韧+6,反射+3,意志+3	|^	强韧+9,反射+3,意志+3	|^	豁免:强韧+9,反射+3,意志+3	|
|^	''属性:''	|^	力量13,敏捷11,体质12,智力10,感知11,魅力8	|^	力量17,敏捷11,体质18,智力10,感知11,魅力8	|^	属性:力量17,敏捷11,体质18,智力10,感知11,魅力8	|
|^	''技能:''	|^	驯养动物+3,威吓+3,聆听+5,侦察+4	|^	驯养动物+3,威吓+3,聆听+5,侦察+4	|^	技能:驯养动物+3,威吓+3,聆听+5,侦察+4	|
|^	''专长:''	|^	警觉,精通冲撞,钢铁意志,猛力攻击,健壮	|^	警觉,精通冲撞,钢铁意志,猛力攻击,健壮	|^	专长:警觉,精通冲撞,钢铁意志,猛力攻击,健壮	|
|^	''环境:''	|^	温带森林	|^	温带森林	|^	区域:温带森林	|
|^	''组织:''	|^	单独,成对,家族(3-4),或成群(2-4外加1-4野猪)	|^	单独,成对,家族(3-4),或成群(2-4外加1-4野猪)	|^	组织:单独,成对,家族(3-4),或成群(2-4外加1-4野猪)	|
|^	''挑战等级:''	|^	4	|^	4	|^	挑战等级:4	|
|^	''宝物:''	|^	标准	|^	标准	|^	宝物:标准	|
|^	''阵营:''	|^	总是中立	|^	总是中立	|^	阵营:总是中立	|
|^	''进化:''	|^	视人物职业而定	|^	视人物职业而定	|^	进化:视人物职业而定	|
|^	''等级调整:''	|^	+3	|^	+3	|^	等级调整:+3	|

类人形态下的野猪人看起来低矮结实,而且和普通的人类身高相仿。它们通常穿着容易穿脱,修补和替换的简单皮袍。

!!!!战斗
在任何形态下,野猪人都和普通野猪一样凶猛。在混种形态下时,它们使用武器和抵撞攻击进行战斗。

''变化形态 (Su):''野猪人可以变化成野猪形态或半野猪半人的混种形态。

''理解猪性 (Ex):''能与野猪和凶暴野猪交流,而且在针对野猪和凶暴野猪的情况下进行基于基于魅力调整值的检定时可获得+4的种族加值。

''兽化诅咒 (Su):''任何被处于动物或混种形态下的野猪人的抵撞攻击所击中的类人生物或巨人类生物都必须通过一个DC 15的强韧豁免检定,否则就可能被传染上兽化症。

''凶猛 (Ex):''野猪人是极为顽强的斗士,它们甚至可以在瘫痪或濒死的状态下不受罚值地继续战斗。

这里所描述的野猪人为等级1的人类武者并且是天生兽化人,其基础属性值如下:力量13,敏捷11,体质12,智力10,感知9,魅力8。
















!!!Wererat(鼠人)

|!		|!	鼠人,人类形态(Wererat,Human Form)	|!	鼠人,凶暴鼠形态(Wererat,Dire Rat Form)	|!	鼠人,混种形态(Wererat,Hybrid Form)	|
|!		|!	中型类人生物(人类,变形生物)	|!	小型类人生物(人类,变形生物)	|!	中型类人生物(人类,变形生物)	|
|^	''生命骰:''	|^	1d8+1加1d8+2(12hp)	|^	1d8+1加1d8+2(12hp)	|^	1d8+1加1d8+2(12hp)	|
|^	''先攻权:''	|^	+0	|^	+3	|^	+3	|
|^	''速度:''	|^	30尺(6格)	|^	40尺(8格),攀爬20尺	|^	30尺(6格)	|
|^	''防御等级:''	|^	15(+2天生,+2皮甲,+1小圆盾),接触10,措手不及15	|^	17(+1体型,+3敏捷,+3天生),接触14,措手不及14	|^	16(+3敏捷,+3天生),接触13,措手不及13	|
|^	''基本攻击/擒抱:''	|^	+1/+2	|^	+1/-2	|^	+1/+2	|
|^	''攻击:''	|^	细剑+2近战(1d6+1/18-20),或轻弩+1远程(1d8/19-20)	|^	啮咬+6近战(1d4+1外加疾病)	|^	细剑+5近战(1d6+1/18-20),或轻弩+4远程(1d8/19-20)	|
|^	''全回合攻击:''	|^	细剑+2近战(1d6+1/18-20),或轻弩+1远程(1d8/19-20)	|^	啮咬+6近战(1d4+1外加疾病)	|^	细剑+4近战(1d6+1/18-20)及啮咬-1近战(1d6外加疾病),或轻弩 +4 远程 (1d8/ 19-20)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	5尺/5尺	|^	5尺/5尺	|
|^	''特殊攻击:''	|^	-	|^	兽化诅咒,疾病	|^	兽化诅咒,疾病	|
|^	''特性:''	|^	变化形态,理解鼠性,昏暗视觉,灵敏嗅觉	|^	变化形态,理解鼠性,伤害减免10/银,昏暗视觉,灵敏嗅觉	|^	变化形态,理解鼠性,伤害减免10/银,昏暗视觉,灵敏嗅觉	|
|^	''豁免检定:''	|^	强韧+5,反射+2,意志+4	|^	强韧+6,反射+5,意志+4	|^	强韧+6,反射+5,意志+4	|
|^	''属性:''	|^	力量13,敏捷11,体质12,智力10,感知11,魅力8	|^	力量13,敏捷17,体质14,智力10,感知11,魅力8	|^	力量13,敏捷17,体质14,智力10,感知11,魅力8	|
|^	''技能:''	|^	攀爬+0,驯养动物+3,躲藏+1,聆听+4,潜行+0,侦察+4,游泳+9	|^	攀爬+11,驯养动物+3,躲藏+8,聆听+4,潜行+4,侦察+4,游泳+11	|^	攀爬+4,驯养动物+3,躲藏+5,聆听+4,潜行+4,侦察+4,游泳+9	|
|^	''专长:''	|^	警觉,闪避,钢铁意志,武器娴熟	|^	警觉,闪避,钢铁意志,武器娴熟	|^	警觉,闪避,钢铁意志,武器娴熟	|
|^	''环境:''	|^	任意	|^	任意	|^	任意	|
|^	''组织:''	|^	单独,成对,成队(6-10),或成群(2-5外加5-8凶暴鼠)	|^	单独,成对,成队(6-10),或成群(2-5外加5-8凶暴鼠)	|^	单独,成对,成队(6-10),或成群(2-5外加5-8凶暴鼠)	|
|^	''挑战等级:''	|^	2	|^	2	|^	2	|
|^	''宝物:''	|^	标准	|^	标准	|^	标准	|
|^	''阵营:''	|^	总是守序邪恶	|^	总是守序邪恶	|^	总是守序邪恶	|
|^	''进化:''	|^	视人物等级而定	|^	视人物等级而定	|^	视人物等级而定	|
|^	''等级调整:''	|^	+3	|^	+3	|^	+3	|

类人形态下的鼠人看起来较为瘦小,比人类平均身高矮一些。它们的目光到处乱飘,而且兴奋时它们的鼻子和嘴巴会抽动。男性通常留有稀疏杂乱的八字胡。

!!!!战斗
在动物形态下,鼠人会避免战斗,喜欢利用其凶暴鼠形态进行躲藏和侦察。在混种形态下,鼠人使用细剑和轻弩进行战斗。

''变化形态 (Su):''鼠人可以变化成凶暴鼠形态或两足行走的混种形态。

''兽化诅咒 (Su):''任何被处于动物或混种形态下的鼠人的啮咬攻击所击中的类人生物或巨人类生物都必须通过一个DC 15的强韧豁免检定,否则就可能被传染上兽化症。

''疾病 (Ex):''腐热症 - 啮咬,强韧豁免检定DC 12,潜伏期1d3天,1d3点敏捷伤害和1d3点体质伤害。该豁免检定DC基于体质调整值。

''理解鼠性 (Ex):''能与鼠和凶暴鼠交流,而且在针对老鼠和凶暴鼠的情况下进行基于基于魅力调整值的检定时可获得+4的种族加值。

''技能:''处于鼠或混种形态下的鼠人在进行攀爬或游泳检定时可以使用其敏捷调整值代替力量调整值。在进行攀爬检定时鼠人可获得+8的种族加值,并且可以在做攀爬检定时总是取10,哪怕在很匆忙或受到威胁时也一样。

鼠形态下的鼠人在进行游泳检定时可获得+8的种族加值。

''专长:''鼠人可获得武器娴熟作为其奖励专长。

这里所描述的鼠人为等级1的人类武者并且是天生兽化人,其基础属性值如下:力量13,敏捷11,体质12,智力10,感知9,魅力8。
















!!!Weretiger(虎人)


|!		|!	虎人,人类形态(Weretiger,Human Form)	|!	虎人,虎形态(Weretiger,Tiger Form)	|!	虎人,混种形态(Weretiger,Hybrid Form)	|
|!		|!	中型类人生物(人类,变形生物)	|!	大型类人生物(人类,变形生物)	|!	大型类人生物(人类,变形生物)	|
|^	''生命骰:''	|^	1d8+1加6d8+18(50hp)	|^	1d8+1加6d8+18(50hp)	|^	1d8+1加6d8+18(50hp)	|
|^	''先攻权:''	|^	+4	|^	+6	|^	+6	|
|^	''速度:''	|^	穿胸甲时20尺(4格);基本陆地速度30尺	|^	40尺(8格)	|^	30尺(6格)	|
|^	''防御等级:''	|^	17(+2天生,+5胸甲),接触10,措手不及17	|^	16(-1体型,+2敏捷,+5天生),接触11,措手不及14	|^	16(-1体型,+2敏捷,+5天生),接触11,措手不及14	|
|^	''基本攻击/擒抱:''	|^	+5/+6	|^	+5/+16	|^	+5/+16	|
|^	''攻击:''	|^	大砍刀+6近战(1d10+1/*3),或复合长弓(力量+1)+5远程(1d8+1/*3)	|^	爪抓+11近战(1d8+7)	|^	爪抓+11近战(1d8+7)	|
|^	''全回合攻击:''	|^	大砍刀+6近战(1d10+1/*3),或复合长弓(力量+1)+5远程(1d8+1/*3)	|^	2爪抓+11近战(1d8+7)及啮咬+6近战(2d6+3)	|^	2爪抓+11近战(1d8+7)及啮咬+6近战(2d6+3)	|
|^	''面宽/触及:''	|^	5尺/5尺(大砍刀10尺)	|^	10尺/5尺	|^	10尺/10尺	|
|^	''特殊攻击:''	|^	-	|^	猛扑,精通攫抓,耙抓,兽化诅咒	|^	兽化诅咒	|
|^	''特性:''	|^	变化形态,理解虎性,昏暗视觉,灵敏嗅觉	|^	变化形态,理解虎性,伤害减免10/银,昏暗视觉,灵敏嗅觉	|^	变化形态,理解虎性,伤害减免10/银,昏暗视觉,灵敏嗅觉	|
|^	''豁免检定:''	|^	强韧+8,反射+5,意志+4	|^	强韧+10,反射+7,意志+4	|^	强韧+10,反射+7,意志+4	|
|^	''属性:''	|^	力量13,敏捷11,体质12,智力10,感知11,魅力8	|^	力量25,敏捷15,体质16,智力10,感知11,魅力8	|^	力量25,敏捷15,体质16,智力10,感知11,魅力8	|
|^	''技能:''	|^	平衡+0,攀爬+1,驯养动物+3,躲藏+0,聆听+6,潜行+0,侦察+6	|^	平衡+6,攀爬+12,驯养动物+3,躲藏+2*,聆听+6,潜行+12,侦察+6	|^	平衡+6,攀爬+12,驯养动物+3,躲藏+2,聆听+6,潜行+12,侦察+6	|
|^	''专长:''	|^	警觉,战斗反射,精通先攻,强化天生攻击(啮咬,爪抓),钢铁意志	|^	警觉,战斗反射,精通先攻,强化天生攻击(啮咬,爪抓),钢铁意志	|^	警觉,战斗反射,精通先攻,强化天生攻击(啮咬,爪抓),钢铁意志	|
|^	''环境:''	|^	温暖的森林	|^	温暖的森林	|^	温暖的森林	|
|^	''组织:''	|^	单独或成对	|^	单独或成对	|^	单独或成对	|
|^	''挑战等级:''	|^	5	|^	5	|^	5	|
|^	''宝物:''	|^	标准	|^	标准	|^	标准	|
|^	''阵营:''	|^	总是中立	|^	总是中立	|^	总是中立	|
|^	''进化:''	|^	视人物职业而定	|^	视人物职业而定	|^	视人物职业而定	|
|^	''等级调整:''	|^	+3	|^	+3	|^	+3	|

类人形态下的虎人看起来拥有光滑结实的肌肉,比一般人类的平均身高要高,而且非常灵活。

!!!!战斗
虎人能如变成动物形态一样变成混种形态。在虎形态下,它们可以如普通老虎一样猛扑和攫抓。在混种形态下,它们使用其致命的爪进行攻击。

''变化形态 (Su):''虎人可以变化成虎形态或两足行走的混种形态。

''兽化诅咒 (Su):''任何被处于动物或混种形态下的虎人的啮咬攻击所击中的类人生物或巨人类生物都必须通过一个DC 15的强韧豁免检定,否则就可能被传染上兽化症。

''精通攫抓 (Ex):''使用此能力之前,虎人必须处于虎形态下而且必须通过其爪抓或啮咬攻击击中对手。然后就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。它一旦将对手定身,就可展开耙抓。

''猛扑 (Ex):''当处于虎形态的虎人冲锋对手时,它可以做出全回合攻击,包括两次耙抓攻击。

''耙抓 (Ex):''攻击加值 +9 近战,伤害 1d8+3。

''理解虎性 (Ex):''能与虎和凶暴虎交流,而且在针对虎和凶暴虎的情况下进行基于基于魅力调整值的检定时可获得+4的种族加值。

''技能:''处于任何形态下的虎人在进行平衡,躲藏及潜行检定时都可获得+4的加值。
*在长草区或浓密树丛中时,虎形态下的虎人获得的躲藏加值可提升为+8。

这里所描述的虎人为等级1的人类武者并且是天生兽化人,其基础属性值如下:力量13,敏捷11,体质12,智力10,感知9,魅力8。








!!!Werewolf(狼人)

|!		|!	狼人,人类形态(Werewolf,Human Form)	|!	狼人,狼形态(Werewolf,Wolf Form)	|!	狼人,混种形态(Werewolf,Hybrid Form)	|
|!		|!	中型类人生物(人类,变形生物)	|!	中型类人生物(人类,变形生物)	|!	中型类人生物(人类,变形生物)	|
|^	''生命骰:''	|^	1d8+1加2d8+6(20hp)	|^	1d8+1加2d8+6(20hp)	|^	1d8+1加2d8+6(20hp)	|
|^	''先攻权:''	|^	+4	|^	+6	|^	+6	|
|^	''速度:''	|^	30尺(6格)	|^	50尺(10格)	|^	30尺(6格)	|
|^	''防御等级:''	|^	17(+2天生,+4链甲衫,+1轻型盾),接触10,措手不及17	|^	16(+2敏捷,+4天生),接触12,措手不及14	|^	16(+2敏捷,+4天生),接触12,措手不及14	|
|^	''基本攻击/擒抱:''	|^	+2/+3	|^	+2/+4	|^	+2/+4	|
|^	''攻击:''	|^	长剑+3近战(1d8+1/19-20),或轻弩+2远程(1d8/19-20)	|^	啮咬+5近战(1d6+3)	|^	爪抓+4近战(1d4+2)	|
|^	''全回合攻击:''	|^	长剑+3近战(1d8+1/19-20),或轻弩+2远程(1d8/19-20)	|^	啮咬+5近战(1d6+3)	|^	2爪抓+4近战(1d4+2)及啮咬+0近战(1d6+1)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	5尺/5尺	|^	5尺/5尺	|
|^	''特殊攻击:''	|^	-	|^	兽化诅咒,拌摔	|^	兽化诅咒	|
|^	''特性:''	|^	变化形态,理解狼性,昏暗视觉,灵敏嗅觉	|^	变化形态,理解狼性,伤害减免10/银,昏暗视觉,灵敏嗅觉	|^	变化形态,理解狼性,伤害减免10/银,昏暗视觉,灵敏嗅觉	|
|^	''豁免检定:''	|^	强韧+6,反射+3,意志+2	|^	强韧+8,反射+5,意志+2	|^	强韧+8,反射+5,意志+2	|
|^	''属性:''	|^	力量13,敏捷11,体质12,智力10,感知11,魅力8	|^	力量15,敏捷15,体质16,智力10,感知11,魅力8	|^	力量15,敏捷15,体质16,智力10,感知11,魅力8	|
|^	''技能:''	|^	驯养动物+1,躲藏+1,聆听+1,潜行+2,侦察+1,生存+2	|^	驯养动物+1,躲藏+6,聆听+1,潜行+6,侦察+1,生存+2*	|^	驯养动物+1,躲藏+6,聆听+1,潜行+6,侦察+1,生存+2*	|
|^	''专长:''	|^	精通先攻,钢铁意志,隐秘,追踪,专攻武器(啮咬)	|^	精通先攻,钢铁意志,隐秘,追踪,专攻武器(啮咬)	|^	精通先攻,钢铁意志,隐秘,追踪,专攻武器(啮咬)	|
|^	''环境:''	|^	温带森林	|^	温带森林	|^	温带森林	|
|^	''组织:''	|^	单独,成对,成队(6-10),或成群(2-5外加5-8狼)	|^	单独,成对,成队(6-10),或成群(2-5外加5-8狼)	|^	单独,成对,成队(6-10),或成群(2-5外加5-8狼)	|
|^	''挑战等级:''	|^	3	|^	3	|^	3	|
|^	''宝物:''	|^	标准	|^	标准	|^	标准	|
|^	''阵营:''	|^	总是混乱邪恶	|^	总是混乱邪恶	|^	总是混乱邪恶	|
|^	''进化:''	|^	视人物职业而定	|^	视人物职业而定	|^	视人物职业而定	|
|^	''等级调整:''	|^	+3	|^	+3	|^	+3	|

类人形态下的狼人没有明显的奇特外貌。

!!!!战斗
在狼形态下,狼人可以如普通的狼一样进行拌摔。尽管混种形态下的狼人通常无需武器就可攻击,但是它们仍然可以使用武器攻击并使用其啮咬攻击作为次要天生攻击。

''变化形态 (Su):''狼人可以变化成狼形态或两足行走的混种形态。

''兽化诅咒 (Su):''任何被处于动物或混种形态下的狼人的啮咬攻击所击中的类人生物或巨人类生物都必须通过一个DC 15的强韧豁免检定,否则就可能被传染上兽化症。

''拌摔 (Ex):''狼形态下的狼人一旦用啮咬攻击命中对手就可以用一个即时动作对对手展开拌摔 (+2检定调整值),该动作不会引发借机攻击。即使尝试失败,对手也不能反过来拌摔狼人。

''理解狼性 (Ex):''能与狼和凶暴狼交流,而且在针对狼和凶暴狼的情况下进行基于基于魅力调整值的检定时可获得+4的种族加值。

''技能:''*处于混种或狼形态下的狼人在通过嗅觉展开追踪的情况下进行生存检定时可获得+4的种族加值。

这里所描述的狼人为等级1的人类武者并且是天生兽化人,其基础属性值如下:力量13,敏捷11,体质12,智力10,感知9,魅力8。














!!!Lycanthrope, Werewolf Lord(兽化人,狼人首领)


|!		|!	狼人首领,人类形态(Werewolf Lord,Human Form)	|!	狼人首领,凶暴狼形态(Werewolf Lord,Dire Wolf Form)	|!	狼人首领,混种形态(Werewolf Lord,Hybrid Form)	|
|!		|!	中型类人生物(人类,变形生物)	|!	大型类人生物(人类,变形生物)	|!	大型类人生物(人类,变形生物)	|
|^	''生命骰:''	|^	10d10+20加6d8+30(132hp)	|^	10d10+20加6d8+30(132hp)	|^	10d10+20加6d8+30(132hp)	|
|^	''先攻权:''	|^	+2	|^	+4	|^	+4	|
|^	''速度:''	|^	30尺(6格)	|^	40尺(8格)	|^	30尺(6格)	|
|^	''防御等级:''	|^	26(+2敏捷,+3天生,+6+2秘银链甲衫,+5+3重型盾),接触12,措手不及24	|^	19(-1体型,+4敏捷,+6天生),接触13,措手不及15	|^	19(-1体型,+4敏捷,+6天生),接触13,措手不及15	|
|^	''基本攻击/擒抱:''	|^	+14/+18	|^	+14/+29	|^	+14/+27	|
|^	''攻击:''	|^	+2重剑+21近战(1d10+8/17-20),或精制复合长弓(力量+4)+17远程(1d8+4/*3)	|^	啮咬+25近战(2d6+16/19-20)	|^	爪抓+24近战(1d6+11),或+2重剑+27近战(2d8+15/17-20)	|
|^	''全回合攻击:''	|^	+2重剑+21/+16/+11近战(1d10+8/17-20),或精制复合长弓(力量+4)+17/ +12/ +7 远程 (1d8+4/ *3)	|^	啮咬+25近战(2d6+16/19-20)	|^	2爪抓+24近战(1d6+11)及啮咬+20近战(2d6+5/19-20);或+2重剑 +27/ +22/ +17 近战 (2d8+15/ 17-20)及啮咬 +20 近战 (2d6+5/ 19-20)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	10尺/5尺	|^	10尺/10尺	|
|^	''特殊攻击:''	|^	-	|^	兽化诅咒	|^	兽化诅咒	|
|^	''特性:''	|^	变化形态,理解狼性,昏暗视觉,灵敏嗅觉	|^	变化形态,理解狼性,伤害减免10/银,昏暗视觉,灵敏嗅觉	|^	变化形态,理解狼性,伤害减免10/银,昏暗视觉,灵敏嗅觉	|
|^	''豁免检定:''	|^	强韧+16,反射+12,意志+13	|^	强韧+17,反射+12,意志+11	|^	强韧+17,反射+12,意志+11	|
|^	''属性:''	|^	力量18,敏捷14,体质14,智力10,感知12,魅力12	|^	力量32,敏捷18,体质20,智力10,感知12,魅力12	|^	力量32,敏捷18,体质20,智力10,感知12,魅力12	|
|^	''技能:''	|^	驯养动物+4,躲藏+6,聆听+9,潜行+8,侦察+13,生存+5	|^	驯养动物+4,躲藏+6,聆听+9,潜行+12,侦察+13,生存+5*	|^	驯养动物+4,躲藏+6,聆听+9,潜行+12,侦察+13,生存+5*	|
|^	''专长:''	|^	警觉,顺势斩,战斗反射,擅长异种武器(重剑),精通重击(重剑),精通重击(啮咬),强化天生防御,强化天生攻击 (啮咬),钢铁意志,猛力攻击,飞跑,隐秘,追踪,	|^	警觉,顺势斩,战斗反射,擅长异种武器(重剑),精通重击(重剑),精通重击(啮咬),强化天生防御,强化天生攻击 (啮咬),钢铁意志,猛力攻击,飞跑,隐秘,追踪,	|^	警觉,顺势斩,战斗反射,擅长异种武器(重剑),精通重击(重剑),精通重击(啮咬),强化天生防御,强化天生攻击 (啮咬),钢铁意志,猛力攻击,飞跑,隐秘,追踪,专攻武器 (重剑),专攻武器 (啮咬),武器专精 (重剑)	|
|^	''环境:''	|^	温带森林	|^	温带森林	|^	温带森林	|
|^	''组织:''	|^	单独,成对,或成群(1-2狼人首领外加2-4狼人及5-8狼)	|^	单独,成对,或成群(1-2狼人首领外加2-4狼人及5-8狼)	|^	单独,成对,或成群(1-2狼人首领外加2-4狼人及5-8狼)	|
|^	''挑战等级:''	|^	14	|^	14	|^	14	|
|^	''宝物:''	|^	标准	|^	标准	|^	标准	|
|^	''阵营:''	|^	总是混乱邪恶	|^	总是混乱邪恶	|^	总是混乱邪恶	|
|^	''进化:''	|^	视人物职业而定	|^	视人物职业而定	|^	视人物职业而定	|
|^	''等级调整:''	|^	+3	|^	+3	|^	+3	|


比它的低级同胞更强壮、更勇敢、更致命,狼人首领是喜欢肆虐破坏的危险野兽。

这里所描述的狼人首领为等级10的人类战士并且是天生兽化人,其基础属性值如下:力量16,敏捷14,体质14,智力10,感知10,魅力12。

!!!!战斗
狼人首领能如变成动物形态一样变成混种形态。在凶暴狼形态下,它们可以如普通的狼一样进行拌摔。在混种形态下,它们可以使用武器或用其利爪进行攻击。

''变化形态 (Su):''狼人首领可以变化成凶暴狼形态或两足行走的混种形态。

''兽化诅咒 (Su):''任何被处于动物或混种形态下的狼人首领的啮咬攻击所击中的类人生物或巨人类生物都必须通过一个DC 15的强韧豁免检定,否则就可能被传染上兽化症。

''拌摔 (Ex):''凶暴狼形态下的狼人首领一旦用啮咬攻击命中对手就可以用一个即时动作对对手展开拌摔 (+15检定调整值),该动作不会引发借机攻击。即使尝试失败,对手也不能反过来拌摔狼人首领。

''理解狼性 (Ex):''能与狼和凶暴狼交流,而且在针对狼和凶暴狼的情况下进行基于基于魅力调整值的检定时可获得+4的种族加值。

''技能:''*处于混种或狼形态下的狼人首领在通过嗅觉展开追踪的情况下进行生存检定时可获得+4的种族加值。

''物品:''+2秘银链甲衫,+3重型盾,+2重剑,食人魔巨力手套,+2抗力斗篷,精制复合长弓 (力量+4)。












!!!Hill Giant Dire Wereboar(山丘巨人凶暴野猪人)


|!		|!	山丘巨人凶暴野猪人,巨人形态(Hill Giant Dire Wereboar,Giant Form)	|!	山丘巨人凶暴野猪人,凶暴野猪形态(Hill Giant Dire Wereboar,Dire Boar Form)	|!	山丘巨人凶暴野猪人,混种形态(Hill Giant Dire Wereboar,Hybrid Form)	|
|!		|!	大型巨人(变形生物)	|!	大型巨人(变形生物)	|!	大型巨人(变形生物)	|
|^	''生命骰:''	|^	12d8+51加7d8+49(185hp)	|^	12d8+51加7d8+49(185hp)	|^	12d8+51加7d8+49(185hp)	|
|^	''先攻权:''	|^	-1	|^	-1	|^	-1	|
|^	''速度:''	|^	穿革甲时30尺(6格);基本陆地速度40尺	|^	40尺(8格)	|^	40尺(8格)	|
|^	''防御等级:''	|^	22(-1体型,-1敏捷,+11天生,+3革甲),接触8,措手不及22	|^	16(-1体型,-1敏捷,+8天生),接触8,措手不及16	|^	19(-1体型,-1敏捷,+11天生),接触8,措手不及19	|
|^	''基本攻击/擒抱:''	|^	+14/+25	|^	+14/+33	|^	+14/+33	|
|^	''攻击:''	|^	巨木棒+21近战(2d8+10);或挥击+20近战(1d4+7);或石头+12远程(2d6+7)	|^	抵撞+28近战(1d8+22)	|^	巨木棒+29近战(2d8+22);或爪抓+28近战(1d6+15)	|
|^	''全回合攻击:''	|^	巨木棒+21/+16近战(2d8+10);或2挥击+20近战(1d4+7);或石头 +12 远程 (2d6+7)	|^	抵撞+28近战(1d8+22)	|^	巨木棒+29近战(2d8+22)及抵撞+23近战(1d8+7);或2爪抓+28近战(1d6+15)及抵撞+23近战(1d8+7)	|
|^	''面宽/触及:''	|^	10尺/10尺	|^	10尺/5尺	|^	10尺/10尺	|
|^	''特殊攻击:''	|^	掷石	|^	兽化诅咒	|^	兽化诅咒	|
|^	''特性:''	|^	变化形态,理解猪性,凶猛,昏暗视觉,接石,灵敏嗅觉	|^	变化形态,理解猪性,伤害减免10/银,凶猛,昏暗视觉,灵敏嗅觉	|^	变化形态,理解猪性,伤害减免10/银,凶猛,昏暗视觉,灵敏嗅觉	|
|^	''豁免检定:''	|^	强韧+17,反射+8,意志+12	|^	强韧+20,反射+8,意志+12	|^	强韧+20,反射+8,意志+12	|
|^	''属性:''	|^	力量25,敏捷8,体质19,智力6,感知12,魅力7	|^	力量41,敏捷8,体质25,智力6,感知12,魅力7	|^	力量41,敏捷8,体质25,智力6,感知12,魅力7	|
|^	''技能:''	|^	攀爬+10,跳跃+10,聆听+10,侦察+12	|^	攀爬+18,跳跃+22,聆听+10,侦察+12	|^	攀爬+18,跳跃+22,聆听+10,侦察+12	|
|^	''专长:''	|^	警觉,顺势斩,坚忍,精通冲撞,精通击破武器,钢铁意志,猛力攻击,专攻武器(巨木棒)	|^	警觉,顺势斩,坚忍,精通冲撞,精通击破武器,钢铁意志,猛力攻击,专攻武器 (巨木棒)	|^	警觉,顺势斩,坚忍,精通冲撞,精通击破武器,钢铁意志,猛力攻击,专攻武器(巨木棒)	|
|^	''环境:''	|^	温带山区	|^	温带山区	|^	温带山区	|
|^	''组织:''	|^	单独,成对,家族(3-4),或成群(2-4外加1-4凶暴野猪)	|^	单独,成对,家族(3-4),或成群(2-4外加1-4凶暴野猪)	|^	单独,成对,家族(3-4),或成群(2-4外加1-4凶暴野猪)	|
|^	''挑战等级:''	|^	11	|^	11	|^	11	|
|^	''宝物:''	|^	标准	|^	标准	|^	标准	|
|^	''阵营:''	|^	总是中立	|^	总是中立	|^	总是中立	|
|^	''进化:''	|^	视人物职业而定	|^	视人物职业而定	|^	视人物职业而定	|
|^	''等级调整:''	|^	+7	|^	+7	|^	+7	|


巨人形态的凶暴野猪人看起来非常像普通的山丘巨人,但是略微低矮结实,并且有着粗糙僵硬的头发和身体。这里所描述的凶暴野猪人基于山丘巨人且是天生兽化人,并使用普通山丘巨人的基础属性值。

!!!!战斗
凶暴野猪人十分易怒。它们通常在巨人形态下开始战斗,然后变成混种形态并借由其带来的巨大力量来占据上风。它们喜欢使用其精通冲撞和精通击破武器专长来将对手撞开以及将其武器和盾牌砸碎。

''变化形态 (Su):''凶暴野猪人可以变化成凶暴野猪形态或两足行走的混种形态。

''理解猪性 (Ex):''能与野猪和凶暴野猪交流,而且在针对野猪和凶暴野猪的情况下进行基于基于魅力调整值的检定时可获得+4的种族加值。

''兽化诅咒 (Su):''任何被处于动物或混种形态下的野猪人的抵撞攻击所击中的类人生物或巨人类生物都必须通过一个DC 15的强韧豁免检定,否则就可能被传染上兽化症。

''凶猛 (Ex):''凶暴野猪人是极为顽强的斗士,它们甚至可以在瘫痪或濒死的状态下不受罚值地继续战斗。

































!!!创造兽化人
“兽化人”是一个能添加到任何类人生物或巨人类生物 (此后统称基础生物)上的模板。兽化人模板可以被遗传 (对天生兽化人而言)或被获得 (对受传染的兽化人而言)。变成兽化人非常类似于兼职动物并且获得特有的生命骰。

''体型和种类:''基础生物的种类不会发生改变,但是会获得变形生物亚种。兽化人会得到一些肉食性或杂食性的动物类生物 (此后统称基础动物)的特征。兽化人也会获得一个拥有其基础生物和基础动物混合特征的混种形态。兽化人的混种形态的体型与其基础动物或基础生物相同,取其较大者。

除非另有注明,兽化人使用其基础生物或其基础动物的数据和特殊能力。

''生命骰和生命值:''等于其基础生物与其基础动物生命骰的和。要计算总生命值的话,则需要根据兽化人各种形态下的体质调整值来进行计算。

''速度:''与其基础生物或基础动物相同,取决于兽化人正处于哪种形态下。混种形态下使用其基础生物的速度。

''防御等级:''所有形态下其基础生物的天生防御加值提升+2。在混种形态下,兽化人的天生防御加值等于其基础生物或基础动物的天生防御加值中的较高者。

''基本攻击/ 擒抱:''将其基础动物的基本攻击加值加到其基础生物的基本攻击加值之上。兽化人的擒抱加值等于其攻击加值与其力量调整值以及其所处形态的体型修正的和。

''攻击:''与其基础生物或基础动物相同,取决于兽化人正处于哪种形态下。混种形态下的兽化人获得两次爪抓攻击和一次啮咬攻击作为其天生武器。这些武器所造成的伤害基于其混种形态的体型。混种形态下的兽化人可以使用武器和啮咬来进行攻击,或者使用其天生武器进行攻击。混种形态下的啮咬攻击属于次要攻击。

|!混种形态的体型|!爪抓|!啮咬|
|小型 |1d3 |1d4 |
|中型 |1d4 |1d6 |
|大型 |1d6 |1d6 |
|超大型|2d4 |2d6 |

''伤害:''与其基础生物或基础动物相同,取决于兽化人正处于哪种形态下。

''特殊攻击:''兽化人拥有其基础生物或基础动物的特殊攻击,取决于兽化人正处于哪种形态下,并且可获得下述特殊攻击。

混种形态的兽化人不会获得其基础动物的任何特殊攻击。兽化人施法者在其动物形态下不能施展需要语言、姿势或材料组件的法术;在混种形态下不能施展需要语言组件的法术。

''兽化诅咒 (Su):''任何被处于动物或混种形态下的天生兽化人的啮咬攻击所击中的类人生物或巨人类生物都必须通过一个DC 15的强韧豁免检定,否则就可能被传染上兽化症。如果受害者的体型超出或小于兽化人一个体型以上,则不会被该兽化人的兽化症传染。受传染的兽化人不会传播兽化诅咒。

''特性:''兽化人拥有其基础生物或基础动物的所有特性,并且可以获得下述特性。

''变化形态 (Su):''兽化人能变成特定的动物形态 (如其描述中指出的)。它不能通过变化形态获得动物的属性值,但却可以将动物的物理属性调整值加在其本身的属性值上。兽化人也可以变成拥有适于抓握的手及动物般外貌的两足行走的混种形态。

变成动物或混种形态或由动物或混种形态变回来都属于一个标准动作。被杀死的兽化人会变回其类人形态,但仍然还是死亡的。然而,被分开的身体部分仍然保留其动物形态。受传染的兽化人会发现这项能力难以控制 (见下,作为传染病的兽化症),但天生兽化人可以完全控制住此能力。

''伤害减免 (Ex):''处于动物或混种形态下的受传染的兽化人拥有5/ 银的伤害减免能力。处于动物或混种形态下的天生兽化人拥有10/ 银的伤害减免能力。

''理解兽性 (Ex):''无论处于任何形态下,兽化人都能与其动物形态的普通或凶暴动物交流沟通。这使它们在影响动物态度时可获得+4的种族加值,并且使其能通过比如“朋友”、“敌人”、“逃跑”或“攻击”之类的简单词汇与动物沟通或命令。

''昏暗视觉 (Ex):''任何形态下的兽化人都拥有昏暗视觉能力。

''灵敏嗅觉 (Ex):''任何形态下的兽化人都拥有灵敏嗅觉能力。

''基本豁免加值:''将其基础动物的基本豁免加值加到其基础生物的基本豁免加值之上。

''属性:''所有兽化人的感知属性值+2。此外,在动物形态下,兽化人的物理属性值会根据其动物形态的种类如下表所述而增加。这些调整等于其动物的普通属性值-10或-11。混种形态下的兽化人根据同样的数值调整其物理属性值。

此外,兽化人也可以通过其额外的生命骰获得额外的属性值。

''一般兽化人''

|!名称 |!动物形态 |!动物或混种形态属性调整 |!首选阵营 |
|熊人|棕熊|力量+16,敏捷+2,体质+8|守序善良|
|野猪人|野猪|力量+4,体质+6|中立|
|鼠人|凶暴鼠|敏捷+6,体质+2|混乱邪恶|
|虎人|虎|力量+12,敏捷+4,体质+6|中立|
|狼人|狼|力量+2,敏捷+4,体质+4|混乱邪恶|
|凶暴野猪人|凶暴野猪|力量+16,体质+6|中立|


''技能:''兽化人可以获得其动物形态每个生命骰 (2+智力调整值)点的技能点数,就如同兼职了动物一样。(动物生命骰永远也不会是它的第一个生命骰。)在此动物的描述中所注明的任何技能对于兽化人的动物等级来说都属于本职技能。在任何形态下,兽化人也可获得其基础生物和基础动物的任何种族技能加值,但是此类技能加值只在其相应的形态下才会产生作用。

''专长:''将其基础动物的专长与其基础生物的专长相加。如果结果是兽化人拥有了同一专长两次,那么它不会获得额外的效果,除非那专长可以如其描述中所注明的一样可以被选择多次。兽化人也许会获得超出其总生命骰数所能带给它专长数量,如果出现了这种情况,任何“额外”的专长都要被注明为奖励专长。

兽化人在其类人形态下有可能达不到其所有专长的先决条件。如果出现了这种情况,则视为兽化人仍然拥有此专长,但是不能在类人形态下使用它。兽化人会得到钢铁意志专长作为奖励专长。

''区域:''与其基础生物或其基础动物相同。

''组织:''单独和成对,一些时候为家族 (3-4),成队 (6-10),或成群 (家族外加相关动物)。

''挑战等级:''视职业等级或基本生物而定,并根据其基础动物的生命骰做出调整:1-2HD,+2;3-5HD,+3;6-10HD,+4;11-20HD,+5;21+HD,+6。

''宝物:''标准。

''阵营:''任意。高贵的生物比如熊、鹰和狮子趋向于产生善良阵营的兽化人。凶恶的生物比如鼠、蛇和狼趋向于产生邪恶阵营的兽化人。这取决于如何去理解这些动物,而并不取决于动物本身的任何天性,所以动物形态的阵营可以任意指定。

''进化:''视人物职业而定。

''等级调整:''等于其基础生物的等级调整+2 (受传染的兽化人)或+3 (天生兽化人)。另外,兽化人的人物等级因其基础动物的种族生命骰而增加。

!!!作为传染病的兽化症
当一个人物因受到兽化人的啮咬攻击 (见上)而被兽化症传染时,直到下次满月的第一个夜晚症状才会显现出来。在那晚,被传染的人物会非自发地变成动物形态并且会忘记他或她的身份,暂时变成NPC。该人物会保持着动物形态,转换为特定的阵营,直到下个黎明。

第一次变身时人物的行动取决于其动物形态的阵营。此人物不会记得整个事件,除非他成功通过了一个DC 15的感知检定,如果检定成功,那么他就会了解他已经变成了兽化人。

此后,人物在满月时,以及及任何时间在战斗中受到伤害时都会不由自主地变身。他或她会感觉到无法抑制的狂暴情绪,并且必须通过一个控制形体检定 (见下)才能阻止自己变成动物形态。任何还没清楚自己已经变成兽化人的玩家人物会通过一个非自发性的变化暂时变成NPC,而且会根据其动物形态的阵营采取行动。

已经了解自己变成兽化人的人物不会忘记其身份,而且变身之后行为不会失去控制。然而,每次他变成动物形态时,都必须成功通过一个意志豁免检定 (DC 15 + 他已经变成过动物形态的次数)否则会在其任何形态下都永久的保留其动物形态的阵营。

一旦人物了解到他被传染了,就可以使用相应的控制形体检定DC自愿地尝试变成动物或混种形态。每一次尝试都属于一个标准动作,而且在任何一轮中都可以进行。任何变成动物或混种形态的自发性变化会立刻并且永久地将人物阵营转换为其相应兽化人的阵营。

!!!!改变外形
改变外形是一个标准动作。如果变化是自愿的,那么人物会在触发事件发生的下一轮中改变其外形。未发觉其状况的受到传染的人物会保持在动物形态直到下个黎明。已发觉其状况的受到传染的人物 (见上)可以通过一个控制形体检定尝试变回类人形态 (自愿或非自愿),但如果他在检定中失败,那么就会保持在动物形态 (或混种形态)直到下个黎明。

!!!治疗兽化症
受传染的人物在被兽化人攻击后1小时内服下颠茄的嫩枝 (也被叫做菟葵)后,可以尝试通过一个DC 20的强韧豁免检定以摆脱传染。如果是由医疗者来帮助服药的话,则可使用人物的豁免检定加值或医疗者的医疗调整值之中的较高者来进行检定。无论他服下了多少颠茄,受传染的人物只有一次治疗机会。而且颠茄必须相当新鲜 (在一星期内采摘到的)。

然而,无论新鲜与否,颠茄是有毒的。人物必须通过一个DC 13的强韧豁免检定否则会受到1d6点力量伤害。一分钟后,人物必须通过第二次DC 13的强韧豁免检定否则会再受到额外的2d6点力量伤害。

由等级12或更高的牧师所施放的移除疾病或医疗术法术也可以治好这传染病,受传染的人物只有在受到兽化人攻击后的三天内接受上述法术的治疗才有效。

除此之外,只有一个方法可以移除此传染病,那就是在满月的三天时间内在受传染的人物身上施放移除诅咒或破除结界法术。接受上述法术后,人物必须通过一个DC 20的意志豁免检定才能破除诅咒 (施法者会知道法术是否生效)。如果豁免检定失败,则必须重复上述过程。接受这种治疗的人物通常被捆绑起来或关在牢笼里直到治疗生效为止。

只有受传染的兽化人才能被治好身上的兽化症。

!!!扮演兽化人人物
变成兽化人不会改变人物的天赋职业,但是通常会改变其阵营 (见上)。阵营的改变可能会使拥有某些职业的人物丧失其职业特性。

兽化人人物角色拥有以下种族特性。

*+2感知。兽化人变化成其混种或动物形态时,其物理属性会根据其动物形态的属性调整而增加。
*体型等于其基础生物或其基础动物形态。
*任何形态都拥有昏暗视觉能力。
*任何形态都拥有灵敏嗅觉能力。
*种族生命骰:兽化人因其种族、等级和职业,可将其动物形态的生命骰加到其基本生命骰之上。这些额外的生命骰会有依据地修正兽化人的基本攻击加值及基本豁免加值。
*种族技能:兽化人可以如兼职动物一样因其动物生命骰而增加其技能点数。它会获得其动物形态每生命骰 (2 + 智力调整值,最少为1)的技能点数。在其动物描述中给出的任何技能对于兽化人的动物等级来说都属于本职技能。兽化人的技能等级上限等于其动物形态生命骰 + 其种族生命骰 (如果有的话) + 其职业等级 +3。兽化人的基础种族及其动物形态的任何种族技能调整值 (但不能是受限制的调整值)都能被加到其任何形态下的技能调整值之上。
*种族专长:将其动物生命骰加到其基础人物生命骰之上能决定此人物拥有多少项专长。所有兽化人都会得到钢铁意志专长作为奖励专长。
*任何形态下天生防御加值+2。
*特性 (见上):变化形态,理解兽性,兽化诅咒 (仅限动物或混种形态下)。
*受传染的兽化人:伤害减免5/ 银 (仅限动物或混种形态下)。
*天生兽化人:伤害减免10/ 银 (仅限动物或混种形态下)。
*天生使用语言:如同其基础生物。
*天赋职业:如同其基础生物。
*等级调整:如同其基础生物+2 (受传染的兽化人)或+3 (天生兽化人)。

!!!控制形体 (感知)

任何被兽化症感染并且了解其状况的人物都可以如学习本职技能一样学习控制形体。(还没了解其状况的受传染的兽化人可在未受训状态下尝试进行控制检定。)此技能可决定一个受传染的兽化人是否能控制他的变形。天生兽化人因为能够完全控制其变形能力而不需要此技能。

''检定 (非自发变形):''受传染的人物必须在每个满月夜晚月出时分进行一次检定以抵抗非自发变形为动物形态。受伤的人物在每丧失其四分之一的生命值时也要做一次检定以确定是否会因受伤而产生非自发变形。

|!非自发变形 |!控制形体DC|
|抵抗非自发变形|25|

如果检定失败,人物则必须保持在动物形态直到下个黎明,那时他会自动变回其基础形态。已了解其状况的人物可以做一次尝试以变回类人形态 (见下),但是如果失败的话,则会保持在动物形态直到下个黎明。

''重试 (非自发变形):''每次触发事件发生时都需要进行非自发变形检定。

''检定 (自发变形):''此外,已了解其状况的受传染的兽化人可以无视月亮的盈亏以及是否受到伤害,而自发地尝试使用此技能来变形为动物形态、混种形态或变回类人形态。

|!自发变形 |!控制形体DC|
|变回类人形态 (满月 *)|25|
|变回类人形态(非满月)    |20|
|变成混种形态_        |15|
|自发变成动物形态(满月)   |15|
|自发变成动物形态(非满月)  |20|

|* //出于游戏考虑,每个月的满月会持续3晚。//|

''重试 (自发变形):''人物可以随意重试自发变形为动物形态或混种形态。每次尝试都属于一个标准动作。然而,如果变回类人形态的检定失败,那么人物则必须保持在其动物或混种形态直到下个黎明,那时他会自动变回类人形态。

''特殊:''受传染的兽化人不能尝试自发变形直到它了解了其状态为止 (见作为传染病的兽化症)。






''Lyre of Building(土木七弦琴)'': 如果正确弹奏,可抵销300码内对所有不动建筑物(墙、屋顶、地板等)的攻击,包括“音爆号角”、“解离术”、攻城槌或其他攻城器。每天可使用一次,每次保护历时30分钟。

“土木七弦琴”也可帮助建造各式建筑物,如:房子、矿坑、隧道、壕沟等,每周可使用一次。弹奏30分钟达成的进度等于100名工人工作三天的进度。弹奏超过1小时后,每超过1小时,弹奏者须进行“表演”检定(DC=18),未通过则必须停止演奏,且一周内不能再使用此功能。

Faint transmutation; CL 6th; Craft Wondrous Item, fabricate; Price 13,000gp;Weight 5 lb.
''Mace of Smiting(开山硬头锤):''
这把+3精金硬头槌在对抗构装生物时有+5增强加值,且一旦造成重击就完全毁灭此构装生物(无豁免检定)。对异界生物造成重击时,重击倍数为x4而不是x2。

中等变化系灵光;CL11;制造魔法武器和防具,解离术(disintegrate);价格75312金币;制造花费39312金币+2880经验值。
''Mace of Terror(惊骇硬头锤):''
一旦被启动,这把+2重型硬头锤能把使用者的服装和外貌变得十分恐怖,周围30英尺看见使用者的生物会陷入慌乱状态,如同受到恐惧术(fear)的影响(意志豁免DC16),其豁免检定受到-2士气惩罚值,且会逃离使用者。此能力每天可使用3次。

强烈死灵系灵光;CL13;制造魔法武器和防具,恐惧术(fear);价格38552金币;制造花费19276金币+1542经验值。
!!!法师护甲(Mage Armor)
|咒法系(创造)[力场]|
|''等级:''术士/法师 1|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:''1小时/施法者每等级(可解消)|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''不可|
|一层隐形但确实存在的力场在法师护甲受术者周围出现,其AC获得+4的盔甲加值。|
|与一般盔甲不同的是,法师护甲没有防具检定减值,也不会导致法术失效及降低移动速度。由于法师护甲是由力场构成,因此虚体生物无法像忽视普通盔甲那样忽视它。|
|//器材://一块鞣制过的皮革。|
!!!法师之手(Mage Hand)
|变化系|
|''等级:''吟游诗人0,术士/法师0|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一件非魔法的无主物品,重量至多5磅|
|''持续时间:''专注|
|''豁免:''无|
|''法术抗力:''不可|
|手指远方物品,使其浮起并任意移动。以一个移动动作,你可以指挥目标物品向任意方向移动至多15英尺。但是一旦你和物品之间的距离超过法术距离,法术就会终止。|
!!!法师裂解术(Mage’s Disjunction)
|防护系|
|''等级:''魔法9,术士/法师9|
|''法术成分:''言语|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''区域:''半径40英尺爆发范围内所有的魔法效应和魔法物品|
|''持续时间:''立即|
|''豁免:''意志,通过则无效(物品)|
|''法术抗力:''不可|
|除了你携带或接触到的物品之外,区域内所有魔法效应和魔法物品都会裂解。法术和类法术效果会分解成独立组分(会象受到解除魔法(dispel magic)一样终止效果),而永久性魔法物品必须进行意志豁免,未通过就会还原成一般物品。如果该魔法物品正被某生物所持有,在进行意志检定时,意志豁免加值可依该物品或该生物的较高者计算。|
|每施法者等级可有1%的几率毁掉一个反魔场(antimagic field)。如果反魔场幸存,力场内的物品便不会受到裂解。|
|即便神器也能成为裂解术的目标,不过只有每施法者等级1%的几率才能毁掉如此强大的魔法物品。另外,如果你毁掉了一件神器的话,你必须通过意志检定(DC=25),否则会永远失去施法能力。(施法能力无法经由凡人的魔法恢复,甚至神迹术(miracle)和祈愿术(wish)也不行。)|
|//注意://毁掉神器是件危险的事情,有95%的几率会引起一些对这神器有兴趣或有关系的强大存在的关注。|
!!!法师忠犬(Mage’s Faithful Hound)
|咒法系(创造)|
|''等级:''术士/法师5|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''魅影守护犬|
|''持续时间:''1小时/施法者等级或直到能量散发,之后1轮/施法者每等级;见说明|
|''豁免:''无|
|''法术抗力:''不可|
|你造出一条只有你看得见的魅影守护犬。它会保卫创造地点周围的区域(它不会移动)。如果有小型或更大的生物进入魅影守护犬附近30英尺内,它就会大声开始吠叫。(如果守护犬出现时30英尺范围内已经有生物存在,则这些生物可以在这一区域内自由移动。但如果他们离开此范围又再进来,还是会引发吠叫。)守护犬可以看见隐形生物和灵体生物。它不会理会虚假幻影,但会发现幽影幻象。|
|如果入侵者接近守护犬周围5英尺内,它会停止吠叫并展开凶狠的攻击,每轮可以咬一口(+10攻击加值,2D6+3点穿刺伤害)。守护犬拥有隐形生物的战斗优势。|
|守护犬处于准备攻击的状态,所以可以在入侵者的回合中咬第一下。在对抗伤害减免时,守护犬的啮咬视为魔法武器。守护犬可以被解除,但不能被攻击。|
|未触发前,法术的持续时间是1小时/施法者每等级。然而,一旦守护犬开始吠叫,持续时间就只剩下1轮/施法者每等级。如果你和狗的距离超过100英尺,法术就会终止。|
|//材料成分://一个微型银质哨子,一块骨头和一条线|
!!!法师回忆术(Mage’s Lucubration)
|变化系|
|''等级:''法师6|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''个人|
|''目标:''你自己|
|''持续时间:''立即|
|你可以立即唤回最近24小时内使用过的一个法术,法术等级不超过5级。你必须在之前的期间内真正的施展过该法术。被唤回的法术储存在你的心灵,就像一般已准备好的法术一样。|
|要施展被唤回的法术时,如果该法术需要材料成分,你也必须准备好。如果没有材料,还是不能施展该法术。|
!!!法师豪宅(Mage’s Magnificent Mansion)
|咒法系(创造)|
|''等级:''术士/法师7|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''异次元豪宅,至多每施法者等级三个边长10英尺立方区域(可变)|
|''持续时间:''2小时/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|你创造出一座只有一个入口的异次元居所,它的入口通向你施展此法术时所处的界域。房屋的入口看起来微微发光地浮在空气中,大概有4英尺宽8英尺高。只有你指定的对象才能进入房屋,并且只要你进入房屋,入口就会在你身后关闭并隐形。但你之后可以随时从屋内打开入口。当客人进入入口后,他们会发现自己在一个连接许多房间的华丽大厅内。整个房间整洁而温暖。|
|只要不超出法术效果范围,你可以任意设计房屋的内部构造。屋内有全套家具,而且食物存量充足,足够造出一顿可供每施法者等级12人享用的豪华大餐。屋内还有衣着整齐但近乎透明的仆人(至多每施法者等级两人),随时准备为进来的人服务。仆人能做的事与隐形仆役(unseen servant)相同,但他们并非隐形,而且可以在屋内自由走动。|
|由于这间房屋只有一个特定的出入口与外界相连,因此屋内外的环境完全不会相互影响。|
|//器材://一个象牙雕琢的拱门小模型,一块打磨过的大理石和一把微型银汤匙(每件物品价值5金币)。|
!!!法师密室(Mage’s Private Sanctum)
|防护系|
|''等级:''术士/法师5|
|''法术成分:''言语,姿势,材料|
|''施法时间:''10分钟|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''区域:''施法者每等级30英尺的立方(可变)|
|''持续时间:''24小时(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|此法术可以确保隐私性。无论谁从外面向法术区域里看都只能看到一团黑暗和朦胧,即使是黑暗视觉也不能穿透它。不管声音多么大也没有任何声音可以从法术效果范围中传播到外面去,所以没有人可以从外面听到里面的声音。但里面却可以正常地看见外面。|
|预言系(探知)法术不能得到任何区域内的信息,并且区域内的生物对侦测思想(detect thoughts)免疫。在法术的保护下,任何法术作用的区域内和区域外之间的语言交流都被阻止(因为该法术阻挡声音),但它并不影响其他方式的交流,比如以短讯术(sending)、传讯术(message)或者心灵感应的方式交流,例如法师和他的魔宠之间的情感连接并不因此而中断。|
|此法术并不能阻止生物和物体进出受此法术保护的区域。|
|法师密室可以被魔法恒定术(permanency)恒定。|
|//材料成分://一片薄的铅片,一块不透明的玻璃,一小块棉花或布料,磨成粉末的黄橄榄石。|
!!!法师之剑(Mage’s Sword)
|塑能系[力场]|
|''等级:''术士/法师7|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''一把剑|
|''持续时间:''1轮/施法者每等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|你造出一个闪闪发光的剑形力场。从你施展此法术的那一回合开始,此剑就会攻击任何它范围内你指定它攻击的目标。此剑每轮在你的回合内对指定的目标进行一次攻击。此剑的攻击加值等于你的施法者等级加上你的智力调整值(法师)或魅力调整值(术士)再加上+3的增强加值。因为是由力场构成,此剑可以击中灵体和虚体生物。它的伤害值为4D6+3点力场伤害,重击威胁范围是19-20,重击倍数×2。|
|此剑只能从你的方向攻击,它不能得到夹击加值,也不能帮助队友夹击。如果此剑离开法术有效距离、离开你的视野,或你未对它下命令,它便会回到你身边盘旋待命。|
|第一轮之后,每轮你可以以一个标准动作命令此剑攻击一个新的目标,如果你不下命令,此剑将继续攻击上一轮的目标。|
|此剑不能被物理攻击所攻击或伤害,但是解除魔法(dispel magic),解离术(disintegrate),毁灭黑洞(sphere of annihilation)或者抹消权杖(rod of cancellation)可以影响它。此剑的AC为13(10+中体型0体型调整值+3偏斜加值)。|
|如果被攻击的生物具有法术抗力,则第一次被法师之剑攻击时,施法者要进行一次检定以穿透目标的法术抗力,如果该检定未通过的话,则此法术被解除。如果施法者成功穿透目标的法术抗力,则在法术持续时间内此剑都不再受此生物的法术抗力的影响。|
|//器材://一把微缩的白金模型剑,它的握柄与柄端由铜和锌打造。打造这个模型剑需要250金币。|
!!!魔法灵光(Magic Aura)
|幻术系(五官幻觉)|
|''等级:''吟游诗人1,魔法1,术士/法师1|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的一个物体,重量至多5磅/每等级|
|''持续时间:''1天/每等级(可解消)|
|''豁免:''无;见说明|
|''法术抗力:''不可|
|你可以改变物品的魔法灵光以瞒过侦测法术(和拥有类似效果的法术)。你可以使物品看起来没有魔法灵光,或使物品的灵光看起来像你指定的魔法物品的魔法灵光,或使物品的灵光看起来像你指定的法术效果的魔法灵光。|
|如果对附有魔法灵光的物品施展鉴定术(identify)或进行类似的鉴定,鉴定者必须进行意志检定。如果检定通过则可看穿伪装的灵光,并可得知其本质。如果未通过,则会相信伪装的灵光,而无法得知其任何真正的魔法特性。|
|如果物品本身的魔法灵光过于强大(例如神器),魔法灵光就无法作用。|
|注意:魔法武器、盾牌或盔甲必须是精制品。因此,如果你在一把品质一般的剑上施展魔法灵光,则看起来相当可疑。|
|//器材://一小块方形丝绸,必须用来擦拭目标物品。|
!!!反混乱法阵(Magic Circle Against Chaos)
|防护系[秩序]|
|''等级:''牧师3,秩序3,圣武士3,术士/法师3|
|该法术作用与反邪恶法阵(magic circle against evil)相似,但效果是防护混乱(protection from chaos)而非防护邪恶(protection from evil),并且它可以用来束缚被呼唤而来的非守序生物。|
!!!反邪恶法阵(Magic Circle Against Evil)
|防护系[善良]|
|''等级:''牧师3,善良3,圣武士3,术士/法师3|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''区域:''以接触到的生物为中心的10英尺弥漫范围|
|''持续时间:''10分钟/每等级|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''不可;见说明|
|所有在法术影响区域内的生物受到如同防护邪恶(protection from evil)法术的保护,并且召唤而来的非善良生物都无法进入此区域。你必须克服目标生物的法术抗力才能防止被召唤而来的生物进入此法术范围(如同防护邪恶法术的第三种功效),但法术提供的AC的偏斜加值,豁免检定加值以及对心灵控制的防护效果并不受目标生物法术抗力的影响。|
|你可以在施法时选择此法术的两种效果中的一种。反邪恶法阵可以被设置为朝向内或朝向外。当反邪恶法阵的方向被设置为向内时,此法术可以束缚住一个被呼唤而来的非善良生物(例如经由次等异界誓缚(lesser planar binding),异界誓缚(planar binding)和高等异界誓缚(greater planar binding)呼唤而来的生物)达24小时/每施法者等级,但是你必须在施展法阵法术后1轮内施展这些呼唤生物的法术。被召唤来的生物无法越过法阵的边界。|
|如果目标生物的体型超过法术的有效范围,则此法术仅视为作用于该生物身上的防护邪恶。|
|以法阵作为陷阱并非万无一失。如果施法时洒下的银粉环被破坏,法阵的效果将立即终止。被束缚住的生物无论直接还是间接都无法破坏法阵,但其他生物则可以。如果被呼唤而来的生物拥有法术抗力,则它每天可以尝试突破法阵一次。如果你无法克服它的法术抗力,则生物可以逃脱,并且法阵也被破坏。如果生物能使用任何形式的异次元传送法术(如星界投射(astral projection),闪现术(blink),任意门(dimension door),同游灵界(etherealness),异界之门(gate),异界传送(plane shift),行影术(shadow walk),传送术(teleport),及类似的法术),则可以通过这些法术轻易离开法阵。你可以使用次元锚(dimensional anchor)防范生物脱逃到其他次元,但是你必须在生物行动之前施法。如果成功,“次元锚”的持续时间等同于法阵的持续时间。被束缚的生物不能穿越法阵,但它可以向外进行远程攻击(如:远程武器,法术,或魔法能力等)。该生物可以攻击射程内的任何目标,但它不能攻击法阵本身。|
|你可以使用特殊的魔法图阵(diagram)使法阵更加稳固(图阵是环绕在法阵周围的封闭平面图形,以多种魔法印记加以增强)。绘制魔法图阵需要10分钟,而且要通过辨识法术技能检定(DC=20)。你无法得知此检定结果。如果绘制时没有压力,你可以取10,但仍然需要10分钟。如果你很有空闲,可以花3小时20分钟来绘制,那么你可以取20。|
|成功绘制的图阵可以让你在施展任何召唤法术之前将次元锚施于法阵上。次元锚可以将使任何被召唤而来的生物被困在法阵里达每施法者等级24小时。该生物不能以法术抗力挣脱以魔法图阵增强过的法阵,而且它的任何能力和攻击都不能穿越图阵。如果该生物试图以魅力检定突破束缚(见次级异界誓缚法术说明),则DC增加5。如果魔法图阵被破坏——哪怕只是一根稻草盖到图阵上——该生物会立即被释放。然而,如上文所提及,无论如何该生物都不能直接或是间接地破坏此图阵。|
|此法术的效果无法与防护邪恶累加,反之亦然。|
|//奥术材料成分://用银粉在受术者四周的地板(地面)上画一个直径3英尺的圆圈。|
!!!反善良法阵(Magic Circle Against Good)
|防护系[邪恶]|
|''等级:''牧师3,邪恶3,术士/法师3|
|该法术作用与反邪恶法阵(magic circle against evil)相似,但效果是防护善良(protection from good)而非防护邪恶(protection from evil),并且它可以用来束缚被呼唤而来的非邪恶生物。|
!!!反秩序法阵(Magic Circle Against Law)
|防护系[混乱]|
|''等级:''牧师3,混乱3,术士/法师3|
|该法术作用与反邪恶法阵(magic circle against evil)相似,但效果是防护守序(protection from law)而非防护邪恶(protection from evil),并且它可以用来束缚被呼唤而来的非混乱生物。|
!!!高等魔牙术(Magic Fang, Greater)
|变化系|
|''等级:''德鲁伊3,巡林客3|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个活物|
|''持续时间:''1小时/施法者每等级|
|与魔牙术相同,但攻击检定与伤害掷骰的增强加值是+1/施法者每4等级(最高+5)。|
|你也可以选择法术的另一种效果。选择该效果时,你可以使受影响的生物所有的天生武器均具有+1的增强加值(此效果不受你的施法者等级影响)。|
|高等魔牙术可以被魔法恒定术(permanency)恒定。|
!!!魔牙术(Magic Fang)
|变化系|
|''等级:''德鲁伊1,巡林客1|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的活物|
|''持续时间:''1分钟/施法者每等级|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可(无害)|
|魔牙术可以让受术者的一种天生武器在攻击检定和伤害掷骰上有+1的增强加值。此法术可作用在挥击,拳击,啮咬或其他天生武器上。(此法术并不能使徒手击打的伤害类型从非致命伤害变成正常伤害)。|
|魔牙术可以被魔法恒定术(permanency)恒定。|
!!!魔魂壶(Magic Jar)
|死灵系|
|''等级:''术士/法师5|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''一个生物|
|''持续时间:''1小时/每等级,或直到你回到你原本的身体为止|
|''豁免:''意志,通过则无效;见说明|
|''法术抗力:''可|
|施展魔魂壶后,你可以使自己的灵魂转移到一颗宝石或一大块水晶中(该宝石或水晶被称为魔魂之壶),而肉体留在那里没有生命。之后你可以尝试控制附近另一个生物的肉体,并将该生物的灵魂关在魔魂之壶中。你的灵魂可以回到壶中(由此,被占据的生物的灵魂也会从壶中回归它原本的身体),然后再尝试支配下一个生物。如果你的灵魂回到你自己原本的肉体,那么法术终止,容器将会空置。|
|要施展这个法术,魔魂之壶必须在法术有效范围内。你不一定要直接看到或接触到它,但你必须知道其确切位置。当你通过法术转移你的灵魂后,你原本的身体就像死掉一样。|
|处在魔魂之壶中时,你可以侦测并尝试支配任何处在每施法者等级10英尺内的生命力量(必须在同一位面)。目标和壶之间需要有效果线。然而,你无法得知准确的生物类型和位置。当附近有一个以上的生物时,若某生物和其他生物之间的HD至少相差4,则你能分辨出他们之间的区别(生命力量的强弱)。此外你还可以分辨出某个生命力量是由正能量驱动还是由负能量驱动。(不死生物由负能量驱动。只有拥有意识的不死生物才拥有或本身就是灵魂。)|
|你可以选择附身在生命力量较强或是较弱的生物上,但具体附身到哪一个较强或是较弱的生物上则随机决定。|
|尝试附身是一个整轮动作。防护邪恶(protection from evil)或类似的保护可以防止被附身。如果目标生物未能通过意志检定,则灵魂会被关入魔魂之壶,而肉体被你占据。如果附身失败则你的生命力量仍然留在魔魂之壶中,并且如果你尝试再次支配同一个目标,该目标的意志豁免检定将自动成功。|
|若附身成功,你的生命力量将占据宿主的肉体,而目标的生命力量将被囚禁在魔魂之壶中。你将保留你的智力,感知,魅力,等级,职业,基本攻击加值,基本豁免加值,阵营和心智力量。而力量,敏捷,体质,生命值,天生能力和自发能力则以目标生物的来计算。新的身体如果拥有额外的肢体并不会增加你的攻击次数(使用双武器攻击也不会更有利)。你不能使用新身体的特异能力与超自然能力,该生物会的法术和类法术能力也不能使用。|
|只要魔魂之壶和被占据的生物之间的距离不超过有效距离,你可以以一个标准动作将你的灵魂从宿主身上转移回魔魂之壶中,同时该生物的灵魂也会回到它自己的肉体内。如果你将灵魂转移回自己的身体,法术即终止。|
|当宿主的身体死亡时,如果魔魂之壶和宿主之间的距离在法术有效距离内,你会立即回到魔魂之壶中,而原宿主的生命力则会消散(也就是死亡)。如果宿主身体死亡时魔魂之壶和宿主之间的距离超过了法术有效距离,则宿主和你都会死亡。任何无处可去的生命力都视作被杀。|
|如果法术结束时你还在魔魂之壶中,你的灵魂会回到你原本的身体中(如果你的身体和魔魂之壶之间的距离超过法术有效距离,或你的身体被毁坏,则你会死亡)。如果法术效果结束时你仍然在宿主体内,你的灵魂会回到你原本的身体中(如果你当前的位置和原本身体之间的距离超过法术有效距离,则你会死亡),而魔魂之壶中宿主的灵魂也会回到它自己的身体中(如果魔魂之壶和宿主身体之间的距离超过法术有效距离,则宿主会死亡)。若魔魂之壶被摧毁,法术立刻终止,同时法术可以从魔魂之壶处或者宿主处被解除。|
|//器材://价值100金币的宝石或水晶。|
!!!魔法飞弹(Magic Missile)
|塑能系[力场]|
|''等级:''术士/法师1|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/施法者每等级)|
|''目标:''最多可选定5个生物,生物之间的距离不可超过15英尺|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''可|
|一颗以魔法能量构成的飞弹从你的指尖射出并攻击目标,对目标造成1d4+1点力场伤害。|
|无论目标是否有隐蔽、掩蔽(除非全掩蔽或全隐蔽)或是在近战中,飞弹都会精确命中目标。你不能指定飞弹攻击生物的特定部位。非活化的物体不会被此法术所伤害。|
|1级之后,你的施法者等级每提升2级可以多发射一颗飞弹——3级时2颗,5级时3颗,7级时4颗,9级时达到最大值5颗。如果你射出多颗飞弹,你可以决定让所有飞弹攻击同一个目标也可以决定让飞弹射向不同目标,但每颗飞弹只能击中一个生物。你必须在法术抗力掷骰和伤害掷骰前决定目标。|
!!!魔嘴(Magic Mouth)
|幻术系(五官幻觉)|
|''等级:''吟游诗人1,术士/法师2|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个生物或物体|
|''持续时间:''永久,直到能量散发|
|''豁免:''意志,通过则无效(物品)|
|''法术抗力:''可(物品)|
|此法术可以在选定的物品或生物身上安置一张有魔力的嘴。当某个特定事件发生时,它会凭空出现并说出一段事先设定的讯息。这段讯息可以使用任何你所通晓的语言,也可以在10分钟之内传达完毕,但是长度不能超过25个字。魔嘴不能用来施展法术,下达魔法指令或启动魔法效应。说话时,它的口型会跟讯息配合。举例来说,如果放置在一座雕像上,雕像的嘴看起来就像是在说话一样。当然,魔嘴也可以放置在树木,石头,门窗,或者任何物品及生物上。|
|当环境符合你施展法术所设定启动的命令时,法术开始运作。根据你的意愿,触发条件可以很一般化,也可以很具体,但是只能使用视觉型与听觉型触发条件。触发条件只能对它所面对的事物进行判断。它可能会被伪装或幻觉所欺骗。普通黑暗不能阻绝视觉型触发条件,但魔法黑暗和隐形(invisibility)则可以。潜行或魔法沉默(silence)可以阻绝听觉触发条件。一般声音,特定声音或某个说出来的词都可以设定为听觉条件。所有听得到,看得见的动作也可以设置为触发条件。除了衣着之外,魔嘴无法分辨阵营,等级,HD和职业。|
|条件触发的距离限制是15英尺/每施法者等级,所以一个6级的施法者可以使魔嘴被90英尺以内的事件触发。但如果范围内有障碍物阻挡了它的视觉与听觉,它就无法被触发。|
|魔嘴可以被魔法恒定术(permanency)恒定。|
|//材料://一小块蜂窝和价值10金币的翡翠粉。|
!!!魔石术(Magic Stone)
|变化系|
|''等级:''牧师1,德鲁伊1,土1|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的至多三颗小石头|
|''持续时间:''30分钟或直到能量散发|
|''豁免:''意志,通过则无效(无害,物品)|
|''法术抗力:''可(无害,物品)|
|你把魔法力量灌注在三颗与投石索弹丸差不多大小的石头上,增加击中目标时的威力。如果用手投掷,射程单位为20英尺,若用投石索发射,则视同投石索弹丸(射程50英尺)。此法术可使石头的攻击检定与伤害掷骰获得+1的增强加值。使用这些石头攻击时,视同一般远程攻击。每颗石头造成1d6+1点伤害(已经包含法术增强加值)。如果击中的是不死生物,可以造成2d6+2点伤害。|
!!!魔化防具(Magic Vestment)
|变化系|
|''等级:''牧师3,力量3,战争3|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的盔甲或盾牌|
|''持续时间:''1小时/施法者每等级|
|''豁免:''意志,通过则无效(无害,物品)|
|''法术抗力:''可(无害,物品)|
|你可以对一套盔甲或盾牌赋予每4施法者等级+1的增强加值(最多在施法者等级20级时+5)|
|若以一般外衣作为法术目标,则衣服被视为没有AC加值的盔甲。|
!!!高等魔化武器(Magic Weapon, Greater)
|变化系|
|''等级:''牧师4,圣武士3,术士/法师3|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一把武器或五十枚射击物(所有射击物在施法时必须彼此接触)|
|''持续时间:''1小时/施法者每等级|
|''豁免:''意志,通过则无效(无害,物品)|
|''法术抗力:''可(无害,物品)|
|此法术功能类似魔化武器。但是施法者每4等级能使武器在攻击检定和伤害掷骰上具有+1的增强加值(最高+5)。|
|你也可以施展在五十枝箭、矢或弹丸上。射击物必须是相同的类型,而且它们必须聚拢在一起(比如在同一箭袋内或其他容器内)。射击物(不是投掷类武器)使用后就失去此法术赋予的附魔属性。(作为此法术的目标时,手里剑被视为射击物而不是投掷类武器)|
|//奥术材料成分://石灰粉和碳粉。|
!!!魔化武器(Magic Weapon)
|变化系|
|''等级:''牧师1,圣武士1,术士/法师1,战争1|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的武器|
|''持续时间:''1分钟/施法者每等级|
|''豁免:''意志,通过则无效(无害,物品)|
|''法术抗力:''可(无害,物品)|
|魔化武器可以使一把武器在攻击检定和伤害掷骰上拥有+1的增强加值。(计算攻击加值时,此增强加值不与精制品武器在攻击检定上的+1加值累计。)|
|你不能将此法术施展在天生武器上,例如徒手攻击(见魔牙术(magic fang))。武僧的徒手攻击被视为一种武器,所以可以被这个法术强化。|
!!! 魔法天赋(MAGICAL APTITUDE)[一般专长]

''效果:''在法术辨识和使用魔法装置检定上获得+2的加值。
''魔法兽类(Magical Beast):''魔法兽和动物相似,但是可以具有高于2的智力值。魔法兽通常具有超自然或特异能力,但有时候仅仅是在外表或习性上奇特而已。

//特征://魔法兽具有以下特征。

*d10生命骰。
*基本攻击奖励等于生命骰数总和(类似于战士)。
*擅长的豁免检定:强韧和反射。
*技能点数等于每个生命骰(2+智力调整值,最少为1),第一个生命骰的技能点数为它的四倍。

//特性://魔法兽拥有下列特性(除非生物描述中另有说明)。

*60尺黑暗视觉和低光视觉。
*仅熟练使用它的天生武器。
*不熟练使用任何盔甲。
*魔法兽需要进食、睡眠和呼吸。

!!Magmin(火童)

''小型元素生物 (火系,跨位面)''

|''生命骰:'' 2d8+2(11hp)|
|''先攻权:'' +0|
|''速度:'' 30尺(6格)|
|''防御等级:'' 17(+1体型,+6天生),接触11,措手不及17|
|''基本攻击/擒抱:'' +1/-1|
|''攻击:'' 烈焰触碰+4近战接触(1d8火焰外加燃烧);或挥击+4近战(1d3+3外加燃烧)|
|''全回合攻击:'' 烈焰触碰+4近战接触(1d8火焰外加燃烧);或挥击+4近战(1d3+3外加燃烧)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 燃烧,火焰灵气|
|''特性:'' 伤害减免5/魔法,黑暗视觉60尺,元素特性,对火焰免疫,熔化武器,易受寒冷伤害|
|''豁免:'' 强韧+3,反射+3,意志+0|
|''属性:'' 力量15,敏捷11,体质13,智力8,感知10,魅力10|
|''技能:'' 攀爬+4,侦察+3|
|''专长:'' 强韧加强|
|''环境:'' 火元素位面|
|''组织:'' 单独,成队(2-4),或成群(6-10)|
|''挑战等级:'' 3|
|''宝物:'' 标准钱币,标准工艺品(仅限不可燃的),标准物品(仅限不可燃的)|
|''阵营:'' 总是混乱中立|
|''进化:'' 3-4HD(小型);5-6HD(中型)|
|''等级调整:'' -|

火童是来自于火元素位面的能放射出高热而且被灼热的火焰所围绕的类似人类的小型生物。

火童高约4尺,重约400磅。

火童会说火族语。

!!!战斗
尽管体型小,但是火童却是危险的对手。它们的触碰对那些缺乏对高温及火焰的防护或免疫的目标相当有效,但如果它们遇上对火焰免疫的对手的话,火童则会依靠其挥击攻击。无论如何,火童都算不上勇敢的战士。如果受了伤的话,它们通常都会逃跑,但通常只会逃到足够它们为敌人设下一次火焰伏击的距离。

在对抗伤害减免时,火童的天生武器被视为魔法武器。

''燃烧 (Ex):''被火童触碰到的任何人都必须通过一个DC 12的反射豁免检定否则就会因其衣服燃烧或盔甲变得灼热而受到额外的1d8点火焰伤害。此伤害在火童最后一次成功的之后还可以持续1d4+2轮。火童也可以通过触碰点燃任何可燃物品。该豁免检定DC基于体质调整值。

''火焰灵气 (Ex):''处于火童20尺范围内的任何人都必须通过一个DC 12的强韧豁免检定否则会因火童所放射出的高热而每轮受到1d6点火焰伤害。该豁免检定DC基于体质调整值。

''熔化武器 (Ex):''任何击中火童的金属武器都必须通过一次DC 12的强韧豁免检定否则就会熔成矿渣。该豁免检定DC基于体质调整值。 
!!!强效造物术(Major Creation)
|咒法系(创造)|
|''等级:''术士/法师5|
|''施法时间:''10分钟|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''持续时间:''见说明|
|与弱效造物术(minor creation)相同,但你还可以造出矿物,如:石头水晶金属等。创造物的持续时间跟它的硬度与稀有度有关,详见下表:|

|!	硬度及稀有度范例	 |!	持续时间	 |
|^	植物	 |^	2小时/每等级	 |
|^	石头,水晶或基本金属	 |^	1小时/每等级	 |
|^	贵金属	 |^	20分钟/每等级	 |
|^	宝石	 |^	10分钟/每等级	 |
|^	稀有金属^^1^^	 |^	1轮/每等级	 |
|^	1 //包括精金,炼银,秘银。你不能用强效造物术创造寒铁物品。//	 |<|
!!!强效幻影(Major Image)
|幻术系(虚假幻觉)|
|''等级:''吟游诗人3,术士/法师3|
|''持续时间:''专注+3轮|
|与无声幻影相同,但幻影同时包含声音、气味和体温幻觉。只要保持专注,你就可以在距离内移动幻影。|
|当幻影被敌人击中时,如果你不能使幻影作出适当反应,它就会消失。|
!!!完全修复术(Make Whole)
|变化系|
|''等级:''牧师2|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个物品,体积至多10立方英尺/每等级|
|与修复术(mending)相同,但完全修复术可以把一件伤痕累累的任意材质物品修复到完好如初。此法术不能恢复损坏的魔法物品的魔法能力,魔法权杖、法杖、魔杖也无法修复。此法术无法修复被扭曲,烧毁,解离,粉碎,熔化或汽化的物品,也不能影响生物(包括构装生物)。|
!!Manta Ray(蝠鲼)

''大型动物 (水生)''

|''生命骰:'' 4d8 (18 hp)|
|''先攻权:'' +0|
|''速度:'' 游泳30尺 (6格)|
|''防御等级:'' 12 (-1体型,+3天生),接触9,措手不及12|
|''基本攻击/擒抱:'' +3/ +9|
|''攻击:'' 撞击 -1 近战* (1d6+1)|
|''全回合攻击:'' 撞击 -1 近战* (1d6+1)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉|
|''豁免:'' 强韧+4,反射+4,意志+2|
|''属性:'' 力量15,敏捷11,体质10,智力1,感知12,魅力2|
|''技能:'' 聆听+7,侦察+6,游泳+10|
|''专长:'' 警觉,坚忍|
|''环境:'' 温暖的水域|
|''组织:'' 单独或成群 (2-5)|
|''挑战等级:'' 1|
|''进化:'' 5-6HD (中型)|
|''等级调整:'' -|

这种鱼不具攻击性,并且通常会避免与其他生物接触。它们通过其缝隙状且无牙的胃来过滤水中的浮游生物及有机体。

!!!战斗
*如果受到威胁,蝠鲼会利用其体型和重量来撞击对手。这被视为次要攻击。

''技能:''在进行游泳检定做出特殊动作或躲避危险时,蝠鲼可获得+8的种族加值。它可以在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。
!!Manticore(刺尾狮)

''大型魔法兽''

|''生命骰:'' 6d10+24(57hp)|
|''先攻权:'' +2|
|''速度:'' 30尺(6格),飞行50尺(笨拙)|
|''防御等级:'' 17(-1体型,+2敏捷,+6天生),接触11,措手不及15|
|''基本攻击/擒抱:'' +6/+15|
|''攻击:'' 爪抓+10近战(2d4+5);或6刺钉+8远程(1d8+2/19-20)|
|''全回合攻击:'' 2爪抓+10近战(2d4+5)及啮咬+8近战(1d8+2);或6刺钉+8远程(1d8+2/19-20)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 刺钉|
|''特性:'' 黑暗视觉60尺,昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+9,反射+7,意志+3|
|''属性:'' 力量20,敏捷15,体质19,智力7,感知12,魅力9|
|''技能:'' 聆听+5,侦察+9,生存+1|
|''专长:'' 飞越攻击,多重攻击,追踪,专攻武器(刺钉)|
|''环境:'' 温暖的沼泽|
|''组织:'' 单独,成对,或成队(3-6)|
|''挑战等级:'' 5|
|''宝物:'' 标准|
|''阵营:'' 总是守序邪恶|
|''进化:'' 7-16HD(大型);17-18HD(超大型)|
|''等级调整:'' +3(作为伙伴)|

刺尾狮约10尺长,约1000磅重。

刺尾狮会说通用语。

!!!战斗
刺尾狮通常会发射刺钉作为战斗的开端,然后它们会逼近对手。在户外时,它们通常会使用有力的翅膀让自己在战斗中滞留在空中。

''刺钉 (Ex):''利用其尾巴的挥舞,刺尾狮可以一个标准动作射出6枚刺钉 (每枚刺钉都要单独进行一次攻击检定)。此攻击射程为180尺且没有射程增量。所有的目标之间的距离都必须在30尺之内。刺尾狮在24小时之内只能射出24枚刺钉。

''技能:''*刺尾狮在进行侦察检定时可获得+4的种族加值。 
''Mantle of Faith(坚信之袍)'': 这是一件拥有神圣力量的法袍, 穿戴者获得5/邪恶的伤害减免

Strong abjuration [good]; CL 20th; Craft Wondrous Item, stoneskin; Price 76,000gp.
''Mantle of Spell Resistance(法术抗力斗篷)'': 披在原有的装备或衣物外面,使用者得到法术抗力21。

Moderate abjuration; CL 9th; Craft Wondrous Item, spell resistance; Price 90,000gp.
''Manual of Bodily Health(强身手册)'': 教你如何强健体魄的巨著,字里行间蕴藏强大魔力。欲读完这本书,须费时48小时,至少分散于六天,此后体质值有+1到+5(视种类而定)天赋加值。一旦读完,书本内的魔力就消失,变为普通书。

施法者等级:17。先决条件:“制造奇物”,“愿望术”或“奇迹术”。交易价格:27500金币(+1),55000金币(+2),82500金币(+3),110000金币(+4),137500金币(+5)。制造耗费:1250金币+5100XP(+1),2500金币+10200XP(+2),3750金币+15300XP(+3),5000金币+20400XP(+4),6250金币+25500XP(+5)。重量:5磅。
''Manual of Gainful Exercise(健骨手册)'': 教你如何锻炼身体的巨著,字里行间蕴藏强大魔力。欲读完这本书,须费时48小时,至少分散于六天,此后力量值有+1到+5(视种类而定)天赋加值。一旦读完,书本内的魔力就消失,变为普通书。

施法者等级:17。先决条件:“制造奇物”,“愿望术”或“奇迹术”。交易价格:27500金币(+1),55000金币(+2),82500金币(+3),110000金币(+4),137500金币(+5)。制造耗费:1250金币+5100XP(+1),2500金币+10200XP(+2),3750金币+15300XP(+3),5000金币+20400XP(+4),6250金币+25500XP(+5)。重量:5磅。
''Manual of Quickness of Action(灵巧手册)'': 使你手足灵巧的巨著,字里行间蕴藏强大魔力。欲读完这本书,须费时48小时,至少分散于六天,此后敏捷值有+1到+5(视种类而定)天赋加值。一旦读完,书本内的魔力就消失,变为普通书。

施法者等级:17。先决条件:“制造奇物”,“愿望术”或“奇迹术”。交易价格:27500金币(+1),55000金币(+2),82500金币(+3),110000金币(+4),137500金币(+5)。制造耗费:1250金币+5100XP(+1),2500金币+10200XP(+2),3750金币+15300XP(+3),5000金币+20400XP(+4),6250金币+25500XP(+5)。重量:5磅。
''人造武器(Manufactured Weapon):''有些怪物在攻击时使用人造武器。生物在使用剑、弓、矛之类的武器时和角色人物遵循同样的规则,包括由较高基本攻击加值带来的额外攻击次数和双武器战斗的减值。这一目录还包括“捡来的东西”,比如生物在战斗中使用的岩石和木头-从根本上说,就是指不是长在该生物身上的武器。

有些生物会在全力攻击时将天生和人造武器的攻击结合起来。如果他们这么做,除非特别说明,人造武器的攻击将被视为主要攻击,而其他使用的天生武器被视为次要天生攻击。这些次要攻击不会象副手武器那样对主要攻击产生妨碍,但是这类攻击本身会受到-5减值(有多重攻击专长(Multiattack)时为-2),即使所用的天生武器原本是该生物的主要天生武器也是如此。

!!! 多重射击(MANYSHOT)[一般专长]

''先决条件:''敏捷17,近程射击,速射,基本攻击加值+6。

''效果:''你可以以一个标准动作向30尺内的一个单一敌人射出两箭。这两支箭使用同样的攻击掷骰(有-4减值)来决定是否命中,并且正常地造成伤害(见“特殊”)。

你的基本攻击加值每比+6高5,你就可以在一次攻击中多射一支箭,最多可射4支箭(当基本攻击达到16)。然而,每比两支箭多射一支箭都要在攻击掷骰上递加-2的减值(射三支箭共有-6的减值,而射四支共有-8的减值)。

伤害减免和其他抗性单独作用于每一支箭。

''特殊:''无论你射出多少支箭,你只能应用一次基于精准的攻击伤害。如果你掷出重击,只有射出的第一箭造成重击伤害;其他所有的箭造成普通伤害。

战士可以选择本专长作为其战士奖励专长。

选择了箭术战斗流派的6级巡林客在穿着轻甲或不穿甲时视为具有本专长,即使他不具备先决条件。
''Marble Elephant大理石象'':此塑像大小如同手掌。说出指令就活化成为真象,会听从使用者的号令,可以用来驮物、骑乘或作战。关于象的说明请见《怪物图鉴》。每月可使用四次,每次最多24小时。

施法者等级:11。先决条件:“制造奇物”,“活化物体”。交易价格:17000金币。
!!!审判烙印(Mark of Justice)
|死灵系|
|''等级:''牧师5,圣武士4|
|''法术成分:''言语,姿势,法器|
|''施法时间:''10分钟|
|''距离:''接触|
|''目标:''接触到的一个生物|
|''持续时间:''永久;见说明|
|''豁免:''无|
|''法术抗力:''可|
|你在受术者身上画一个无法抹灭的烙印并设定该烙印的触发条件。当烙印被触发时,受术者将受到诅咒。一般来说,你可以设定一些犯罪行为作为烙印的触发条件,但你也可以将任何行动指定为触发条件。烙印的诅咒效果与降咒(bestow curse)相同。|
|因为此法术的施法时间长达10分钟,并要在受术者身上画下烙印,故受术者必须是自愿或被绑住。|
|与降咒的效果相同,审判烙印不能被解除,但可以被破除结界(break enchantment)、有限祈愿术(limited wish)、奇迹术(miracle)、移除诅咒(remove curse)或祈愿术(wish)移除。移除诅咒的施法者等级必须等于或大于你施展审判烙印时的施法者等级,才能将你的法术移除。无论烙印是否已被触发,都受到上述限制。|
!!! 擅长军用武器(MARTIAL WEAPON PROFICIENCY)[一般专长]

选择一种军用武器,你知道在战斗中如何使用它。

''效果:''你使用该武器时可以正常做攻击检定。

''正常:''使用不擅长的武器进行攻击时,攻击检定有-4减值。

''特殊:''野蛮人、战士、圣武士和巡林客擅长所有军用武器。他们无需选择本专长。

你可以多次选择本专长,但每次必须选择不同的军用武器。

选择了战争领域的牧师自动获得和其神柢偏好武器(如果该武器是军用武器)相关的擅长军用武器专长。他不需要选择即可获得。

''Marvelous Pigments(诺惹惊奇染料)'': 使用者可以在平面上描绘物体的形状,以创造出真实物品。漆刷的刷毛为猪鬃、毛发或动物的软毛。使用者注视著图像,染料就会流出变成该物体。一瓶染料可覆盖100平方英尺的面积,并创造体积1000立方英尺的物体。也就是说,若画出10英尺x10英尺的坑洞,则创造出的就是10英尺x10英尺x10英尺的坑洞。画出10英尺x10英尺的房间,可创造出10英尺x10英尺x10英尺的房间,以此类推。

使用者只能创造一般的不动物品,如:门、陷坑、花、树、小房间等,不能创造生物。染料必须涂在平面(地板、墙、天花板等)。绘制一个物品费时10分钟,且不能创造魔法物品。如果画出的是值钱物体(如:稀有金属、宝石、象牙等),则虽然出现时看起来很像,但实际上是由较不值钱的物质制成(如:锡、铅、铅玻璃、黄铜、骨头等)。使用者可以创造一般武器、防具或日常用品,但价值不能超过2000金币。

创造出的物品都没有魔法,效果为立即。



Strong conjuration; CL 15th; Craft Wondrous Item, major creation; Price 4,000gp.
''Mask of the Skull(头骨面具)'': 削成人类头骨形状的象牙面具,每天可以使用一次特殊功能。使用时须先戴在脸上一小时,拿下后面具便飞向距离50英尺内的指定生物,对目标进行接触攻击,如果成功,该生物必须进行强韧检定(DC=20),未通过就立即死亡,效果如同“死亡一指”。即使通过强韧检定,仍会受到3d6+13点伤害。攻击后(不论成功与否),面具便飞回使用者手中。该面具具有AC=16,10点生命和6点硬度。

Strong necromancy and transmutation; CL 13th; Craft Wondrous Item, animate objects, finger of death, fly; Price 22,000gp; Weight 3 lb.
''Masterwork Cold Iron Longsword(精制品寒铁长剑):''
这把非魔法长剑由寒铁打造。作为一件精制品武器,它的攻击检定有+1增强加值。

无魔法灵光(不含魔法);价格330金币。
''Mattock of the Titans(泰坦鹤嘴锄)'': 长达10英尺的挖掘工具,体型达超大型或以上的生物可以用来翻土或松落土墙(每10分钟可挖10英尺立方),也可以用来敲碎石头(每小时10英尺立方)。可当作+3巨型钉头锤,基本伤害值4d6点。

Strong transmutation; CL 16th; Craft Wondrous Item, Craft Magic Arms and Armor, move earth; Price 23,348 gp; Cost 13,348 gp + 800 XP; Weight 120 lb.

''Maul of the Titans(泰坦木槌)'': 长8英尺的木槌。可当作+3巨木棒,对不动物品造成三倍伤害。使用者力量值必须达18或以上才能持用,否则攻击时受-4减值。

Strong evocation; CL 15th; Craft Wondrous Item, Craft Magic Arms and Armor, clenched fist; Price 25,305 gp; Cost 12,305 gp + 480 XP; Weight 160 lb.
!!! 法术极效(MAXIMIZE SPELL)[超魔专长]

''效果:''搭配本专长时,法术效果中所有变数皆以最大值计算。但豁免检定或对抗掷骰不受影响。法术若没有可变数值,则无影响。极效的法术需占用高于原本三个等级的法术位。

配合法术强效和法术极效的法术独立获得此两个专长的效果:最大结果值再加上正常掷骰结果乘1.5倍。
!!!迷宫术(Maze)
|咒法系(传送)|
|''等级:''术士/法师8|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个生物|
|''持续时间:''见说明|
|''豁免:''无|
|''法术抗力:''可|
|你将受术者驱逐至由力场平面构成的异次元迷宫中。受术者行动的每一轮内,他都可以通过一个DC 20的智力检定从迷宫中逃脱,该动作为整轮动作。如果受术者未能逃脱,迷宫会在10分钟后消失,强迫该生物离开。|
|逃出或离开迷宫后,受术者出现在原来迷宫术被施展时他所在的地点。如果此地点已经被固体物质塞满,则受术者会出现在距离最近的开放地方。能使生物在同一个位面中移动的法术或能力,例如传送术(teleport)和任意门(dimension door),并不能帮助生物从迷宫术中脱逃,但异界传送(plane shift)则可以把受术者送到想去的位面。此法术对牛头人无效。|
''Medallion of Thoughts(读心勋章)'': 以青铜、铜、镍银制成,看似一般项链的垂饰。使用者可以读取他人心思,效果如同“侦测思想”法术。

Faint divination; CL 5th; Craft Wondrous Item, detect thoughts; Price 12,000gp.
!!Medusa(梅杜莎)

''中型人形怪物''

|''生命骰:'' 6d8+6(33hp)|
|''先攻权:'' +2|
|''速度:'' 30尺(6格)|
|''防御等级:'' 15(+2敏捷,+3天生),接触12,措手不及13|
|''基本攻击/擒抱:'' +6/+6|
|''攻击:'' 短弓+8远程(1d6/*3);或匕首+8近战(1d4/19-20);或蛇咬+8近战(1d4外加毒素)|
|''全回合攻击:'' 短弓+8/+3远程(1d6/*3);或匕首+8/+3近战(1d4/19-20)及蛇咬+3近战(1d4外加毒素)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 石化凝视,毒素|
|''特性:'' 黑暗视觉60尺|
|''豁免:'' 强韧+3,反射+7,意志+6|
|''属性:'' 力量10,敏捷15,体质12,智力12,感知13,魅力15|
|''技能:'' 唬骗+9,交涉+4,易容+9(+11表演),威吓+4,潜行+8,侦察+8|
|''专长:'' 近程射击,精准射击,武器娴熟|
|''环境:'' 温带沼泽|
|''组织:'' 单独或成队(2-4)|
|''挑战等级:'' 7|
|''宝物:'' 双倍标准|
|''阵营:'' 通常是守序邪恶|
|''进化:'' 视人物职业而定|
|''等级调整:'' -|

在30尺距离之外 (或者更近,如果它的脸遮起来的话)梅杜莎看起来和人类毫无二致。此生物通常穿着能加强身体曲线的衣服,并用兜帽或面纱遮起脸。

梅杜莎有5到6尺高,并且差不多和人类一样重。

梅杜莎会说通用语。

!!!战斗
梅杜莎习惯将自己的真面目伪装起来用各种说辞和骗术让目标确认没有危险,直到受害者进入其石化凝视射程范围之内。梅杜莎会使用一般的武器来攻击那些避开其视线或幸存下来的敌人,同时利用其剧毒的蛇发来攻击邻近的敌人。

''石化凝视 (Su):''永久变成石头,30尺,通过DC 15的强韧豁免检定则无效。该豁免检定DC基于魅力调整值。

''毒素 (Ex):''创伤,强韧豁免检定DC 14,初始伤害为1d6点力量伤害,后续伤害为2d6点力量伤害。该豁免检定DC基于体质调整值。
!!!融身入石(Meld Into Stone)
|变化系[土]|
|''等级:''牧师3,德鲁伊3|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''10分钟/每等级|
|此法术可以使你的身体和装备都融入一块石头里。此石头必须足够大,即在长、宽、高上都能容纳你的身体。法术完成后,你和100磅以内的无生命装备将完全融入石头。如果以上条件有任何不符合,法术会失败并且你失去此法术。|
|在石头中时,你可以通过你融入石头的那一面和外界保持微弱的连接。你可以感觉到时间的流逝,也可以对自己施法。你可以听到但看不到周围发生的事情。石头的微小损伤并不会伤害到你,但是如果石头部分被摧毁(导致大小不能再容纳你时),你会被强迫脱离石头并受到5d6伤害。如果石头被完全摧毁,除非你能通过DC 18的强韧豁免,否则会立刻死亡。|
|在法术有效时间内,你可以随时从你原本进入石头的那一面离开石头。如果在你自愿离开石头前法术的持续时间结束或法术被解除,你会被强迫脱离石头并受到5D6伤害。|
|你在石头中时,对你所在的石头施展以下法术会对你造成伤害:解除石化(Stone to flesh)会将你驱离石头并对你造成5d6点伤害;塑石术(Stone shape)会对你造成3d6点伤害,但不会将你驱离石头。化石为泥(Transmute rock to mud)会将你驱离石头,如果你能通过DC 18的强韧检定就可以安全脱离石头,否则立即死亡。而穿墙术(passwall)会将你驱离石头,但不造成任何伤害。|
!!!修复术(Mending)
|变化系|
|''等级:''吟游诗人0,牧师0,德鲁伊0,术士/法师0|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''10英尺|
|''目标:''一件重量至多1磅的物品|
|''持续时间:''立即|
|''豁免:''意志,通过则无效(无害,物品)|
|''法术抗力:''可(无害,物品)|
|修复术可以修复物品上的小裂缝或小的破损处(扭曲的则不行,例如被曲木术(warp wood)作用过的)。修复术可以用来焊接只有一处破损的金属物品,例如戒指,链子,徽章或小型的匕首。|
|多处破损的瓷器或木器也可以修复至完好如新。修复术也可以把皮袋或酒囊上的小洞补起来。此法术可以修复魔法物品,但是不能恢复损坏的魔法物品的魔法能力。此法术不能修复魔法权杖、法杖、魔杖也无法修复,也无法影响生物(包括构装生物)。|
魔蝠是来自元素位面的小型生物。

魔蝠看起来像是有着或多或少类人特征的小型有翼生物。它们的元素天性经常在第一眼就能被看出来,就如同它们的淘气那样显而易见。

!!!战斗
所有的魔蝠都使用其啮咬和爪抓或喷吐武器进行攻击,至于特性和效果则由其种类而定。

在对抗伤害减免时,魔蝠的天生武器被视为魔法武器。

''喷吐武器 (Su):''魔蝠可以通过一个标准动作每1d4轮可以使用一次喷吐武器。相关细节请参阅各魔蝠的叙述文字。

''类法术能力:''所有魔蝠都拥有一种或以上的类法术能力 (豁免检定DC 12 + 法术等级)。相关细节请参阅各魔蝠的叙述文字。

''召唤魔蝠 (Sp):''每天一次,魔蝠可以尝试召唤另一只同种类的魔蝠,就好像施放召唤怪物法术一样,但是只有25%的成功率。掷百分骰:如果失败,当天不会有任何生物回应此召唤。刚刚被召唤出的魔蝠在一小时内无法使用其召唤能力。此能力相当于一个2级法术。

''快速痊愈 (Ex):''只要魔蝠还活着且符合其他特定情况,它们每轮就可以治疗2点伤害。相关细节请参阅各魔蝠的叙述文字。


!!!Air Mephit(风魔蝠)

''小型异界生物(风系,跨位面)''

|''生命骰:'' 3d8(13hp)|
|''先攻权:'' +7|
|''速度:'' 30尺(6格),飞行60尺(完美)|
|''防御等级:'' 17(+1体型,+3敏捷,+3天生),接触14,措手不及14|
|''基本攻击/擒抱:'' +3/-1|
|''攻击:'' 爪抓+4近战(1d3)|
|''全回合攻击:'' 2爪抓+4近战(1d3)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 喷吐武器,类法术能力,召唤魔蝠|
|''特性:'' 伤害减免5/魔法,黑暗视觉60尺,快速痊愈2|
|''豁免:'' 强韧+3,反射+6,意志+3|
|''属性:'' 力量10,敏捷17,体质10,智力6,感知11,魅力15|
|''技能:'' 唬骗+8,逃脱术+9,躲藏+13,交涉+4,易容+2(+4表演),威吓+4,聆听+6,潜行+9,侦察+6,绳技+3(+5捆绑)|
|''专长:'' 闪避,精通先攻|
|''环境:'' 风元素位面|
|''组织:'' 单独,成队(2-4任何种类的魔蝠),或成群(5-12任何种类的魔蝠)|
|''挑战等级:'' 3|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 4-6HD(小型);7-9HD(中型)|
|''等级调整:'' +3(作为伙伴)|

风魔蝠来自于风元素位面。

风魔蝠高约4尺,重约1磅。

风魔蝠会说通用语和风族语。

!!!!战斗

''喷吐武器 (Su):1''5尺锥形灰尘和沙砾,1d8点伤害,通过DC 12的反射豁免检定则伤害减半。该豁免检定DC基于体质调整值且包括+1的种族加值。

''类法术能力:''每小时一次,风魔蝠可以通过使用雾气围绕自己来产生如朦胧术一样的效果 (施法等级3)。风魔蝠每天可以施放一次造风术 (DC 14,施法等级6)。该豁免检定DC基于魅力调整值。

''快速痊愈 (Ex):''风魔蝠只有处于流动的空气中才能得到治疗,这流动空气可以是微风、牵引气流、法术效果或甚至是风魔蝠自己在扇风。


!!!Dust Mephit(灰魔蝠)

''小型异界生物 (风系,跨位面)''

|''生命骰:'' 3d8(13hp)|
|''先攻权:'' +7|
|''速度:'' 30尺(6格),飞行50尺(完美)|
|''防御等级:'' 17(+1体型,+3敏捷,+3天生),接触14,措手不及14|
|''基本攻击/擒抱:'' +3/-1|
|''攻击:'' 爪抓+4近战(1d3)|
|''全回合攻击:'' 2爪抓+4近战(1d3)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 喷吐武器,类法术能力,召唤魔蝠|
|''特性:'' 伤害减免5/魔法,黑暗视觉60尺,快速痊愈2|
|''豁免:'' 强韧+3,反射+6,意志+3|
|''属性:'' 力量10,敏捷17,体质10,智力6,感知11,魅力15|
|''技能:'' 唬骗+8,逃脱术+9,躲藏+13,交涉+4,易容+2(+4表演),威吓+4,聆听+6,潜行+9,侦察+6,绳技+3(捆绑+5)|
|''专长:'' 闪避,精通先攻|
|''环境:'' 风元素位面|
|''组织:'' 单独,成队(2-4任何种类的魔蝠),或成群(5-12任何种类的魔蝠)|
|''挑战等级:'' 3|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 4-6HD(小型);7-9HD(中型)|
|''等级调整:'' +3(作为伙伴)|

灰魔蝠来自于风元素位面。

灰魔蝠高约4尺,重约2磅。

灰魔蝠会说通用语和风族语。

!!!!战斗

''喷吐武器 (Su):''10尺锥形刺激性微粒,1地点伤害,通过DC 12的反射豁免检定则伤害减半。活着的生物若没有通过豁免检定,则会承受皮肤刺痒和眼睛灼烧的痛苦。此效果会使受影响的生物在3轮内受到防御等级-4及攻击检定-2的罚值。该豁免检定DC基于体质调整值且包括+1的种族加值。

''类法术能力:''每小时一次,灰魔蝠可以通过使用一团灰尘围绕自己来产生如朦胧术一样的效果 (施法等级3)。每天一次,灰魔蝠可以通过制造一大团滚动的灰尘来产生如同风墙术一样的效果 (DC 15,施法等级6)。该豁免检定DC基于魅力调整值。

''快速痊愈 (Ex):''灰魔蝠只有处于干燥并充满灰尘的环境中才能得到治疗。

!!!Earth Mephit(土魔蝠)

''小型异界生物 (土系,跨位面)''

|''生命骰:'' 3d8+6(19hp)|
|''先攻权:'' -1|
|''速度:'' 30尺(6格),飞行40尺(普通)|
|''防御等级:'' 16(+1体型,-1敏捷,+6天生),接触10,措手不及16|
|''基本攻击/擒抱:'' +3/+2|
|''攻击:'' 爪抓+7近战(1d3+3)|
|''全回合攻击:'' 2爪抓+7近战(1d3+3)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 喷吐武器,类法术能力,召唤魔蝠|
|''特性:'' 改变体型,伤害减免5/魔法,黑暗视觉60尺,快速痊愈2|
|''豁免:'' 强韧+4,反射+2,意志+3|
|''属性:'' 力量17,敏捷8,体质13,智力6,感知11,魅力15|
|''技能:'' 唬骗+8,逃脱术+5,躲藏+9,交涉+4,易容+2(+4表演),威吓+4,聆听+6,潜行+5,侦察+6,绳技-1(+1捆绑)|
|''专长:'' 猛力攻击,健壮|
|''环境:'' 土元素位面|
|''组织:'' 单独,成队(2-4任何种类的魔蝠),或成群(5-12任何种类的魔蝠)|
|''挑战等级:'' 3|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 4-6HD(小型);7-9HD(中型)|
|''等级调整:'' +3(作为伙伴)|


土魔蝠来自于土元素位面。

土魔蝠高约4尺,重约80磅。

土魔蝠会说通用语和土族语。

!!!!战斗

''喷吐武器 (Su):''15尺锥形碎石和鹅卵石,1d8点伤害,通过DC 13的反射豁免检定则伤害减半。该豁免检定DC基于体质调整值且包括+1的种族加值。

''类法术能力:''施法等级6。

|//每天1次 //- 柔石术。|

''改变体型 (Sp):''每小时一次,土魔蝠可以魔术般地改变自己的体型。此能力除了只能作用在土魔蝠自身以外就好像变巨人类法术一样。此能力相当于一个2级法术。

''快速痊愈 (Ex):''土魔蝠只有处于地底或腰部以下埋在土中时才能得到治疗。


Fire Mephit(火魔蝠)

!!!Fire Mephit(火魔蝠)

''小型异界生物 (跨位面,火系)''

|''生命骰:'' 3d8(13hp)|
|''先攻权:'' +5|
|''速度:'' 30尺(6格),飞行50尺(普通)|
|''防御等级:'' 16(+1体型,+1敏捷,+4天生),接触12,措手不及15|
|''基本攻击/擒抱:'' +3/-1|
|''攻击:'' 爪抓+4近战(1d3外加1d4火焰)|
|''全回合攻击:'' 2爪抓+4近战(1d3外加1d4火焰)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 喷吐武器,类法术能力,召唤魔蝠|
|''特性:'' 伤害减免5/魔法,黑暗视觉60尺,对火焰免疫,快速痊愈2,易受寒冷伤害|
|''豁免:'' 强韧+3,反射+4,意志+3|
|''属性:'' 力量10,敏捷13,体质10,智力6,感知11,魅力15|
|''技能:'' 唬骗+8,逃脱术+7,躲藏+11,聆听+6,交涉+4,易容+2(+4表演),潜行+7,侦察+6,绳技+1(+3捆绑)|
|''专长:'' 闪避,精通先攻|
|''环境:'' 火元素位面|
|''组织:'' 单独,成队(2-4任何种类的魔蝠),或成群(5-12任何种类的魔蝠)|
|''挑战等级:'' 3|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 4-6HD(小型);7-9HD(中型)|
|''等级调整:'' +3(作为伙伴)|

火魔蝠来自于火元素位面。

火魔蝠高约4尺,重约1磅。

火魔蝠会说通用语和火族语。

!!!!战斗

''喷吐武器 (Su):''15尺锥形,1d8点火焰伤害,通过DC 12的反射豁免检定则伤害减半。该豁免检定DC基于体质调整值且包括+1的种族调整。

''类法术能力:''施法等级6。该豁免检定DC基于魅力调整值。

|//每小时1次 //- 灼热射线 (DC 14),效果如等级3的术士施放的一样;|
|//每天1次// - 灼热金属 (DC 14)。|

''快速痊愈 (Ex):''火魔蝠只有在接触到至少如火炬一样大的火焰时才能得到治疗。





!!!Ice Mephit(冰魔蝠)

''小型异界生物 (风系,寒系,跨位面)''

|''生命骰:'' 3d8(13hp)|
|''先攻权:'' +7|
|''速度:'' 30尺(6格),飞行50尺(完美)|
|''防御等级:'' 18(+1体型,+3敏捷,+4天生),接触14,措手不及15|
|''基本攻击/擒抱:'' +3/-1|
|''攻击:'' 爪抓+4近战(1d3外加1d4寒冷)|
|''全回合攻击:'' 2爪抓+4近战(1d3外加1d4寒冷)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 喷吐武器,类法术能力,召唤魔蝠|
|''特性:'' 伤害减免5/魔法,黑暗视觉60尺,快速痊愈2,对寒冷免疫,易受火焰伤害|
|''豁免:'' 强韧+3,反射+6,意志+3|
|''属性:'' 力量10,敏捷17,体质10,智力6,感知11,魅力15|
|''技能:'' 唬骗+8,逃脱术+9,躲藏+13,聆听+6,交涉+4,易容+2(+4表演),潜行+9,侦察+6,绳技+3(+5捆绑)|
|''专长:'' 闪避,精通先攻|
|''环境:'' 风元素位面|
|''组织:'' 单独,成队(2-4任何种类的魔蝠),或成群(5-12任何种类的魔蝠)|
|''挑战等级:'' 3|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 4-6HD(小型);7-9HD(中型)|
|''等级调整:'' +3(作为伙伴)|


冰魔蝠来自于风元素位面。

冰魔蝠具有冷漠、平静的态度。它们高约4尺,重约20磅。

冰魔蝠会说通用语和风族语。

!!!!战斗

''喷吐武器 (Su):''10尺锥形碎冰,1d4点寒冷伤害,通过DC 12的反射豁免检定则伤害减半。活着的生物若没有通过豁免检定,则会承受皮肤冻裂及眼睛冻伤的痛苦,除非它们对寒冷免疫或可防护寒冷攻击。此效果会使受影响的生物在3轮内受到防御等级-4及攻击检定-2的罚值。该豁免检定DC基于体质调整值且包括+1的种族加值。

''类法术能力:''该豁免检定DC基于魅力调整值。

|//每小时1次 //- 魔法飞弹 (施法等级3);|
|//每天1次// - 冻寒金属 (DC 14,施法等级6)。|

''快速痊愈 (Ex):''冰魔蝠只有在接触到至少为超小型的冰块或周围气温在零摄氏度以下时才能得到治疗。

!!!Magma Mephit(岩浆魔蝠)

''小型异界生物 (火系,跨位面)''

|''生命骰:'' 3d8(13hp)|
|''先攻权:'' +5|
|''速度:'' 30尺(6格),飞行50尺(普通)|
|''防御等级:'' 16(+1体型,+1敏捷,+4天生),接触12,措手不及15|
|''基本攻击/擒抱:'' +3/-1|
|''攻击:'' 爪抓+4近战(1d3外加1d4火焰)|
|''全回合攻击:'' 2爪抓+4近战(1d3外加1d4火焰)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 喷吐武器,类法术能力,召唤魔蝠|
|''特性:'' 改变外形,伤害减免5/魔法,黑暗视觉60尺,快速痊愈2,对火焰免疫,易受寒冷伤害|
|''豁免:'' 强韧+3,反射+4,意志+3|
|''属性:'' 力量10,敏捷13,体质10,智力6,感知11,魅力15|
|''技能:'' 唬骗+8,逃脱术+7,躲藏+11,聆听+6,交涉+4,易容+2(+4表演),潜行+7,侦察+6,绳技+1(+3捆绑)|
|''专长:'' 闪避,精通先攻|
|''环境:'' 火元素位面|
|''组织:'' 单独,成队(2-4任何种类的魔蝠),或成群(5-12任何种类的魔蝠)|
|''挑战等级:'' 3|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 4-6HD(小型);7-9HD(中型)|
|''等级调整:'' +3(作为伙伴)|

岩浆魔蝠来自于火元素位面。

岩浆魔蝠愚蠢而粗野。它们高约4尺,重约60磅。

岩浆魔蝠会说通用语和火族语。

!!!!战斗

''喷吐武器 (Su):''10尺锥形岩浆,1d4点火焰伤害,通过DC 12的反射豁免检定则伤害减半。活着的生物若没有通过豁免检定,则会承受皮肤灼伤及眼睛干枯的痛苦,除非它们对火焰免疫或可防护火焰攻击。此效果会使受影响的生物在3轮内受到防御等级-4及攻击检定-2的罚值。该豁免检定DC基于体质调整值且包括+1的种族加值。

''改变外形 (Su):''每小时一次,岩浆魔蝠可以变成直径3尺,深6寸的熔岩形态。此形态下岩浆魔蝠的伤害减免能力提高到20/ 魔法。此形态下的岩浆魔蝠不能攻击,但可以使用其他类法术能力。它能以10尺的速度进行移动,但是不能奔跑。此形态下,岩浆魔蝠可以穿越很小的孔懂或狭窄的缝隙,即使仅仅是裂缝也可以。这团熔岩的触碰可以点燃比如纸张、稻草或干木之类的可燃物品。

''类法术能力:''岩浆魔蝠每天可以施放一次烟火术 (DC 14)。它可以使用自己作为火源且不会受到伤害。施法等级6。该豁免检定DC基于魅力调整值。

''快速痊愈 (Ex):''岩浆魔蝠只有在接触到岩浆、熔岩或至少如火炬一样大的火焰时才能得到治疗。


!!!Ooze Mephit(泥魔蝠)

''小型异界生物 (跨位面,水系)''

|''生命骰:'' 3d8+6(19hp)|
|''先攻权:'' +0|
|''速度:'' 30尺(6格),飞行40尺(普通)|
|''防御等级:'' 16(+1体型,+5天生),接触11,措手不及16|
|''基本攻击/擒抱:'' +3/+1|
|''攻击:'' 爪抓+6近战(1d3+2)|
|''全回合攻击:'' 2爪抓+6近战(1d3+2)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 喷吐武器,类法术能力,召唤魔蝠|
|''特性:'' 伤害减免5/魔法,黑暗视觉60尺,快速痊愈2|
|''豁免:'' 强韧+4,反射+3,意志+3|
|''属性:'' 力量14,敏捷10,体质13,智力6,感知11,魅力15|
|''技能:'' 唬骗+8,逃脱术+6,躲藏+10,聆听+6,交涉+4,易容+2(+4表演),潜行+6,侦察+6,游泳+10,绳技+0(+2捆绑)|
|''专长:'' 猛力攻击,健壮|
|''环境:'' 元素位面|
|''组织:'' 单独,成队(2-4任何种类的魔蝠),或成群(5-12任何种类的魔蝠)|
|''挑战等级:'' 3|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 4-6HD(小型);7-9HD(中型)|
|''等级调整:'' +3(作为伙伴)|

泥魔蝠来自于水元素位面。

泥魔蝠高约4尺,重约30磅。

泥魔蝠会说通用语和水族语。

!!!!战斗

''喷吐武器 (Su):''10尺锥形腐蚀性液体,1d4点酸伤害,通过DC 13的反射豁免检定则伤害减半。活着的生物若没有通过豁免检定,则会承受皮肤刺痒及眼睛灼烧的痛苦,除非它们对酸免疫或可防护酸攻击。此效果会使受影响的生物在3轮内受到防御等级-4及攻击检定-2的罚值。该豁免检定DC基于体质调整值且包括+1的种族加值。

''类法术能力:''每小时一次,泥魔蝠可以掷出一滴效果如强酸箭 (施法等级3)一样的酸液。每天一次,泥魔蝠可以制造一大团效果如臭云术 (DC 15,施法等级6)一样的很臭的雾气。该豁免检定DC基于魅力调整值。

''快速痊愈 (Ex):''泥魔蝠只有在潮湿或泥泞的环境中才能得到治疗。

''技能:''在进行游泳检定来做出特殊动作或躲避危险时,泥魔蝠可获得+8的种族加值。它可在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。


!!!Salt Mephit(盐魔蝠)

''小型异界生物 (土系,跨位面)''

|''生命骰:'' 3d8+6(19hp)|
|''先攻权:'' -1|
|''速度:'' 30尺(6格),飞行40尺(普通)|
|''防御等级:'' 16(+1体型,-1敏捷,+6天生),接触10,措手不及16|
|''基本攻击/擒抱:'' +3/+2|
|''攻击:'' 爪抓+7近战(1d3+3)|
|''全回合攻击:'' 2爪抓+7近战(1d3+3)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 喷吐武器,类法术能力,召唤魔蝠|
|''特性:'' 伤害减免5/魔法,黑暗视觉60尺,快速痊愈2|
|''豁免:'' 强韧+4,反射+2,意志+3|
|''属性:'' 力量17,敏捷8,体质13,智力6,感知11,魅力15|
|''技能:'' 唬骗+8,逃脱术+5,躲藏+9,聆听+6,交涉+4,易容+2(+4表演),潜行+5,侦察+6,绳技-1(+1捆绑)|
|''专长:'' 猛力攻击,健壮|
|''环境:'' 土元素位面|
|''组织:'' 单独,成队(2-4任何种类的魔蝠),或成群(5-12任何种类的魔蝠)|
|''挑战等级:'' 3|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 4-6HD(小型);7-9HD(中型)|
|''等级调整:'' +3(作为伙伴)|

盐魔蝠来自于土元素位面。

盐魔蝠是厌恶任何类型的水和潮湿的讽刺性生物。它们高约4尺,重约80磅。

盐魔蝠会说通用语和土族语。

!!!!战斗

''喷吐武器 (Su):''10尺锥形盐粒,1d4点伤害,通过DC 13的反射豁免检定则伤害减半。活着的生物若没有通过豁免检定,则会承受皮肤刺痒及眼睛灼烧的痛苦。此效果会使受影响的生物在3轮内受到防御等级-4及攻击检定-2的罚值。该豁免检定DC基于体质调整值且包括+1的种族加值。

''类法术能力:''盐魔蝠每小时可施放一次闪光尘 (DC 14,施法等级3)。每天一次,盐魔蝠可以将以其为中心,半径20尺范围内的水分吸收。处于此范围内的活着的生物会受到2d6点伤害 (通过DC 14的强韧豁免检定则伤害减半;施法等级6)。此效果对植物类生物及水生生物更具破坏力,它们进行豁免检定时会受到-2的罚值。此能力相当于一个2级法术。该豁免检定DC基于魅力调整值。

''快速痊愈 (Ex):''盐魔蝠只有在干燥的环境中才能得到治疗。


!!!Steam Mephit(蒸气魔蝠)

''小型异界生物 (跨位面,火系)''

|''生命骰:'' 3d8(13hp)|
|''先攻权:'' +5|
|''速度:'' 30尺(6格),飞行50尺(普通)|
|''防御等级:'' 16(+1体型,+1敏捷,_4天生),接触12,措手不及15|
|''基本攻击/擒抱:'' +3/-1|
|''攻击:'' 爪抓+4近战(1d3外加1d4火焰)|
|''全回合攻击:'' 2爪抓+4近战(1d3外加1d4火焰)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 喷吐武器,类法术能力,召唤魔蝠|
|''特性:'' 伤害减免5/魔法,黑暗视觉60尺,快速痊愈2,对火焰免疫,易受寒冷伤害|
|''豁免:'' 强韧+3,反射+4,意志+3|
|''属性:'' 力量10,敏捷13,体质10,智力6,感知11,魅力15|
|''技能:'' 唬骗+8,逃脱术+7,躲藏+11,聆听+6,交涉+4,易容+2(+4表演),潜行+7,侦察+6,绳技+1(+3捆绑)|
|''专长:'' 闪避,精通先攻|
|''环境:'' 火元素位面|
|''组织:'' 单独,成队(2-4任何种类的魔蝠),或成群(5-12任何种类的魔蝠)|
|''挑战等级:'' 3|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 4-6HD(小型);7-9HD(中型)|
|''等级调整:'' +3(作为伙伴)|

蒸气魔蝠来自于火元素位面。

蒸气魔蝠是专横跋扈的生物,它们认为自己是所有魔蝠中的王者。它们高约4尺,重约2磅。

蒸气魔蝠会说通用语和火族语。

!!!!战斗
不像其他魔蝠,受到过度的自我膨胀所趋势的蒸气魔蝠渴望迅速加入战斗。

''喷吐武器 (Su):''10尺锥形蒸气,1d4点火焰伤害,通过DC 12的反射豁免检定则伤害减半。活着的生物若没有通过豁免检定,则会承受皮肤灼伤及眼睛干枯的痛苦,除非它们对火焰免疫或可防护火焰攻击。此效果会使受影响的生物在3轮内受到防御等级-4及攻击检定-2的罚值。该豁免检定DC基于体质调整值且包括+1的种族加值。

''类法术能力:''每小时一次,蒸气魔蝠可以通过使用水蒸气围绕自己来产生如朦胧术一样的效果 (施法等级3)。每天一次,蒸气魔蝠可以制造一个影响范围20尺的由沸水形成的暴雨。处于此范围内的活着的生物会受到2d6点火焰伤害 (通过DC 14的反射豁免检定则伤害减半;施法等级6)。此能力相当于一个2级法术。该豁免检定DC基于魅力调整值。

''快速痊愈 (Ex):''蒸气魔蝠只有在接触到沸水或处于高温潮湿的区域时才能得到治疗。


!!!Water Mephit(水魔蝠)

''小型异界生物 (跨位面,水系)''

|''生命骰:'' 3d8+6(19hp)|
|''先攻权:'' +0|
|''速度:'' 30尺(6格),飞行40尺(普通),游泳30尺|
|''防御等级:'' 16(+1体型,+5天生),接触11,措手不及16|
|''基本攻击/擒抱:'' +3/+1|
|''攻击:'' 爪抓+6近战(1d3+2)|
|''全回合攻击:'' 2爪抓+6近战(1d3+2)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 喷吐武器,类法术能力,召唤魔蝠|
|''特性:'' 伤害减免5/魔法,黑暗视觉60尺,快速痊愈2|
|''豁免:'' 强韧+4,反射+3,意志+3|
|''属性:'' 力量14,敏捷10,体质13,智力6,感知11,魅力15|
|''技能:'' 唬骗+8,逃脱术+6,躲藏+10,聆听+6,交涉+4,易容+2(+4表演),潜行+6,侦察+6,游泳+10,绳技+0(+2捆绑)|
|''专长:'' 猛力攻击,健壮|
|''环境:'' 水元素位面|
|''组织:'' 单独,成队(2-4任何种类的魔蝠),或成群(5-12任何种类的魔蝠)|
|''挑战等级:'' 3|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 4-6HD(小型);7-9HD(中型)|
|''等级调整:'' +3(作为伙伴)|


水魔蝠来自于水元素位面。

水魔蝠是灵巧并具有不衰退的幽默感的生物,可以很快地把周围的每个人都弄得心神不宁。它们高约4尺,重约30磅。

水魔蝠会说通用语和水族语。

!!!!战斗

''喷吐武器 (Su):''15尺锥形腐蚀性液体,1d8点酸伤害,通过DC 13的反射豁免检定则伤害减半。该豁免检定DC基于体质调整值且包括+1的种族加值。

''类法术能力:''每小时一次,水魔蝠可以掷出一滴效果如强酸箭 (施法等级3)一样的酸液。每天一次,水魔蝠可以制造一大团效果如臭云术 (DC 15,施法等级6)一样的很臭的雾气。该豁免检定DC基于魅力调整值。

''快速痊愈 (Ex):''水魔蝠只有在雨中或腰部以下处于水中时才能得到治疗。

''技能:''在进行游泳检定来做出特殊动作或躲避危险时,水魔蝠可获得+8的种族加值。它可在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。
''Merciful(慈悯):''
慈悯武器能造成1d6点额外伤害,并且它造成的全部伤害都是瘀伤。一旦收到使用者的命令,武器转为造成正常伤害,直到使用者再次下令。弓、弩和投石索自动给予其发射的弹药这种效果。

微弱防护系灵光;CL5;制造魔法武器和防具,治疗轻伤(cure light wounds);价格+1加值。
''人鱼,一级武者(Merfolk, 1st-Level Warrior)''

''中形类人生物[ 水生]''

|''生命骰:'' 1D8+2(6HP)|
|''先攻权:'' +1|
|''速度:'' 5尺.游泳50尺|
|''防御等级:'' 13(+1敏捷.+2皮甲)接触11,措手不及12|
|''基本攻击/擒抱:'' +1/+2|
|''攻击:'' 三叉矛+2近身(1D8+1)或重十字弓+2远程(1D10/19-20)|
|''全回合攻击:'' 三叉矛+2近身(1D8+1)或重十字弓+2远程(1D10/19-20)|
|''面宽/触及:'' 5/5|
|''特殊攻击:'' 无|
|''特性:'' 两栖低光视觉|
|''豁免:'' 强韧+4反射+1意志-1|
|''属性:'' 13/13/14/10/9/10|
|''技能:'' 聆听+3,侦察+3,游泳+9|
|''专长:'' 警觉|
|''环境:'' 温带水域|
|''组织:'' 组队(2-4),斥候队(11-20+2名等级3的中尉和一名(3-6级的领队),或族群(30-60每20只人鱼1名3级士官, 5名5级中尉, 3名7级 上尉,和10只海豚.)|
|''挑战等级:'' 1/2|
|''宝物:'' 标准|
|''阵营:'' 1/2|
|''进化:'' 视角色职业而定|
|''等级调整:'' +1|

一只人鱼大约从头到尾大约8FT长, 重约400磅。

人鱼使用通用语和水族语。

大部分离开家乡的人鱼都是武者, 以上资料以一级武者为标准。

!!!战斗
人鱼喜好用水下射程为30的用贝壳和珊瑚制作的十字弓以及河豚刺做的矢进行远程射击。人鱼常用的战术是在敌人逼近前集中射击。

''两栖(EX): ''人鱼可以同时在陆地和水中呼吸,尽管如此,他们还是更喜欢在水中旅行。

''技能:''一只人鱼在游泳技能的检定上拥有+8的加值。人鱼始终可以保持取10在游泳技能上,即使在分心或受威胁的情况下。当它在做直线距离的游泳动作时它可以使用奔跑的动作。

人鱼武者的属性(种族调整前): 力量13,敏捷11,体质12,智力10,感知9,魅力8。

!!!人鱼角色
人鱼的天赋角色是吟游诗人。


!!!传讯术(Message)
|变化系[依赖于语言]|
|''等级:''吟游诗人0,术士/法师0|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''一个生物/每等级|
|''持续时间:''10分钟/每等级|
|''豁免:''无|
|''法术抗力:''不可|
|你可以和目标生物轻声交谈而几乎不会被其他人听到。你要分别用手指指出每个你希望其收到你的讯息的生物。当你轻声说话时,所有在法术有效距离内的目标生物都会听到你说话。魔法沉默术(silence)、一英尺厚的石头、一英寸厚的普通金属(或一片薄铅片),3英尺厚的木头或泥土,都可以阻挡此法术。通过法术传递的讯息并不需要通过直线传递。只要你和目标之间有一条无障碍的路径,并且此路径的总路程在法术有效距离内,讯息就能绕过障碍物传递给目标。收到讯息的生物也可以轻声给你回话。此法术传递的是声音,而非意思。此法术并不会解决语言障碍。|
|注意:在传递讯息时,你还是要开口说话,因此观察者还是能读你的唇语。|
|//器材://一小段铜线。|
''金属及矿物探知(Metal and Mineral Detection):''此权杖会在使用者手中跳动,指出30英尺内最多的金属聚集处。也可以只搜寻特定金属或矿物(金、白金、石英、绿宝石、钻石、钢玉等)。如果30英尺内有矿藏,它会指出矿藏地点,持用者会得知大约数量。如果范围内矿藏不只一处,它会指出蕴藏量最大的地点。每次操作都属于整轮动作。

施法者等级:9。先决条件:“制造权杖”,“物品定位术”。交易价格:10500金币。
''超魔权杖:''超魔权杖内含一个超魔专长的精华,但是不会改变需要超魔的法术的法术位。所有这里描述的权杖都需要启动(但在威胁范围内施法本身依然引发借机攻击)。施法者对任意给定法术只能使用一支超魔权杖,但是允许将权杖和使用者本身的超魔专长一起使用。这种情况下,只有持有者本身拥有的超魔专长才会改变法术位。

拥有超魔权杖并不赋予持有者相关联的超魔专长,只是每天使用有限次数的给定专长的能力。术士在使用超魔权杖时依然需要一个整轮动作,就如同使用其拥有的某个超魔专长一样。

次级和高级超魔权杖:一般的超魔权杖可以对6级或以下法术使用。次级权杖只能对3级或以下法术使用,高级权杖可以对9级或以下法术使用。

''法术强效:''持有者可以每日三次在施展法术时使用权杖将其强效,如同使用了法术强效专长一般。

强烈魔法灵光(无学派);CL17;制造权杖专长,法术强效专长;价格9000金币(次级),32500(一般),73000(高级)。

''法术扩展:''持有者可以每日三次在施展法术时使用权杖将其扩展,如同使用了法术扩展专长一般。

强烈魔法灵光(无学派);CL17;制造权杖专长,法术扩展专长;价格3000金币(次级),11000(一般),24500(高级)。

''法术延时:''持有者可以每日三次在施展法术时使用权杖将其延时,如同使用了法术延时专长一般。

强烈魔法灵光(无学派);CL17;制造权杖专长,法术延时专长;价格3000金币(次级),11000(一般),24500(高级)。

''法术极效:''持有者可以每日三次在施展法术时使用权杖将其极效,如同使用了法术极效专长一般。

强烈魔法灵光(无学派);CL17;制造权杖专长,法术极效专长;价格14000金币(次级),54000(一般),1215000(高级)。

''法术瞬发:''持有者可以每日三次在施展法术时使用权杖将其瞬发,如同使用了法术瞬发专长一般。

强烈魔法灵光(无学派);CL17;制造权杖专长,法术瞬发专长;价格35000金币(次级),75500(一般),170000(高级)。

''法术默发:''持有者可以每日三次在施展法术时使用权杖将其默发,如同使用了法术默发专长一般。

强烈魔法灵光(无学派);CL17;制造权杖专长,法术默发专长;价格3000金币(次级),11000(一般),24500(高级)。
!!!流星爆(Meteor Swarm)
|塑能系[火焰]|
|''等级:''术士/法师9|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''远距(400英尺+40英尺/施法者每等级)|
|''区域:''四个半径40英尺的扩散范围;见说明|
|''持续时间:''立即|
|''豁免:''无;或反射,通过则效果减半;见说明|
|''法术抗力:''可|
|流星爆是一个强力而且壮观的法术,它很多方面都跟火球术(fireball)很像。当你施展此法术时,四颗直径2英尺的火球从你伸展的手中飞出,这些流星会拖着一条火光灿烂的尾巴,以直线路径飞向你选定的地点。|
|如果你将流星瞄准一个特定的生物,你必须分别为每颗流星做一个远程接触攻击检定来使流星命中目标。任何生物只要被流星击中,每颗击中他的流星会对他造成2d6点钝击伤害(无豁免),并且接下来他不能对成功击中他的流星所产生的火焰伤害做任何豁免(见下文)。如果流星没有成功命中所指定的目标,则会在目标生物所在空间边最近的方格交叉点爆炸。你可以指定多颗流星瞄准同一个目标。|
|一旦流星到达目的地,它就会爆炸并波及所有半径40英尺扩散范围内的生物。每颗流星会对每个在爆炸区域内的生物造成6d6点伤害。如果生物在多颗流星的爆炸范围内,他必须分别对每颗流星做反射检定。(火焰抗力也需分别对每颗流星计算。)|
''Mighty Cleaving(狂斩):''
狂斩武器允许拥有顺劈斩专长的使用者在每轮内多使用一次顺劈斩。

!!Mimic(拟形怪)

''大型异怪 (变形生物)''

|''生命骰:'' 7d8+21(52hp)|
|''先攻权:'' +1|
|''速度:'' 10尺(2格)|
|''防御等级:'' 15(-1体形,+1敏捷,+5天生),接触10,措手不及15|
|''基本攻击/擒抱:'' +5/+13|
|''攻击:'' 挥击+9近战(1d8+4)|
|''全回合攻击:'' 2挥击+9近战(1d8+4)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 黏液,碾压|
|''特性:'' 60尺黑暗视觉,免疫酸液,模拟外形|
|''豁免:'' 强韧+5,反射+5,意志+6|
|''属性:'' 力量19,敏捷12,体质17,智力10,感知13,魅力10|
|''技能:'' 攀爬+9,易容+13,聆听+8,侦察+8|
|''专长:'' 警觉,闪电反射,武器专攻(挥击)|
|''环境:'' 地底|
|''组织:'' 独行|
|''挑战等级:'' 4|
|''宝物:'' 1/10钱币,50%货物,50%物品|
|''阵营:'' 通常绝对中立|
|''进化:'' 8-10HD(大型);11-21HD(超大型)|
|''等级调整:'' -|

拟形怪体形各异,但通常方圆10尺。典型的拟形怪体积约150立方英尺 (5尺宽5尺高5尺长),重约4,500磅。

拟形怪可以使用通用语。

!!!战斗

拟形怪经常能用可以自由伸缩的肢体成功偷袭没有戒心的冒险者。这种生物如果能由冒险者那里勒索财宝或食物,就未必会选择拼死而战。

''黏液 (EX):''拟形怪可以分泌浓稠的黏液,粘住任何接触到的生物或物品。由黏液覆盖的拟形怪可以自动擒抱任何用挥击击中的生物。被擒抱的目标在拟形怪仍然生存时必须首先移除其黏液,否则没法摆脱擒抱。

如果武器命中由黏液覆盖的拟形怪,其持握者必须通过DC 16的反射检定,否则将立即被粘住。拔出被粘住的武器需要进行DC 16的力量检定。

浓度高的酒精可以溶解黏液,但拟形怪仍然可以按正常规则展开擒抱。拟形怪可以随意解除其黏液,其黏液在拟形怪死亡5轮后干裂。

''碾压 (EX):''拟形怪可以通过成功的擒抱检定造成1d8+4点伤害。

''模拟外形 (EX):''拟形怪可以模拟任何约150立方英尺(5尺宽5尺高6尺长)的基本外形,例如宝箱,矮脚床,甚至是门框。但拟形怪没法改变其体积。无论其模拟的外观,拟形怪的身体都非常坚硬粗糙。信心观察的角色可以通过侦察检定与拟形怪的易容检定进行对抗来注意到拟形怪的伪装,当然,通常他们都没法及时做到这点。

技能:拟形怪在进行易容检定时可以得到+8的种族加值。 

!!!心灵屏障(Mind Blank)
|防护系|
|''等级:''保护8,术士/法师8|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个生物|
|''持续时间:''24小时|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''(无害)|
|此法术能保护受术者,使得所有能侦测、影响、感知思想或情绪的魔法或有相同功能的装置,都无法对受术者发生作用。此法术不仅能阻绝所有影响心灵的魔法和效果,也能防止预言系法术或预言系效果的侦测。甚至如果用有限祈愿术(limited wish),神迹术(miracle)和祈愿术(wish)来影响心灵或侦测信息,心灵屏障也可以使其失效。若受术者处在大范围探知法术(如秘法眼(arcane eye))的影响区域中,虽然该探知法术仍然会起作用,但却无法侦测到心灵屏障的受术者。如果是针对受术者而来的探知法术,则完全不会有效。|
!!!心灵迷雾(Mind Fog)
|惑控系(胁迫)[影响心灵]|
|''等级:''吟游诗人5,术士/法师5|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/施法者每等级)|
|''效果:''半径20英尺,高20英尺的弥漫范围内充满迷雾|
|''持续时间:''30分钟+2D6轮;见说明|
|''豁免:''意志,通过则无效|
|''法术抗力:''可|
|心灵迷雾可以造出一片薄薄的雾气来削弱身处其中生物的心智抵抗力。雾气中的生物,在进行感知检定和意志豁免时,受到-10的环境减值。(如果生物通过了对雾气的意志检定,将不受影响,并且不用再对同一团雾气再做检定,即使是继续待在雾中也是一样。)受影响的生物只要不离开雾气范围就会一直受到影响,离开后需要2d6轮才能恢复正常。雾气本身不会移动,而且可以持续30分钟(或直到被风吹散为止)。和风(时速11英里以上)在4轮之内吹散云雾。强风(时速21英里以上)可以一轮吹散。|
|雾气本身很稀薄,不会影响视觉。|
''Mind Shielding(心灵护盾):''此戒指为手工精巧的金制品,含金度很高。穿戴者不受“侦测思想”、“测知谎言”或任何试图探知阵营的魔法所影响。

施法者等级:3。先决条件:“锻造戒指”,“回避侦测”。交易价格:8000金币。
!!!弱效造物术(Minor Creation)
|咒法系(创造)|
|''等级:''术士/法师4|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1分钟|
|''距离:''0英尺|
|''效果:''以已无生命的植物为组成成分,未被持用、非魔法的物品,体积至多1立方英尺/施法者每等级|
|''持续时间:''1小时/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|你可以造出一个未被持用、非魔法且以已无生命的植物为组成成分的物品。该物品的体积不能超过1立方英尺/施法者每等级。如果要造出较为复杂的物品,必须通过相关的技能检定。|
|如果想以此法术造出的物品作为另一法术的材料,会导致另一法术在施展时失败。|
|//材料成分://一小块与你想要用弱效造物术创造的物品相同材质的原料。|
!!!弱效幻影(Minor Image)
|幻术系(虚假幻觉)|
|''等级:''吟游诗人2,术士/法师2|
|''持续时间:''专注+2轮|
|与无声幻影(silent image)相同,但弱效幻影可以发出一些微弱,无意义的声音。|
!!Minotaur(牛头人)

''大型人形怪物''

|''生命骰:'' 6d8+12(39hp)|
|''先攻权:'' +0|
|''速度:'' 30英尺(6格)|
|''防御等级:'' 14(–1体型,+5天生),接触9,措手不及—(见说明)|
|''基本攻击/擒抱:'' +6/+14|
|''攻击:'' 巨斧+9近战(3d6+6/x3)或抵撞+9近战(1d8+4)|
|''全回合攻击:'' 巨斧+9/+4近战(3d6+6/x3)和抵撞+4近战(1d8+2)|
|''面宽/触及:'' 10英尺/10英尺|
|''特殊攻击:'' 强力冲刺4d6+6|
|''特性:'' 黑暗视觉60英尺,天性狡猾,嗅觉灵敏|
|''豁免:'' 强韧+6,反射+5,意志+5|
|''属性:'' 力量19,敏捷10,体质15,智力7,感知10,魅力8|
|''技能:'' 威吓+2,聆听+7,搜索+2,侦察+7|
|''专长:'' 强韧加强,猛力攻击,追踪|
|''环境:'' 任何地底|
|''组织:'' 单独、成双或组队(3-4)|
|''挑战等级:'' 4|
|''宝物:'' 标准|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 视人物职业而定|
|''等级调整:'' +2|

牛头人站立时超过7英尺高,体重约700磅。

牛头人说巨人语。

!!!战斗
牛头人偏好近战,因为此时它们的强大力量能彻底发挥作用。

''强力冲锋(特异):''牛头人的战斗通常以冲锋对手开始,低下头用强有力的双角冲进战场。这次攻击除了冲刺动作本身的优势和风险外,还将以+9的攻击加值进行单一一次抵撞攻击,并造成4d6+6点伤害。

''天性狡猾(特异):''尽管牛头人并不特别聪明,但它们有与生俱来的狡猾和逻辑能力。这使它们免疫“迷宫术”(maze),绝不会迷路,还能追踪敌人。此外,它们永远不会陷入措手不及状态。

''技能:''牛头人在“搜索”、“侦察”和“聆听”检定上具有+4种族加值。

!!!牛头人人物

牛头人人物具有下列种族特性。

*+8力量,+4体质,-4智力(最低为3),-2魅力。
*大体型。防御等级-1减值,攻击投骰-1减值,躲藏检定-4减值,擒抱检定+4加值,举重和负重能力是中体型人物的两倍。
*占据/触及:10英尺/10英尺。
*牛头人的基本地面速度是30英尺。
*黑暗视觉60英尺。
*种族生命骰:牛头人天生有6个人形怪物等级,这给予它6d8的生命骰,+6的基本攻击加值,基本豁免加值为强韧+2,反射+5,意志+5。
*种族技能:牛头人的人形怪物等级给予它9x(2+智力调整值,最低为1)的技能点。它的本职技能是威吓、跳跃、聆听、搜索和侦察。牛头人在搜索、侦察和聆听检定上获得+4种族加值。
*种族专长:牛头人的人形怪物等级给予它三个专长。
*武器擅长:牛头人擅长巨斧和所有简易武器。
*+5天生防御加值。
*天生武器:抵撞(1d8)。
*特殊攻击(见上文):强力冲锋。
*特性(见上文):天性狡猾,嗅觉灵敏。
*自动获得预言:通用语,巨人语。奖励语言:兽人语,地精语,地底通用语。
*天赋职业:野蛮人。
*等级调整:+2。
!!!神迹术(Miracle)
|塑能系|
|''等级:''牧师9,机运9|
|''法术成分:''言语,姿势,经验值;见说明|
|''施法时间:''1个标准动作|
|''距离:''见说明|
|''目标、效果或区域:''见说明|
|''持续时间:''见说明|
|''豁免:''见说明|
|''法术抗力:''可|
|神迹术其实比较像是祈求而非施法。你向神祗(或你信仰的某种力量)祷告并诉说愿望。|
|神迹术可以产生以下任意效果之一:|
*复制一个法术等级不超过8级的牧师法术(包括可以通过你领域而获得的法术)。|
*复制一个法术等级不超过7级的任何法术。|
*移除一些有害的法术效果,例如弱智术(feeblemind)或精神错乱(insanity)。|
*产生和上述效果强度相当的效果。|
|如果神迹术产生以上功效,那么施展法术不需要耗费经验值。|
|另外,一个牧师也可以祈求非常伟大的神迹。由于涉及到强大的圣力能量,因此施展这样一个神迹术需要消耗这名牧师的5,000点经验值。这类强大的神迹可能是:|
*使阵亡的同伴起死回生逆转战局。|
*使你的队伍和所有装备精确无误地传送到另一位面。|
*保护一个城市免于地震,火山爆发,洪水或其他天灾摧毁。|
|只有符合神祗(或阵营)天性的祈求才会获得恩准。|
|由神迹术复制产生的法术如果允许进行豁免和法术抗力检定,将仍然需要进行相关检定,但豁免检定的DC需以9级法术计算。如果被复制的法术需要消耗经验值,你就必须支付该经验值。若被复制的法术需要使用价值100金币以上的材料,你也必须支付。|
|//消耗经验值://5,000点(某些情况下;见以上说明)。|
!!!海市蜃楼(Mirage Arcana)
|幻术系(五官幻觉)|
|''等级:''吟游诗人5,术士/法师5|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''区域:''一个边长20英尺的立方区域/施法者每等级(可变)|
|''持续时间:''专注+1小时/施法者每等级(可解消)|
|此法术作用类似幻景(hallucinatory terrain),但可以使景物彻底改变。此法术可以产生视觉、听觉、触觉和嗅觉的幻觉。与幻景不同的是,海市蜃楼可以改变原有建筑物的外观(也可以产生虚幻的建筑物),但此法术还是无法伪装、隐藏或产生生物的幻象(尽管这些虚幻的地形就跟真实的地形一样,可以让生物躲在其中)。|
!!!镜影术(Mirror Image)
|幻术系(虚假幻觉)|
|''等级:''吟游诗人2,术士/法师2|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''个人;见说明|
|''目标:''你自己|
|''持续时间:''1分钟/施法者每等级(可解消)|
|你的身旁出现数个幻象分身,使敌人很难确定到底该攻击哪个目标。这些分身会一直待在你周围,被击中时即消失。|
|镜影术会造出1d4个分身,每施法者等级可以再增加一个(总数最多八个)。这些分身和你是独立分开的,但是又和你靠在一起。每个分身都在其它至少一个分身或你的5英尺之内。你可以进入或穿过这些镜像。当你和你的分身分离时,观察者无法以视觉或听觉来判断到底哪个是你的真身。分身与分身之间也可以彼此互相穿越。所有的分身都会模拟你的行为,比如你施法时分身也会做出施法动作,你喝药水时分身也会喝药水,你飘在空中分身也会飘起来等等。|
|敌人若要攻击你或对你施法,必须在本体和数个分身中选择一个作为目标。一般都是随机掷骰判断选定的目标是真身还是镜像。任何成功的攻击都会摧毁分身。分身的AC为10+你的体型调整值+你的敏捷调整值。被区域型法术攻击时,分身也会做出应有的反应(如被火球术(fireball)击中时,看起来也会被烧伤或烧死)。|
|当你移动时,你可以任意跟所有的分身合体再分开,这将使已经搞清楚你实际位置所在的敌人再次被迷惑。|
|敌人必须要看到镜影才会被迷惑。如果你隐形或攻击者闭上眼睛,法术就没有效果。(无法视物将受到如同目盲般的带来的惩罚。)|
''Mirror of Life Trapping(慑心镜)'': 约4英尺平方的水晶体,装在木框或铁框上。它可固定在平面上以指令启动,同一指令亦可关闭其功能。镜里有十五个不占空间的异次元隔间。30英尺内看到镜像的生物都要作意志检定(DC=23),未通过检定者便被吸到其中一个隔间。不知此镜底细的生物一定会看到镜像。若有所警觉且试图避免看镜像,则有50%机率须作意志检定(如同凝视攻击)。

被吸入的生物困在镜中,不论体型大小皆然。构装生物、不死生物、不动物品和非生命体不会被吸入,受害者的装备(包括衣服和所携带的物品)则留在外面。如果使用者知道正确指令,可以叫出被囚生物的镜像并和其对话。使用另一个指令可以放出被囚生物。每一生物得使用不同指令才能放出。

如果镜内隔间已满,每当有新的生物被吸入,就会有一个生物被放出(随机决定)。如果镜子破裂,则所有受害者都会被放出。

Strong abjuration; CL 17th; Craft Wondrous Item, imprisonment; Price 200,000gp;Weight 50 lb.
''Mirror of Mental Prowess(灵光镜)'': 乍看之下为高五英尺、宽两英尺的普通镜子,说出指令可以使用下列功能:

*使用者在镜子25英尺距离内,可以读出任何影像在镜中出现之生物的思想,即使不懂该生物的语言亦可。

*如同“水晶球”一样的探知功能,甚至可探知使用者熟悉的其他界域。

*当作进入其他界域的大门。使用者必须先探知目的地,然后穿过镜子到达镜面所映出的地点。目的地会留下一个隐形传送门,让使用者返回原界域。一旦返回,大门即关闭。大门打开24小时之后也会自动关闭(无论使用者是否返回)。使用者也可下指令主动关闭。智力值达12的生物可能会注意到这个隐形门,如同注意到“探知”法术的作用。

*当有生物的影像映在镜中时,镜子会回答使用者关于此生物的一个简短问题。此功能每周可使用一次(类似“通晓传奇”法术)。

Strong conjuration and divination; CL 17th; Craft Wondrous Item, detect thoughts, clairaudience/clairvoyance, gate, legend lore; Price 175,000gp; Weight 40 lb.
''Mirror of Opposition(死敌分身镜)'': 四英尺长、三英尺宽的镜子,可固定在平面上以指令启动或关闭其特殊能力。若有生物在镜面上看到自己的镜影,镜子会复制一个分身。分身出现时立刻对本尊展开攻击,分身所具有的装备、能力与魔法都和本尊一样。如果两者中任何一个被打败或杀害,分身和其装备都立刻消失。每天可以使用此功能四次。

Strong necromancy; CL 15th; Craft Wondrous Item, clone; Price 92,000gp;Weight 45 lb.
!!!误导术(Misdirection)
|幻术系(五官幻觉)|
|''等级:''吟游诗人2,术士/法师2|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''单一生物或物品,体积至多各边长10英尺的立方区域|
|''持续时间:''1小时/每等级|
|''豁免:''无;或意志,通过则无效;见说明|
|''法术抗力:''无|
|''和这个法术的字面意思一样,你可以误导能显现灵光的预言系法术(如侦测邪恶(detect evil),侦测魔法(detect magic),辨识谎言(discern lies)等等)。施法时,你需要指定法术有效距离内的另一件物品。在法术持续时间内,除非侦测者通过意志检定,否则侦测误导术目标物品得到的结果如同侦测被指定的另一物品一样(目标物品和被指定的另一物品都无法进行豁免检定对抗这一效果)。举例来说,如果附近有一棵树,你可以使自己侦测起来就像那棵树:''非邪恶,没有说谎,非魔法,阵营中立等等。此法术不会影响其他类别的预言系法术(例如占卜术(augury),侦测思想(detect thoughts),锐耳术/鹰眼术(clairaudience/clairvoyance)等)。|
!!!假象术(Mislead)
|幻术系(虚假幻觉,五官幻觉)|
|''等级:''吟游诗人5,机运6,术士/法师6,诡术6|
|''法术成分:''姿势|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标/效果:''自己/一个幻象分身|
|''持续时间:''1轮/施法者每等级(可解消)和专注+3轮;见说明|
|''豁免:''无;或意志,通过则不相信(若发生互动);见说明|
|''法术抗力:''无|
|你变为隐形(同高等隐形术(Greater Invisibility),为五官幻觉),同时出现一个跟你一样的幻影(同强效幻影(major image),为虚假幻觉)。之后你和你的分身可以分开移动。分身会出现在法术有效范围内,并往你指定的方向移动(需要在施法后的第一轮开始保持专注。你也可以使幻象分身在出现时完美地叠合在你的身体上,使敌人无法察觉分身出现而你已经隐形,然后你和分身接下来可以往不同方向移动。分身的移动速度和你一样,它的说话方式和动作非常自然,跟真的一样。分身不能攻击或施法,但它可以做出类似的假动作。|
|幻象分身的持续时间是专注+3轮。当你结束专注后,幻象分身将继续进行与之前相同的动作直到其持续时间结束。高级隐形术效果的持续时间则是每等级1轮,而不会受到专注的影响。|
''秘银加速全身铠甲:''此盔甲一旦被一个实时动作启动,穿戴者便处在加速术(haste)的效果下,每天10轮。加速术效果的持续时间不一定要是连续的几轮。

穿上盔甲后,中体型生物速度20英尺,小体型生物15英尺。盔甲的奥术失效几率25%,最大敏捷加值+3,防具检定减值-3。盔甲为中型盔甲,重25磅。

微弱变化系灵光;CL5;制造魔法武器和防具,加速术(haste);价格26500金币。
''重秘银盾:''这面重型盾由秘银制成,因此比一般的重钢盾轻。它的奥术失效机率为5%,没有防具检定减值,重6磅。

无魔法灵光(不含魔法);价格1020金币。
''秘银衫:''这件由秘银制成的链甲衫极其轻巧。中等体型生物穿上后速度30英尺,小体型20英尺。盔甲的奥术实效几率10%,最大敏捷加值+6,无防具检定减值。盔甲为轻型盔甲,重10磅。

无魔法灵光(不含魔法);价格1100金币。
!!!强记术(Mnemonic Enhancer)
|变化系|
|''等级:''法师 4|
|''法术成分:''言语,姿势,材料,器材|
|''施法时间:''10分钟|
|''距离:''个人|
|''持续时间:''立即|
|此法术可以使你准备额外的法术或唤回刚施展过的法术。施法时选择以下两种功效之一。|
|''准备:''你可以准备等级总和不超过三的额外法术。戏法在计算时视为1/2个等级。这些额外的法术在准备和施展时都跟平常一样。|
|''唤回:''你可以唤回任何在你开始施展强记术前一轮中所施展的法术,法术等级不超过3级。该被唤回的法术会立即回到你的记忆中。|
|在这两种情况中,如果24小时内不施展,那么你所额外准备的法术或者唤回的法术都将会消失淡忘。|
|材料成分:一条细绳,以及由乌贼墨汁和黑龙血调和而成的墨汁。|
|//器材://一块价值至少50金币的象牙薄片。|
!!! 灵活移动(MOBILITY)[一般专长]

''先决条件:''敏捷13、闪避。

''效果:''当你离开敌人的威胁区域或在其中移动而引发对方借机攻击时,你的防御等级可获得+4闪避加值。若你失去防御等级的敏捷加值,也会同时失去闪避加值。

与大多数类型加值不同,各项闪避加值可以累加。

''特殊:''战士可以选择本专长作为其战士奖励专长。

!!!修改记忆(Modify Memory)
|惑控系(胁迫)[影响心灵]|
|''等级:''吟游诗人4|
|''法术成分:''言语,姿势|
|''施法时间:''1轮;见说明|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个活物|
|''持续时间:''永久|
|''豁免:''意志,通过则无效。|
|''法术抗力:''可|
|''你可以潜入受术者的心灵,修改一段总长度不超过5分钟的记忆,可选择的方式包括:''|
|? 彻底抹除受术者曾经经历过的某件事的所有记忆。此效果不能解除魅惑术(charm),指使术(geas/quest),暗示术(suggestion)或类似效果。|
|? 使受术者清晰地回忆起某件曾经经历过的事情的完整细节。|
|? 改变受术者对某件曾经经历过的事情细节的记忆。|
|? 给受术者植入一段从未经历过的事情的记忆。|
|施展此法术需要一轮的时间。如果受术者没有通过豁免,你可以接下来花至多5分钟时间(花的时间与你要修改的记忆时间长度相同)来对受术者具象化那些你希望修改的记忆。如果在记忆具象化完成前专注被打断,或受术者离开法术有效距离,则法术失败。|
|修改过的记忆不一定会影响受术者的行为,特别是如果修改过的记忆内容跟生物的天性相违背。一段不合逻辑的记忆往往会被受术者认为只是做了恶梦或喝多了酒而忽视。|
!!Mohrg(魔魂尸)

''中型不死生物''

|''生命骰:'' 14d12(91hp)|
|''先攻权:'' +9|
|''速度:'' 30尺(6格)|
|''防御等级:'' 23(+4敏捷,+9天生),接触14,措手不及14|
|''基本攻击/擒抱:'' +7/+12|
|''攻击:'' 挥击+12近战(1d6+7),或舌头触碰+12近战接触(麻痹)|
|''全回合攻击:'' 挥击+12近战(1d6+7)及舌头触碰+12近战接触(麻痹)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 精通攫抓,麻痹之触,产生衍体|
|''特性:'' 黑暗视觉60尺,不死生物特性|
|''豁免:'' 强韧+4,反射+10,意志+9|
|''属性:'' 力量21,敏捷19,体质-,智力11,感知10,魅力10|
|''技能:'' 攀爬+13,躲藏+21,聆听+11,潜行+21,侦察+15,游泳+9|
|''专长:'' 警觉,闪避,精通先攻,闪电反射,灵活移动|
|''环境:'' 任意|
|''组织:'' 单独,成队(2-4),或成群(2-4外加5-10僵尸)|
|''挑战等级:'' 8|
|''宝物:'' 无|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 15-21HD(中型);22-28HD(大型)|
|''等级调整:'' -|

魔魂尸是被活化了的没有弥补自己的罪孽便死了的杀人狂或类似的恶棍的尸体。

大多数魔魂尸有5到6尺高,重约120磅。

!!!战斗
如同僵尸一样,魔魂尸使用它们的拳头挥击敌人。因为它们移动起来比僵尸快上许多,所以它们通常会使敌人陷入措手不及的状态。

''精通攫抓 (Ex):''使用此能力之前,魔魂尸必须通过其挥击攻击击中一个体型与其相同或更小的生物。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。

''麻痹之触 (Su):''魔魂尸在战斗中会挥动它的舌头。被舌头接触到的对手必须通过一个DC 17的强韧豁免检定否则就会麻痹1d4分钟。该豁免检定DC基于魅力调整值。

''产生衍体 (Su):''被魔魂尸杀死的生物在1d4天之后会复活成被魔魂尸所控制的僵尸。这些僵尸不会保留其生前拥有的任何能力。
!!!片刻预知(Moment of Prescience)
|预言系|
|''等级:''机运8,术士/法师8|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''个人|
|''目标:''你自己|
|''持续时间:''1小时/每等级,或直到能量散发|
|此法术给予你强大的第六感,能感应到关于自己的事。只要在法术的持续时间内,你就可以选择使用此法术的效果。此法术可以给予你在任何单次的攻击检定、对抗属性检定、技能检定或豁免检定中等同于你的施法者等级的洞察加值(最高+25)。或者你也可以选择将此洞察加值加在你的AC上以对抗单次攻击(甚至在你措手不及时也可以)。产生这种效果并非一个动作;甚至在需要时,你可以在另一个人的回合发动此效果。你必须在投骰前选择使用此法术的效果。一旦法术的任何一种效果被使用,法术就终止。|
|你在同一时间身上只能拥有一个片刻预知的效果。|
''阵营:''任意守序

''生命骰:''d8

 
!!!! 本职技能
武僧的本职技能(和各技能的关键属性)为:平衡(敏捷),攀爬(力量),专注(体质),手艺(智力),交涉(魅力),脱逃术(敏捷),躲藏(敏捷),跳跃(力量),知识(神秘)(智力),知识(宗教)(智力),聆听(感知),潜行(敏捷),表演(魅力),专业(感知),察言观色(感知),侦察(感知),游泳(力量),滚翻(敏捷)。

''1级人物起始技能点:''(4+智力修正)x4

''升级技能点数:''4+智力修正。

''表:武僧''

|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!	特殊	|!	疾风连击攻击加值	|!	徒手伤害^^1^^	|!	AC加值	|!	无甲时速度加值	|
|^	1 	|^	+0	|^	+2	|^	+2	|^	+2	|^	奖励专长,疾风连击,徒手攻击	|^	-2/-2	|^	1d6	|^	+0	|^	+0 ft.	|
|^	2	|^	+1	|^	+3	|^	+3	|^	+3	|^	奖励专长,反射闪避	|^	-1/-1	|^	1d6	|^	+0	|^	+0 ft.	|
|^	3	|^	+2	|^	+3	|^	+3	|^	+3	|^	心如止水	|^	+0/+0	|^	1d6	|^	+0	|^	+10 ft.	|
|^	4	|^	+3	|^	+4	|^	+4	|^	+4	|^	斗气击(魔法武器),轻身坠20尺	|^	+1/+1	|^	1d8	|^	+0	|^	+10 ft.	|
|^	5	|^	+3	|^	+4	|^	+4	|^	+4	|^	百病不侵	|^	+2/+2	|^	1d8	|^	+1	|^	+10 ft.	|
|^	6	|^	+4	|^	+5	|^	+5	|^	+5	|^	奖励专长,轻身坠30尺	|^	+3/+3	|^	1d8	|^	+1	|^	+20 ft.	|
|^	7	|^	+5	|^	+5	|^	+5	|^	+5	|^	混元体	|^	+4/+4	|^	1d8	|^	+1	|^	+20 ft.	|
|^	8	|^	+6/+1	|^	+6	|^	+6	|^	+6	|^	轻身坠40尺	|^	+5/+5/+0	|^	1d10	|^	+1	|^	+20 ft.	|
|^	9	|^	+6/+1	|^	+6	|^	+6	|^	+6	|^	精通反射闪避	|^	+6/+6/+1	|^	1d10	|^	+1	|^	+30 ft.	|
|^	10	|^	+7/+2	|^	+7	|^	+7	|^	+7	|^	斗气击(守序武器),轻身坠50尺	|^	+7/+7/+2	|^	1d10	|^	+2	|^	+30 ft.	|
|^	11	|^	+8/+3	|^	+7	|^	+7	|^	+7	|^	金刚体,高级疾风连击	|^	+8/+8/+8/+3	|^	1d10	|^	+2	|^	+30 ft.	|
|^	12	|^	+9/+4	|^	+8	|^	+8	|^	+8	|^	遁术,轻身坠60尺	|^	+9/+9/+9/+4	|^	2d6	|^	+2	|^	+40 ft.	|
|^	13	|^	+9/+4	|^	+8	|^	+8	|^	+8	|^	金刚魂	|^	+9/+9/+9/+4	|^	2d6	|^	+2	|^	+40 ft.	|
|^	14	|^	+10/+5	|^	+9	|^	+9	|^	+9	|^	轻身坠70尺	|^	+10/+10/+10/+5	|^	2d6	|^	+2	|^	+40 ft.	|
|^	15	|^	+11/+6/+1	|^	+9	|^	+9	|^	+9	|^	渗透劲	|^	+11/+11/+11/+6/+1	|^	2d6	|^	+3	|^	+50 ft.	|
|^	16	|^	+12/+7/+2	|^	+10	|^	+10	|^	+10	|^	斗气击(精金武器),轻身坠80尺	|^	+12/+12/+12/+7/+2	|^	2d8	|^	+3	|^	+50 ft.	|
|^	17	|^	+12/+7/+2	|^	+10	|^	+10	|^	+10	|^	不老身躯,天语通	|^	+12/+12/+12/+7/+2	|^	2d8	|^	+3	|^	+50 ft.	|
|^	18	|^	+13/+8/+3	|^	+11	|^	+11	|^	+11	|^	轻身坠90尺.	|^	+13/+13/+13/+8/+3	|^	2d8	|^	+3	|^	+60 ft.	|
|^	19	|^	+14/+9/+4	|^	+11	|^	+11	|^	+11	|^	空灵体	|^	+14/+14/+14/+9/+4	|^	2d8	|^	+3	|^	+60 ft.	|
|^	20	|^	+15/+10/+5	|^	+12	|^	+12	|^	+12	|^	超凡入圣,无限轻身坠	|^	+15/+15/+15/+10/+5	|^	2d10	|^	+4	|^	+60 ft.	|

1 该数值属于中体型武僧。参见表:小体型或大体型武僧徒手伤害。
 


 

!!!! 职业特性
以下是武僧的职业特性。

''武器和防具擅长:''武僧擅长使用木棒,弩(轻弩或重弩),匕首,手斧,标枪,单镰,双截棍,木棍,十手,手里剑,破魔椎,投石器。

武僧不擅长使用任何盔甲或盾牌。

当穿戴盔甲,使用盾牌,或者负重为中载或重载时,武僧将失去他的AC加值,快速移动和疾风连击能力也将失去。

''AC加值(特异能力):''当不穿甲也没负重拖累时,武僧可以将其感知加值(如果有加值)加在他的AC上。另外,5级武僧AC上可以获得+1加值。之后每5个武僧等级该加值都将增加一点(10级+2,15级+3, 20级可以获得+4)。

在对抗接触攻击或者武僧措手不及时该加值依然起作用。当他无法动作或者无助时他将失去此加值。当他穿戴任何盔甲,使用盾牌,或者负重达到中载或重载时都将失去此加值。

''疾风连击(Flurry of Blows,特异能力):''当空手时,武僧可以牺牲准确性来换取以疾风连击攻击的能力。当他这么做时,他可以以他最高的基本攻击加值进行一次额外的攻击,但是这次攻击命中要受到-2减值,本轮中其他攻击也都要受到同样的减值。基本攻击加值调整值已经列在表:武僧的疾风连击列内。当武僧等级达到5级时,该减值降低到-1,9级起,该减值消失。武僧必须使用全力攻击动作来进行疾风连击。

在使用疾风连击时,武僧可以只进行徒手击打,也可以使用特殊武僧武器(单镰,双截棍,木棍,十手,手里剑,破魔椎)。只要愿意,他也可以交替使用徒手和武僧武器进行攻击。当使用武器进行疾风连击时,无论武器是单手拿或者双手拿,在所有成功命中的伤害检定上都使用武僧的力量加值(并非一又二分之一加值或二分之一加值)。武僧不能使用其他非武僧武器来做疾风攻击。

在以木棍进行疾风连击的情况中,木棍的每一头都认为是独立的武器。因此只要有足够的攻击次数,即使木棍需要双手使用,武僧依然可以交替使用徒手击打和木棍攻击进行疾风连击。

当武僧达到11级时,他的疾风连击能力有所进步。除了原本疾风连击提供的一次额外攻击机会,他还可以再得到一次额外攻击,该攻击使用他完整的基本攻击加值。

''徒手击打:''一级时,武僧获得精通徒手击打专长为额外专长。武僧的攻击可以用双拳,也可以用肘,膝,或脚。这意味着武僧甚至可以在双手都满着的情况下进行徒手攻击。对武僧的徒手攻击来说,没有副手攻击这个概念。武僧可以将其完整的力量加值加在所有的徒手攻击上。

通常武僧的徒手攻击造成的是正常伤害,不过他也可以选择造成非致命伤而不必受到任何命中减值。在擒抱时他同样可以选择造成何种伤害。

在考虑增强人工武器或天生武器的法术效果时,武僧的徒手攻击既视为人工武器又视为天生武器。

武僧的徒手击打能造成比普通人更多的伤害,见表:武僧。该表中的徒手攻击伤害为中体型武僧的数值,小体型武僧造成的伤害较少,大体型武僧则能造成较多的伤害,见表:小体型和大体型武僧徒手攻击。

 

''表:小体型或大体型武僧徒手伤害''

|!	等级	|!	伤害 (小体型武僧)	|!	伤害 (大体型武僧)	|
|^	1-3 	|^	1d4	|^	1d8	|
|^	4-7 	|^	1d6	|^	2d6	|
|^	8-11 	|^	1d8	|^	2d8	|
|^	12-15 	|^	1d10	|^	3d6	|
|^	16-19 	|^	2d6	|^	3d8	|
|^	20 	|^	2d8	|^	4d8	|


 

''奖励专长:''一级时,武僧可以选择精通擒抱或者震慑拳作为奖励专长。2级时可以选择战斗反射或者拨挡飞箭为奖励专长。6级时则可以选择精通卸除武器或者精通拌摔。武僧不需要达到这些专长的先决条件就可以选择这些专长。

''反射闪避(Evasion,特异能力):''有些攻击效果若通过反射检定可以减少一半伤害,如果武僧遭到此类攻击,在通过反射检定后他将不受伤害。武僧只有在穿轻甲或不穿甲时才可以进行反射闪避。无助状态下的武僧不能进行反射闪避。

''快速移动(Fast Movement,特异能力):''三级起,武僧的速度获得增强加值,见表:武僧。穿着盔甲或负重达到中载或重载的武僧将失去此额外速度。

''心如止水(Still Mind,特异能力):''三级起武僧在对抗惑控系法术和效果时在豁免检定上有+2加值。

''斗气击(Ki Strike,超自然能力):''4级起,武僧的徒手攻击中灌注着气。在对具有伤害减免的怪物造成伤害时,他的徒手攻击视为魔法武器。斗气击的力量会随着武僧等级提升而增强。10级起,在攻击具有伤害减免的怪物时,武僧的徒手攻击同时视为守序武器。16级起,武僧在攻击具有伤害减免的怪物和攻破硬度时徒手攻击视为精金武器。

''轻身坠(Slow Fall,特异能力):''4级起,武僧可以利用身边的墙来减缓自己下坠的速度。当使用此能力后,计算坠落伤害时高度要减去20尺。减缓下坠的效果(即计算伤害时扣除的高度)会随着武僧等级提升而增强,直到20级时他可以利用身边的墙下落而不受任何伤害。

''百病不侵(Purity of Body,特异能力):''5级起,武僧免疫任何疾病,除非是超自然疾病或魔法疾病。

''混元体(Wholeness of Body,超自然能力):''7级起,武僧可以治疗自身的伤口。每天他可以治疗自身生命值上限等于他武僧等级的两倍,他可以分几次使用此能力。

''精通反射闪避(Improved Evasion,特异能力):''9级起,武僧的反射闪避能力获得提升。在遭受一些通过反射检定可以减少一半伤害的攻击时,武僧通过反射检定后将不受伤害,如果未通过检定也只收到一半伤害。无助状态下的武僧不能进行反射闪避。

''金刚体(Diamond Body,超自然能力):''11级起,武僧免疫所有种类毒素。

''遁术(Abundant Step,超自然能力):''12级起,武僧可以如魔法般的在空间内瞬移,就像使用次元门(dimension door)法术一样,该能力每天可以使用一次。他的施法者等级为他武僧等级的一半(去掉小数)。

''金刚魂(Diamond Soul,特异能力):''13级起,武僧获得法术抗力,抗力值等于他的武僧等级+10。要对此武僧使用魔法,施法者必须在施法者等级检定(1d20+施法者等级)中得到和武僧法术抗力相等或更高的结果。

''渗透劲(Quivering Palm,超自然能力):''15级起,武僧能在其他生物体内制造一种震荡,之后如果武僧愿意,这震动足以致命。武僧每周可以使用一次渗透劲,必须在攻击检定前声明。此能力对构造生物、泥状生物、植物生物、不死生物,以及其他免疫重击的生物无效。除此之外,只要武僧成功的击打到对方并且造成了伤害,那么渗透劲就成功了。这之后武僧可以在一定天数内尝试杀死对方,该时间期限天数为他的武僧等级。要做杀死对方,武僧只需要用意念让对方死即可(即时动作),如果对方没有通过强韧检定(DC=10+1/2武僧等级+武僧感知修正),它就死了。如果该豁免检定获得成功,对方将不会再因这次渗透劲而受到伤害,但是他依然可能被之后其他渗透劲攻击所伤。

''不老身躯(Timeless Body,特异能力):''17级起,武僧不再因为年龄而受到属性减值,也不会因为魔法变老。之前已经受到的减值将保留。属性加值仍然可以获得,并且武僧还是会因为命尽而死去。

''天语通(Tongue of the Sun and Moon,特异能力):''17级或更高等级的武僧可以和任何活着的生物交谈。

''空灵体(Empty Body,超自然能力):''19级起,武僧可以进入灵体状态,效果如同同游灵界(etherealness)法术,每日可以进入灵体状态的时间轮数等于他的武僧等级。他可以在一天内多次进入灵体状态,只要总花费时间不超过他的武僧等级即可。

''超凡入圣(Perfect Self):''20级时,武僧变成魔法生物。从此以后,在考虑法术和魔法效果时,武僧都将永远被视为异界生物而不是原来的类人生物(或者武僧本来的生物类型)。同时,武僧获得了10/魔法武器的伤害减免能力,即在受到非魔法武器攻击或没有类似伤害减免的生物进行的天生武器攻击时,武僧都可以忽略前10点伤害。和其他异界生物不同,武僧依然可以被复活,如同他还属于之前的生物类型一样。

 

!!!! 前武僧(Ex-Monks)
变为非守序的武僧将无法继续提升武僧等级,但是依然会保留所有武僧能力。

和其他职业一样,武僧也可以兼职,但是兼职武僧有特殊的限制。一旦武僧获得一个新的职业,或者提升另外一个职业等级(如果他之前已经兼职),那么他将再也不能提升武僧等级,但是所有武僧能力还继续保留。
!!Monkey(猴 )

''超小型动物''

|''生命骰:'' 1d8 (4 hp)|
|''先攻权:'' +2|
|''速度:'' 30尺 (6格),攀爬30尺|
|''防御等级:'' 14 (+2体型,+2敏捷),接触14,措手不及12|
|''基本攻击/擒抱:'' +0/ -12|
|''攻击:'' 啮咬 +4 近战 (1d3-4)|
|''全回合攻击:'' 啮咬 +4 近战 (1d3-4)|
|''面宽/触及:'' 2-1/2尺/ 0尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉|
|''豁免:'' 强韧+2,反射+4,意志+1|
|''属性:'' 力量3,敏捷15,体质10,智力2,感知12,魅力5|
|''技能:'' 平衡+12,攀爬+10,躲藏+10,聆听+3,侦察+3|
|''专长:'' 灵活,武器娴熟|
|''环境:'' 温暖的森林|
|''组织:'' 成群 (10-40)|
|''挑战等级:'' 1/ 6|
|''进化:'' 2-3HD (小型)|
|''等级调整:'' -|

这里列出的数据可以用在如疣猴或卷尾猴之类的任何体型不超过家猫的树栖猴类上。

!!!战斗
猴通常会逃跑到树林中安全的地方,但如果无处可逃的话也会凶猛的战斗。

''技能:''在进行平衡和攀爬检定时猴可获得+8的种族加值。猴可以在攀爬检定中总是取10,即使在很匆忙或受到威胁时也一样。猴在进行攀爬检定时使用其敏捷调整值代替力量调整值进行检定。

|!		|!	超小型变种蜈蚣 (Monstrous Centipede, Tiny)	|!	小型变种蜈蚣 (Monstrous Centipede, Small)	|!	中型变种蜈蚣 (Monstrous Centipede, Medium)	|
|!		|!	超小型虫类生物	|!	小型虫类生物	|!	中型虫类生物	|
|^	''生命骰:''	|^	1/4 d8 (1 hp)	|^	1/2 d8 (2 hp)	|^	1d8 (4 hp)	|
|^	''先攻权:''	|^	+2	|^	+2	|^	+2	|
|^	''速度:''	|^	20尺 (4格),攀爬20尺	|^	30尺 (6格),攀爬30尺	|^	40尺 (8格),攀爬40尺	|
|^	''防御等级:''	|^	14 (+2体型,+2敏捷),接触14,措手不及12	|^	14 (+1体型,+2敏捷,+1天生),接触13,措手不及12	|^	14 (+2敏捷,+2天生),接触12,措手不及12	|
|^	''基本攻击/擒抱:''	|^	+0/ -13	|^	+0/ -7	|^	+0/ -1	|
|^	''攻击:''	|^	啮咬 +4 近战 (1d3-5外加毒素)	|^	啮咬 +3 近战 (1d4-3外加毒素)	|^	啮咬 +2 近战 (1d6-1外加毒素)	|
|^	''全回合攻击:''	|^	啮咬 +4 近战 (1d3-5外加毒素)	|^	啮咬 +3 近战 (1d4-3外加毒素)	|^	啮咬 +2 近战 (1d6-1外加毒素)	|
|^	''面宽/触及:''	|^	2-1/2尺/ 0尺	|^	5尺/ 5尺	|^	5尺/ 5尺	|
|^	''特殊攻击:''	|^	毒素	|^	毒素	|^	毒素	|
|^	''特性:''	|^	黑暗视觉60尺,虫类生物特性	|^	黑暗视觉60尺,虫类生物特性	|^	黑暗视觉60尺,虫类生物特性	|
|^	''豁免检定:''	|^	强韧+2,反射+2,意志+0	|^	强韧+2,反射+2,意志+0	|^	强韧+2,反射+2,意志+0	|
|^	''属性:''	|^	力量1,敏捷15,体质10,智力 -,感知10,魅力2	|^	力量5,敏捷15,体质10,智力 -,感知10,魅力2	|^	力量9,敏捷15,体质10,智力 -,感知10,魅力2	|
|^	''技能:''	|^	攀爬+10,躲藏+18,侦察+4	|^	攀爬+10,躲藏+14,侦察+4	|^	攀爬+10,躲藏+10,侦察+4	|
|^	''专长:''	|^	武器娴熟	|^	武器娴熟	|^	武器娴熟	|
|^	''环境:''	|^	地底	|^	地底	|^	地底	|
|^	''组织:''	|^	成群 (8-16)	|^	成群 (2-5),或一大群 (6-11)	|^	单独或成群 (2-5)	|
|^	''挑战等级:''	|^	1/ 8	|^	1/ 4	|^	1/ 2	|
|^	''进化:''	|^	-	|^	-	|^	-	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


|!		|!	大型变种蜈蚣 (Monstrous Centipede, Large)	|!	超大型变种蜈蚣 (Monstrous Centipede, Huge)	|
|!		|!	大型虫类生物	|!	超大型虫类生物	|
|^	''生命骰:''	|^	3d8 (13 hp)	|^	6d8+6 (33 hp)	|
|^	''先攻权:''	|^	+2	|^	+2	|
|^	''速度:''	|^	40尺 (8格),攀爬40尺	|^	40尺 (8格),攀爬40尺	|
|^	''防御等级:''	|^	14 (-1体型,+2敏捷,+3天生),接触11,措手不及12	|^	16 (-2体型,+2敏捷,+6天生),接触10,措手不及14	|
|^	''基本攻击/擒抱:''	|^	+2/ +7	|^	+4/ +15	|
|^	''攻击:''	|^	啮咬 +3 近战 (1d8+1外加毒素)	|^	啮咬 +5 近战 (2d6+4外加毒素)	|
|^	''全回合攻击:''	|^	啮咬 +3 近战 (1d8+1外加毒素)	|^	啮咬 +5 近战 (2d6+4外加毒素)	|
|^	''面宽/触及:''	|^	10尺/ 5尺	|^	15尺/ 10尺	|
|^	''特殊攻击:''	|^	毒素	|^	毒素	|
|^	''特性:''	|^	黑暗视觉60尺,虫类生物特性	|^	黑暗视觉60尺,虫类生物特性	|
|^	''豁免检定:''	|^	强韧+3,反射+3,意志+1	|^	强韧+6,反射+4,意志+2	|
|^	''属性:''	|^	力量13,敏捷15,体质10,智力 -,感知10,魅力2	|^	力量17,敏捷15,体质12,智力 -,感知10,魅力2	|
|^	''技能:''	|^	攀爬+10,躲藏+6,侦察+4	|^	攀爬+11,躲藏+2,侦察+4	|
|^	''专长:''	|^	武器娴熟	|^	-	|
|^	''环境:''	|^	地底	|^	地底	|
|^	''组织:''	|^	单独或成群 (2-5)	|^	单独或成群 (2-5)	|
|^	''挑战等级:''	|^	1	|^	2	|
|^	''进化:''	|^	4-5HD (大型)	|^	7-11HD (超大型)	|
|^	''等级调整:''	|^	-	|^	-	|



|!		|!	巨型变种蜈蚣 (Monstrous Centipede, Gargantuan)	|!	超巨型变种蜈蚣 (Monstrous Centipede, Colossal)	|!	|
|!		|!	巨型虫类生物	|!	超巨型虫类生物	|!	|
|^	''生命骰:''	|^	12d8+12 (66 hp)	|^	24d8+24 (132 hp)	|^	|
|^	''先攻权:''	|^	+2	|^	+1	|^	|
|^	''速度:''	|^	40尺 (8格),攀爬40尺	|^	40尺 (8格),攀爬40尺	|^	|
|^	''防御等级:''	|^	18 (-4体型,+2敏捷,+10天生),接触8,措手不及16	|^	20 (-8体型,+2敏捷,+16天生),接触4,措手不及18	|^	|
|^	''基本攻击/擒抱:''	|^	+9/ +27	|^	+18/ +42	|^	|
|^	''攻击:''	|^	啮咬 +11 近战 (2d8+9外加毒素)	|^	啮咬 +18 近战 (4d6+12外加毒素)	|^	|
|^	''全回合攻击:''	|^	啮咬 +11 近战 (2d8+9外加毒素)	|^	啮咬 +18 近战 (4d6+12外加毒素)	|^	|
|^	''面宽/触及:''	|^	20尺/ 15尺	|^	30尺/ 20尺	|^	|
|^	''特殊攻击:''	|^	毒素	|^	毒素	|^	|
|^	''特性:''	|^	黑暗视觉60尺,虫类生物特性	|^	黑暗视觉60尺,虫类生物特性	|^	|
|^	''豁免检定:''	|^	强韧+9,反射+6,意志+4	|^	强韧+15,反射+9,意志+8	|^	|
|^	''属性:''	|^	力量23,敏捷15,体质12,智力 -,感知10,魅力2	|^	力量27,敏捷13,体质12,智力 -,感知10,魅力2	|^	|
|^	''技能:''	|^	攀爬+14,躲藏-2,侦察+4	|^	攀爬+16,躲藏-7,侦察+4	|^	|
|^	''专长:''	|^	-	|^	-	|^	|
|^	''环境:''	|^	地底	|^	地底	|^	|
|^	''组织:''	|^	单独	|^	单独	|^	|
|^	''挑战等级:''	|^	6	|^	9	|^	|
|^	''宝物:''	|^	#VALUE!	|^	#VALUE!	|^	|
|^	''进化:''	|^	17-23HD (巨型)	|^	25-48HD (超巨型)	|^	|
|^	''等级调整:''	|^	-	|^	-	|^	|
|^	''阵营:''	|^	#VALUE!	|^	#VALUE!	|^	|

!!!战斗
变种蜈蚣会攻击任何看起来像食物的东西,用它们的颚进行啮咬并射出毒液。

|!体型|!强韧豁免检定DC|!伤害|
|超小型|10|1敏捷|
|小型|10|1d2敏捷|
|中型|10|1d3敏捷|
|大型|11|1d4敏捷|
|超大型|14|1d6敏捷|
|巨型|17|1d8敏捷|
|超巨型|23|2d6敏捷|

''毒素 (Ex):''变种蜈蚣的啮咬带有剧毒。具体数据如上表所列视其体型而定。该豁免检定DC基于体质调整值。初始及后续伤害皆为表格中所列出的伤害。

''技能:''在进行侦察检定时变种蜈蚣可获得+4的种族价值,进行攀爬及躲藏检定时可获得+8的种族价值。它们可以使用其力量调整值或敏捷调整值之中的较高者进行攀爬检定。变种蜈蚣在攀爬检定中可以总是取10,即使受到威胁或注意力分散时也一样。


''人形怪物类(Monstrous Humanoid):''人形怪物与类人生物相似,但同时具有怪物或动物的特征。他们通常也具有魔法能力。

//特征://人形怪物具有以下特征。

*d8生命骰。
*基本攻击奖励等于生命骰数总和(类似于战士)。
*擅长的豁免检定:反射和意志。
*技能点数等于每个生命骰(2+智力调整值,最少为1),第一个生命骰的技能点数为它的四倍。

//特性://人形怪物拥有下列特性(除非在该生物栏目里有另有标明)。

*60尺黑暗视觉。
*熟练使用所有简单武器和它的说明中所提到的任意武器。
*熟练使用任何在它的描述中所穿戴的盔甲的同类盔甲(轻、中或重甲)以及比该盔甲轻的盔甲。说明中没有提到穿戴盔甲的人形怪物不能熟练使用盔甲。熟练使用任一盔甲的人形怪物可以熟练使用盾牌。
*人形怪物需要进食、睡眠和呼吸。

|!		|!	超小型变种蝎 (Monstrous Scorpion, Tiny)	|!	小型变种蝎 (Monstrous Scorpion, Small)	|!	中型变种蝎 (Monstrous Scorpion, Medium)	|
|!		|!	超小型虫类生物	|!	小型虫类生物	|!	中型虫类生物	|
|^	''生命骰:''	|^	1/2 d8+2 (4 hp)	|^	1d8+2 (6 hp)	|^	2d8+4 (13 hp)	|
|^	''先攻权:''	|^	+0	|^	+0	|^	+0	|
|^	''速度:''	|^	20尺 (4格)	|^	30尺 (6格)	|^	40尺 (8格)	|
|^	''防御等级:''	|^	14 (+2体型,+2天生),接触12,措手不及14	|^	14 (+1体型,+3天生),接触11,措手不及14	|^	14 (+4天生),接触10,措手不及14	|
|^	''基本攻击/擒抱:''	|^	+0/ -8	|^	+0/ -4	|^	+1/ +2	|
|^	''攻击:''	|^	爪抓 +2 近战 (1d2-4)	|^	爪抓 +1 近战 (1d3-1)	|^	爪抓 +2 近战 (1d4+1)	|
|^	''全回合攻击:''	|^	2 爪抓 +2 近战 (1d2-4)及螯刺 -3 近战 (1d2-4外加毒素)	|^	2 爪抓 +1 近战 (1d3-1)及螯刺 -4 近战 (1d3-1外加毒素)	|^	2 爪抓 +2 近战 (1d4+1)及螯刺 -3 近战 (1d4外加毒素)	|
|^	''面宽/触及:''	|^	2-1/2尺/ 0尺	|^	5尺/ 5尺	|^	5尺/ 5尺	|
|^	''特殊攻击:''	|^	紧勒 1d2-4,精通攫抓,毒素	|^	紧勒 1d3-1,精通攫抓,毒素	|^	紧勒 1d4+1,精通攫抓,毒素	|
|^	''特性:''	|^	黑暗视觉60尺,颤动感知60尺,虫类生物特性	|^	黑暗视觉60尺,颤动感知60尺,虫类生物特性	|^	黑暗视觉60尺,颤动感知60尺,虫类生物特性	|
|^	''豁免检定:''	|^	强韧+4,反射+0,意志+0	|^	强韧+4,反射+0,意志+0	|^	强韧+5,反射+0,意志+0	|
|^	''属性:''	|^	力量3,敏捷10,体质14,智力 -,感知10,魅力2	|^	力量9,敏捷10,体质14,智力 -,感知10,魅力2	|^	力量13,敏捷10,体质14,智力 -,感知10,魅力2	|
|^	''技能:''	|^	攀爬+0,躲藏+12,侦察+4	|^	攀爬+3,躲藏+8,侦察+4	|^	攀爬+5,躲藏+4,侦察+4	|
|^	''专长:''	|^	武器娴熟	|^	武器娴熟	|^	-	|
|^	''环境:''	|^	温暖的沙漠	|^	温暖的沙漠	|^	温暖的沙漠	|
|^	''组织:''	|^	成群 (8-16)	|^	成群 (2-5),或一大群 (6-11)	|^	单独或成群 (2-5)	|
|^	''挑战等级:''	|^	1/ 4	|^	1/ 2	|^	1	|
|^	''阵营:''	|^	总是中立	|^	总是中立	|^	总是中立	|
|^	''进化:''	|^	-	|^	-	|^	3-4HD (中型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


|!		|!	大型变种蝎 (Monstrous Scorpion, Large)	|!	超大型变种蝎 (Monstrous Scorpion, Huge)			|
|!		|!	大型虫类生物	|!	超大型虫类生物			|
|^	''生命骰:''	|^	5d8+10 (32 hp)	|^	10d8+30 (75 hp)			|
|^	''先攻权:''	|^	+0	|^	+0			|
|^	''速度:''	|^	50尺 (10格)	|^	50尺 (10格)			|
|^	''防御等级:''	|^	16 (-1体型,+7天生),接触9,措手不及16	|^	20 (-2体型,+12天生),接触8,措手不及20			|
|^	''基本攻击/擒抱:''	|^	+3/ +11	|^	+7/ +21			|
|^	''攻击:''	|^	爪抓 +6 近战 (1d6+4)	|^	爪抓 +11 近战 (1d8+6)			|
|^	''全回合攻击:''	|^	2 爪抓 +6 近战 (1d6+4)及螯刺 +1 近战 (1d6+2外加毒素)	|^	2 爪抓 +11 近战 (1d8+6)及螯刺 +6 近战 (2d4+3外加毒素)			|
|^	''面宽/触及:''	|^	10尺/ 5尺	|^	15尺/ 10尺			|
|^	''特殊攻击:''	|^	紧勒 1d6+4,精通攫抓,毒素	|^	紧勒 1d8+6,精通攫抓,毒素			|
|^	''特性:''	|^	黑暗视觉60尺,颤动感知60尺,虫类生物特性	|^	黑暗视觉60尺,颤动感知60尺,虫类生物特性			|
|^	''豁免检定:''	|^	强韧+6,反射+1,意志+1	|^	强韧+10,反射+3,意志+3			|
|^	''属性:''	|^	力量19,敏捷10,体质14,智力 -,感知10,魅力2	|^	力量23,敏捷10,体质16,智力 -,感知10,魅力2			|
|^	''技能:''	|^	攀爬+8,躲藏+0,侦察+4	|^	攀爬+10,躲藏-4,侦察+4			|
|^	''专长:''	|^	-	|^	-			|
|^	''环境:''	|^	温暖的沙漠	|^	温暖的沙漠			|
|^	''组织:''	|^	单独或成群 (2-5)	|^	单独或成群 (2-5)			|
|^	''挑战等级:''	|^	3	|^	7			|
|^	''阵营:''	|^	1/ 10钱币,50%工艺品,50%物品	|^	1/ 10钱币,50%工艺品,50%物品			|
|^	''进化:''	|^	6-9HD (大型)	|^	11-19HD (超大型)			|
|^	''等级调整:''	|^	-	|^	-			|

|!		|!	巨型变种蝎 (Monstrous Scorpion, Gargantuan)	|!	超巨型变种蝎 (Monstrous Scorpion, Colossal)	|
|!		|!	巨型虫类生物	|!	超巨型虫类生物	|
|^	''生命骰:''	|^	20d8+60 (150 hp)	|^	40d8+120 (300 hp)	|
|^	''先攻权:''	|^	+0	|^	-1	|
|^	''速度:''	|^	50尺 (10格)	|^	50尺 (10格)	|
|^	''防御等级:''	|^	24 (-4体型,+18天生),接触6,措手不及24	|^	26 (-8体型,-1敏捷,+25天生),接触1,措手不及26	|
|^	''基本攻击/擒抱:''	|^	+15/ +37	|^	+30/ +58	|
|^	''攻击:''	|^	爪抓 +21 近战 (2d6+10)	|^	爪抓 +34 近战 (2d8+12)	|
|^	''全回合攻击:''	|^	2 爪抓 +21 近战 (2d6+10)及螯刺 +16 近战 (2d6+5外加毒素)	|^	2 爪抓 +34 近战 (2d8+12)及螯刺 +29 近战 (2d8+6外加毒素)	|
|^	''面宽/触及:''	|^	20尺/ 15尺	|^	40尺/ 30尺	|
|^	''特殊攻击:''	|^	紧勒 2d6+10,精通攫抓,毒素	|^	紧勒 2d8+12,精通攫抓,毒素	|
|^	''特性:''	|^	黑暗视觉60尺,颤动感知60尺,虫类生物特性	|^	黑暗视觉60尺,颤动感知60尺,虫类生物特性	|
|^	''豁免检定:''	|^	强韧+15,反射+6,意志+6	|^	强韧+25,反射+12,意志+13	|
|^	''属性:''	|^	力量31,敏捷10,体质16,智力 -,感知10,魅力2	|^	力量35,敏捷8,体质16,智力 -,感知10,魅力2	|
|^	''技能:''	|^	攀爬+14,躲藏-8,侦察+4	|^	攀爬+16,躲藏-12,侦察+4	|
|^	''专长:''	|^	-	|^	-	|
|^	''环境:''	|^	温暖的沙漠	|^	温暖的沙漠	|
|^	''组织:''	|^	单独	|^	单独	|
|^	''挑战等级:''	|^	10	|^	12	|
|^	''阵营:''	|^	1/ 10钱币,50%工艺品,50%物品	|^	1/ 10钱币,50%工艺品,50%物品	|
|^	''进化:''	|^	21-39HD (巨型)	|^	41-60HD (超巨型)	|
|^	''等级调整:''	|^	-	|^	-	|


!!!战斗
变种蝎会攻击任何接近他们的生物,它们通常会向猎物展开冲锋。

''紧勒 (Ex):''一旦通过擒抱检定,变种蝎就能自动对对手造成爪抓伤害。

''精通攫抓 (Ex):''使用此能力之前,变种蝎必须通过其爪抓攻击击中对手。变种蝎可以使用其力量调整值或敏捷调整值中的较高者来进行擒抱检定。

''毒素 (Ex):''变种蝎有剧毒的螯刺。具体数据如下表所列视其体型而定。该豁免检定DC基于体质调整值。初始及后续伤害皆为表格中所列出的伤害。


|!体型|!强韧豁免检定DC|!伤害|
|超小型|12|1体质|
|小型|12|1d2体质|
|中型|13|1d3体质|
|大型|14|1d4体质|
|超大型|18|1d6体质|
|巨型|23|1d8体质|
|超巨型|33|1d10体质|

''技能:''在进行攀爬、躲藏及侦察检定时变种蝎可获得+4的种族加值。


|!		|!	超小型变种蜘蛛 (Monstrous Spider, Tiny)	|!	小型变种蜘蛛 (Monstrous Spider, Small)	|!	中型变种蜘蛛 (Monstrous Spider, Medium)	|
|!		|!	超小型虫类生物	|!	小型虫类生物	|!	中型虫类生物	|
|^	''生命骰:''	|^	1/2 d8 (2 hp)	|^	1d8 (4 hp)	|^	2d8+2 (11 hp)	|
|^	''先攻权:''	|^	+3	|^	+3	|^	+3	|
|^	''速度:''	|^	20尺 (4格),攀爬10尺	|^	30尺 (6格),攀爬20尺	|^	30尺 (6格),攀爬20尺	|
|^	''防御等级:''	|^	15 (+2体型,+3敏捷),接触15,措手不及12	|^	14 (+1体型,+3敏捷),接触14,措手不及11	|^	14 (+3敏捷,+1天生),接触13,措手不及11	|
|^	''基本攻击/擒抱:''	|^	+0/ -12	|^	+0/ -6	|^	+1/ +1	|
|^	''攻击:''	|^	啮咬 +5 近战 (1d3-4外加毒素)	|^	啮咬 +4 近战 (1d4-2外加毒素)	|^	啮咬 +4 近战 (1d6外加毒素)	|
|^	''全回合攻击:''	|^	啮咬 +5 近战 (1d3-4外加毒素)	|^	啮咬 +4 近战 (1d4-2外加毒素)	|^	啮咬 +4 近战 (1d6外加毒素)	|
|^	''面宽/触及:''	|^	2-1/2尺/ 0尺	|^	5尺/ 5尺	|^	5尺/ 5尺	|
|^	''特殊攻击:''	|^	毒素,蛛网	|^	毒素,蛛网	|^	毒素,蛛网	|
|^	''特性:''	|^	黑暗视觉60尺,颤动感知60尺,虫类生物特性	|^	黑暗视觉60尺,颤动感知60尺,虫类生物特性	|^	黑暗视觉60尺,颤动感知60尺,虫类生物特性	|
|^	''豁免检定:''	|^	强韧+2,反射+3,意志+0	|^	强韧+2,反射+3,意志+0	|^	强韧+4,反射+3,意志+0	|
|^	''属性:''	|^	力量3,敏捷17,体质10,智力 -,感知10,魅力2	|^	力量7,敏捷17,体质10,智力 -,感知10,魅力2	|^	力量11,敏捷17,体质12,智力 -,感知10,魅力2	|
|^	''技能:''	|^	攀爬+11,躲藏+15*,跳跃-4*,侦察+4*	|^	攀爬+11,躲藏+11*,跳跃-2*,侦察+4*	|^	攀爬+11,躲藏+7*,跳跃+0*,侦察+4*	|
|^	''专长:''	|^	武器娴熟	|^	武器娴熟	|^	武器娴熟	|
|^	''环境:''	|^	温带森林	|^	温带森林	|^	温带森林	|
|^	''组织:''	|^	成群 (8-16)	|^	成群 (2-5),或一大群 (6-11)	|^	单独或成群 (2-5)	|
|^	''挑战等级:''	|^	1/ 4	|^	1/ 2	|^	1	|
|^	''宝物:''	|^	无	|^	无	|^	1/ 10钱币,50%工艺品,50%物品	|
|^	''进化:''	|^	-	|^	-	|^	3HD (中型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


|!		|!	大型变种蜘蛛 (Monstrous Spider, Large)	|!	超大型变种蜘蛛 (Monstrous Spider, Huge)	|
|!		|!	大型虫类生物	|!	超大型虫类生物	|
|^	''生命骰:''	|^	4d8+4 (22 hp)	|^	8d8+16 (52 hp)	|
|^	''先攻权:''	|^	+3	|^	+3	|
|^	''速度:''	|^	30尺 (6格),攀爬20尺	|^	30尺 (6格),攀爬20尺	|
|^	''防御等级:''	|^	14 (-1体型,+3敏捷,+2天生),接触12,措手不及11	|^	16 (-2体型,+3敏捷,+5天生),接触11,措手不及13	|
|^	''基本攻击/擒抱:''	|^	+3/ +9	|^	+6/ +18	|
|^	''攻击:''	|^	啮咬 +4 近战 (1d8+3外加毒素)	|^	啮咬 +9 近战 (2d6+6外加毒素)	|
|^	''全回合攻击:''	|^	啮咬 +4 近战 (1d8+3外加毒素)	|^	啮咬 +9 近战 (2d6+6外加毒素)	|
|^	''面宽/触及:''	|^	10尺/ 5尺	|^	15尺/ 10尺	|
|^	''特殊攻击:''	|^	毒素,蛛网	|^	毒素,蛛网	|
|^	''特性:''	|^	黑暗视觉60尺,颤动感知60尺,虫类生物特性	|^	黑暗视觉60尺,颤动感知60尺,虫类生物特性	|
|^	''豁免检定:''	|^	强韧+5,反射+4,意志+1	|^	强韧+8,反射+5,意志+2	|
|^	''属性:''	|^	力量15,敏捷17,体质12,智力 -,感知10,魅力2	|^	力量19,敏捷17,体质14,智力 -,感知10,魅力2	|
|^	''技能:''	|^	攀爬+11,躲藏+3*,跳跃+2*,侦察+4*	|^	攀爬+11,躲藏-1*,跳跃+4*,侦察+4*	|
|^	''专长:''	|^	-	|^	-	|
|^	''环境:''	|^	温带森林	|^	温带森林	|
|^	''组织:''	|^	单独或成群 (2-5)	|^	单独或成群 (2-5)	|
|^	''挑战等级:''	|^	2	|^	5	|
|^	''宝物:''	|^	1/ 10钱币,50%工艺品,50%物品	|^	1/ 10钱币,50%工艺品,50%物品	|
|^	''进化:''	|^	5-7HD (大型)	|^	9-15HD (超大型)	|
|^	''等级调整:''	|^	-	|^	-	|


|!		|!	巨型变种蜘蛛 (Monstrous Spider, Gargantuan)	|!	超巨型变种蜘蛛 (Monstrous Spider, Colossal)	|
|!		|!	巨型虫类生物	|!	超巨型虫类生物	|
|^	''生命骰:''	|^	16d8+32 (104 hp)	|^	32d8+64 (208 hp)	|
|^	''先攻权:''	|^	+3	|^	+2	|
|^	''速度:''	|^	30尺 (6格),攀爬20尺	|^	30尺 (6格),攀爬20尺	|
|^	''防御等级:''	|^	19 (-4体型,+3敏捷,+10天生),接触9,措手不及16	|^	22 (-8体型,+2敏捷,+18天生),接触4,措手不及20	|
|^	''基本攻击/擒抱:''	|^	+12/ +31	|^	+24/ +50	|
|^	''攻击:''	|^	啮咬 +15 近战 (2d8+10外加毒素)	|^	啮咬 +26 近战 (4d6+15外加毒素)	|
|^	''全回合攻击:''	|^	啮咬 +15 近战 (2d8+10外加毒素)	|^	啮咬 +26 近战 (4d6+15外加毒素)	|
|^	''面宽/触及:''	|^	20尺/ 15尺	|^	40尺/ 30尺	|
|^	''特殊攻击:''	|^	毒素,蛛网	|^	毒素,蛛网	|
|^	''特性:''	|^	黑暗视觉60尺,颤动感知60尺,虫类生物特性	|^	黑暗视觉60尺,颤动感知60尺,虫类生物特性	|
|^	''豁免检定:''	|^	强韧+12,反射+8,意志+5	|^	强韧+20,反射+12,意志+10	|
|^	''属性:''	|^	力量25,敏捷17,体质14,智力 -,感知10,魅力2	|^	力量31,敏捷15,体质14,智力 -,感知10,魅力2	|
|^	''技能:''	|^	攀爬+14,躲藏-5*,跳跃+7*,侦察+4*	|^	攀爬+16,躲藏-10*,跳跃+10*,侦察+7*	|
|^	''专长:''	|^	-	|^	-	|
|^	''环境:''	|^	温带森林	|^	温带森林	|
|^	''组织:''	|^	单独	|^	单独	|
|^	''挑战等级:''	|^	8	|^	11	|
|^	''宝物:''	|^	1/ 10钱币,50%工艺品,50%物品	|^	1/ 10钱币,50%工艺品,50%物品	|
|^	''进化:''	|^	17-31HD (巨型)	|^	33-60HD (超巨型)	|
|^	''等级调整:''	|^	-	|^	-	|



所有的变种蜘蛛都是攻击性极强的掠食者,它们使用其剧毒的啮咬来克制或杀死猎物。

变种蜘蛛可分为两个类别:狩猎蛛和结网蛛。狩猎蛛到处跑来跑去,结网蛛则通常尝试用蛛网捕捉猎物。狩猎蛛能结网来做为巢穴,但不能像结网蛛一样使用蛛网作为武器。狩猎蛛的基本陆地速度比数据表中所列出的要快10尺。

!!!战斗

''毒素 (Ex):''变种蜘蛛的啮咬带有剧毒。具体数据如下表所列视其体型而定。该豁免检定DC基于体质调整值。初始及后续伤害皆为表格中所列出的伤害。


|!体型|!强韧豁免检定DC|!伤害|
|超小型|10|1力量|
|小型|10|1d2力量|
|中型|12|1d3力量|
|大型|13|1d4力量|
|超大型|16|1d6力量|
|巨型|20|1d8力量|
|超巨型|28|1d10力量|

''蛛网 (Ex):''两种变种蜘蛛通常都会在它们的蛛网上或树上等待,当猎物经过时会借由一条蛛丝安静地垂下来,然后跃到猎物身上。一条蛛丝强度足以承受蜘蛛和一个体型相同的生物的重量。

结网蛛每天能射出八次蛛网。其效果类似于使用捕网攻击,但最大射程为50尺,射程增量为10尺,并且只对体型比蜘蛛大一级或更小的生物有效。

被纠缠的生物可以通过一个成功逃脱术检定脱离或通过一个力量检定挣脱。这两者都属于标准动作且其检定DC已在下表中列出。该检定DC基于体质调整值,且力量检定DC中包括+4的种族加值。

结网蛛能够编织出一张5到60尺的方形蛛网,具体大小取决于其体型。它们通常用它来捕捉飞行生物,但也可以尝试捕捉地面上的生物。接近的生物必须通过一个DC 20的侦察检定才能发现蛛网;否则会像被结网蛛用蛛网成功击中一样被困住。如果被困住的生物有任何可以在蛛网上行走或攀附的能力的话,在进行逃离或挣脱蛛网的逃脱术或力量检定中可获得+5的加值。每5尺蛛网就拥有下表中所给出的生命值,并且这种蛛网拥有5/ -的伤害减免。

变种蜘蛛能够以其攀爬速度在它自己的蛛网移动,而且只要有任何生物接触到蛛网,它就能准确地判断出其位置。

|!体型|!逃脱术DC|!破坏DC|!生命值|
|超小型|10|14|2|
|小型|10|14|4|
|中型|12|16|6|
|大型|13|17|12|
|超大型|16|20|14|
|巨型|20|24|16|
|超巨型|28|32|18|

''颤动感知 (Ex):''变种蜘蛛能够侦测并定位到60尺范围内任何与地面相接触或任何距离内与蛛网相接触的生物或物体。

''技能:''在进行躲藏及侦察检定时变种蜘蛛可获得+4的种族加值,进行攀爬检定时可获得+8的种族加值。变种蜘蛛可在攀爬检定中总是取10,即使很匆忙或受到威胁时也一样。变种蜘蛛可使用其力量调整值或敏捷调整值中的较高者来进行攀爬检定。

*在进行跳跃检定时狩猎蛛可获得+10的种族加值,进行侦察检定时可获得+8的种族加值。结网蛛在利用其蛛网进行躲藏及潜行检定时可获得+8的种族加值。 
!!!召唤坐骑(Mount)
|咒法系(召唤)|
|''等级:''术士/法师1|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一整轮|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''一匹坐骑|
|''持续时间:''2小时/施法者每等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|你召唤一匹轻型马或矮种马(由你决定)来当作坐骑。被召唤而来的马会为你提供自愿而良好的服务,且马匹身上配有马辔、缰绳和马鞍。|
|//材料成分://一些马鬃。|
!!! 骑乘射击(MOUNTED ARCHERY)[一般专长]

''先决条件:''骑术级数1、骑乘战斗。

''效果:''在马背上使用远程武器时,减值减为一半,即当坐骑以倍速移动时,减值为-2,而非-4。当坐骑奔跑时,减值为-4,而非-8。

''特殊:''战士可以选择本专长作为其战士奖励专长。
!!!骑乘战斗(MOUNTED COMBAT)

''战斗用马:''战马和矮种战马是最适合用来战斗的乘骑。而轻型马、矮种马和重型马则会在战斗中受惊。在这种情况下,如果你没有下马,就必须每轮进行一次DC 20的骑术检定以控制住处于受惊状态下的马匹,这属于一个移动动作。如果你成功了,你就可以在该移动动作之后再进行一个标准动作。如果你失败了,该移动动作就会变成一个整轮动作,致使你在下一回合之前都无法再进行其它的任何动作。

你的坐骑在受你控制时,是依照你的先攻权数值来作出行动。你可以用它的速度来移动,但坐骑本身则是用它自己的动作来进行移动。

马(不包括矮种马)是一种大型生物,因此它可以占据一个10英尺见方的空间(边长为2个方格)。为了方便起见,在战斗时就视为你使用你的坐骑所占据的空间。

''乘骑中的战斗:''通过一个DC 5的骑术检定,你就可以用你的膝盖来控制坐骑的行进方向,这样就能腾出双手来进行攻击或是防御。这属于即时动作。

当你攻击站在地面上、比你的坐骑体型更小的生物时,由于你处于更高的位置上,所以你的近战攻击检定可以得到+1的加值。如果你的坐骑移动超过5英尺,那么你就只能进行一次近战攻击。从本质上说,你必须在攻击前等待坐骑将你带到敌人面前,因此你无法进行全力攻击。即使以坐骑的最高速度来进行移动,你在乘骑时所作出的近战攻击也不会受到任何减值。

如果你的坐骑进行冲锋,那么随着这次冲锋,你也会受到AC的减值。如果你在冲锋结束时作出了一次攻击,那么这次攻击也可以得到冲锋时的攻击加值。当你在马背上进行冲锋攻击的时候,如果使用长枪,则可以造成两倍伤害(参阅“冲锋”)。

你可以在你的坐骑进行双移动的时候使用远程武器,但是这样会在攻击检定上受到-4的减值。你也可以在你的坐骑进行奔跑(以四倍正常速度移动)的时候使用远程武器,但这样在攻击检定上会受到-8的减值。在这两种情况下,你都是在坐骑移动到一半的时候进行攻击检定投骰。你可以在坐骑移动的过程中使用远程武器进行全力攻击。同样,你也可以在乘骑时正常进行你自己的移动动作。

''乘骑中的施法:''如果你的坐骑最多只进行正常移动(以它的正常速度移动),那么在它移动之前或是之后,你可以进行正常的施法。如果你想让坐骑在你施法之前和之后都进行移动,那么就视为你是在坐骑移动的过程中施法,由于这样算是处于“有力震动”状态下的施法,因此你必须进行一次专注检定(DC=10+法术等级),否则就会失去该法术。如果坐骑进行奔跑(以四倍正常速度移动),你可以在坐骑移动到两倍正常速度的时候进行施法,由于这样算是处于“剧烈震动”状态下的施法,因此你必须进行一次更为困难的专注检定(DC=15+法术等级)。

''如果你的坐骑在战斗中跌倒:''如果你的坐骑跌倒了,你就必须通过一次DC=15的骑术检定来缓和你的落马力道,以避免受到伤害。如果该检定失败,你就会受到1d6点的伤害。

''如果你被迫落马:''如果你在战斗中被打到昏迷状态,则会有50%的几率继续留在鞍座上(如果你是坐在军用鞍座上,则该几率为75%)。否则你就会从坐骑上跌落,并受到1d6点的伤害。

如果没有你的控制,你的坐骑就会自行逃离战斗。
!!! 骑乘战斗(MOUNTED COMBAT)[一般专长]

''先决条件:''骑术级数1。

''效果:''坐骑被击中时,你可以做一次骑术检定(作为反应),若检定结果大于对手的攻击检定,则该攻击无效(换言之,若骑术检定结果大于坐骑的AC,则以骑术检定结果取代)。本专长每轮只能使用一次。

''特殊:''战士可以选择本专长作为其战士奖励专长。
!!!地动术(Move Earth)
|变化系[土]|
|''等级:''德鲁伊6,术士/法师6|
|''法术成分:''言语,姿势,材料|
|''施法时间:''见说明|
|''距离:''远距(400英尺+40英尺/每等级)|
|''区域:''长宽至多750英尺、深度至多10英尺内的泥土(可变)|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''不可|
|地动术可以移动泥土(黏土、壤土、砂土),能使堤防塌陷、搬动小丘、沙丘移位等。|
|不过不管怎样的情况,岩石地层都不会塌陷或被移动。施法时间会因为法术影响区域大小而不同。每改变边长150英尺的正方形区域(至多10英尺深)需要10分钟时间。如果要影响最大平面范围(750英尺×750英尺),则要花4小时10分钟。|
|此法术并不会剧烈破坏地表。相对的,受到影响的区域会先出现波浪状的皱折,整个地表像是冰河一样缓慢移动,直到达成特定形状。树木、房屋、岩石地层和大部分地上物,只会改变高度和地势而不会受到伤害。|
|此法术不能用来挖掘隧道,而且由于改变速度太慢,它也没办法用来困住或活埋生物。一般来说此法术主要用来挖沟,填平壕沟,或在战争前调整地形轮廓等。|
|此法术无法对土系生物产生作用。|
|//材料成分://一个装着各种泥土混合物(包括黏土、壤土、砂土等)的小袋子和一把铁刀。|
!! Move Silently(潜行)(敏捷;防具检定减值)

''检定:''你的潜行检定和要和任何可能听见你的人的聆听检定进行对抗。在以正常速度一半移动时潜行检定不受减值。如果移动速度比半速快但是比正常速度慢,在潜行检定上要受到-5减值。在攻击、奔跑、或冲锋的时候几乎不可能潜行(受到-20减值)。

很难安静的穿过会产生噪声的地表,例如沼泽或灌木丛。当试图潜行通过这类地表时,在潜行检定上会受到下面指出的减值。

|!	地表 	|!	检定修正	|
|^	会产生噪声(碎石,浅水或深泥塘,灌木丛,大量的瓦砾)	|^	-2	|
|^	能造成非常大的噪声(稠密的灌木丛,很深的雪地) 	|^	-5	|


''动作:''无。潜行检定是包含在你的移动或其他动作中的,因此它是其他动作的一部分。

''特别:''猫魔宠的主人在潜行检定上获得+3加值。

半身人在潜行检定上获得+2种族加值。

如果你有隐秘专长(Stealthy),你在潜行检定上获得+2加值。

''移动形式(Movement Modes):''生物或许有行走和奔跑之外的移动形式。除非在怪物描述中特殊说明,否则这些都是天生的、非魔法的。

//掘穴(Burrow)://该生物能够挖穿泥土,但除非描述文字中有特殊说明,否则它无法挖穿岩石。生物在掘穴时无法奔跑。大多数掘穴生物通过后不会留下其他生物可以使用的通道(或者是因为它们挖掘的东西会填满它们身后,或者是因为它们并不会在掘穴时移开任何东西);细节详见具体生物的描述。

//攀爬(Climb)://具有攀爬速度的生物在进行所有攀爬检定时获得+8的种族加值。该生物必须在攀爬任何DC大于0的墙或斜坡时进行攀爬检定,但它可以始终取10,即使在攀爬过程中被袭击或有威胁存在。该生物能以给出的攀爬速度进行攀爬。如果它选择加速攀爬,则可以双倍于给出的速度(或它的基本地面速度,取其低者)移动,但这需要做一次有-5减值的攀爬检定。生物在攀爬时无法奔跑。该生物在攀爬时保留它的AC敏捷加值(如果存在),对手对于它的攻击也没有特殊奖励。

//飞行(Fly)://具有飞行速度的生物如果携带的东西不超过轻度负荷,就可以以给出的速度飞行。(注意穿着中甲并不意味着中度负荷。)所有飞行速度都包括一个附加说明来描述它的机动性,如下:

*完美(Perfect):该生物可以做出几乎所有它想做的飞行动作。它在空中的移动就如同人类在平地行走一样简单。
*良好(Good):该生物在空中非常敏捷(就如家蝇或蜂鸟),但它不能像具有完美机动性的生物那样迅速的改变方向。
*普通(Average):该生物的飞行象小鸟一样熟练。
*不良(Poor):该生物的飞行类似于一只很大的鸟。
*笨拙(Clumsy):该生物在空中几乎无法机动。

具备飞行能力的生物可以展开俯冲攻击。俯冲攻击的方式类似于冲锋,但俯冲攻击的生物必须移动至少30英尺并下降至少10英尺。它只能用爪攻击,但这种攻击能造成双倍伤害。

生物可以在飞行时使用奔跑动作,但前提是按直线飞行。

//游泳(Swim)://具有游泳速度的生物可以在水中以它的游泳速度移动而无须进行游泳检定。在作出特殊动作或躲避灾祸影响要进行任何游泳检定时,它可以获得+8的种族加值。该生物始终可以在游泳检定中取10, 即使被干扰或遇到危险。生物可以在游泳时使用奔跑动作,但前提是按直线游泳。

!!Mule(骡 )

''大型动物''

|''生命骰:'' 3d8+9 (22 hp)|
|''先攻权:'' +1|
|''速度:'' 30尺 (6格)|
|''防御等级:'' 13 (-1体型,+1敏捷,+3天生),接触10,措手不及12|
|''基本攻击/擒抱:'' +2/ +9|
|''攻击:'' 蹄踢 +4 近战 (1d4+3)|
|''全回合攻击:'' 2 蹄踢 +4 近战 (1d4+3)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+6,反射+4,意志+1|
|''属性:'' 力量16,敏捷13,体质17,智力2,感知11,魅力6|
|''技能:'' 聆听+6,侦察+6|
|''专长:'' 警觉,坚忍|
|''环境:'' 温暖的平原|
|''组织:'' 被驯养|
|''挑战等级:'' 1|
|''进化:'' -|
|''等级调整:'' -|


骡是驴和马所生的混血品种。骡类似于轻型马,但略微强壮也更灵活。

!!!战斗
骡有力的蹄踢是很危险的。

''负重能力:''对骡而言230磅为轻载;231-460磅为中载;461-690磅为重载。骡可以拖动3450磅重的东西。

''技能:''在进行避免滑倒或摔倒的敏捷检定时骡可获得+2的种族加值。
!!Mummy(木乃伊)

''中型不死生物''

|''生命骰:'' 8d12+3(55hp)|
|''先攻权:'' +0|
|''速度:'' 20尺(4格)|
|''防御等级:'' 20(+10天生),接触10,措手不及20|
|''基本攻击/擒抱:'' +4/+11|
|''攻击:'' 挥击+11近战(1d6+10外加腐尸症)|
|''全回合攻击:'' 挥击+11近战(1d6+10外加腐尸症)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 绝望,腐尸症|
|''特性:'' 伤害减免5/-,黑暗视觉60尺,不死生物特性,易受火焰伤害|
|''豁免:'' 强韧+4,反射+2,意志+8|
|''属性:'' 力量24,敏捷10,体质-,智力6,感知14,魅力15|
|''技能:'' 躲藏+7,聆听+8,潜行+7,侦察+8|
|''专长:'' 警觉,强韧加强,健壮|
|''环境:'' 任意|
|''组织:'' 单独,看守队(2-4),或守卫队(6-10)|
|''挑战等级:'' 5|
|''宝物:'' 标准|
|''阵营:'' 通常是守序邪恶|
|''进化:'' 9-16HD(中型);17-24HD(大型)|
|''等级调整:'' -|


木乃伊是经由被遗忘的黑暗沙漠神祉眷宠而活化的经过防腐处理的尸体。

大多数木乃伊有5到6尺高,重约120磅。

木乃伊会说通用语,但是极少开口。

!!!战斗

''绝望 (Su):''只要看到木乃伊一眼,观察者就必须通过一个DC 16的意志豁免检定否则就会因恐惧而麻痹1d4轮。无论是否通过此豁免检定,该生物在24小时之内不会再被同一木乃伊的绝望能力所影响。该豁免检定DC基于魅力调整值。

''腐尸症 (Su):''超自然疾病 - 挥击,强韧豁免检定DC 16,潜伏期1分钟;造成1d6点体质伤害与1d6点魅力伤害。该豁免检定DC基于魅力调整值。

与普通疾病不同,腐尸症一直发作下去直到受害者的体质值降到0或被下述方法治愈。

腐尸症是一种强力的诅咒,而非自然疾病。任何尝试在受传染的生物身上施放任何咒法 (医疗)法术的人物必须通过一个DC 20的施法等级检定,否则法术将对受传染的人物无效。

要解除腐尸症的话,此诅咒必须先被破除结界或移除诅咒法术所破解 (需要通过DC 20的施法等级检定),然后再向受害者施放医疗法术时就不再需要进行施法等级检定,而且腐尸症也可以如其他普通疾病一样被魔法治愈。

受腐尸症传染而死亡的生物会变成一堆沙尘,被风吹过就什么都不剩了。
''生命骰:''d4。

!!!!先决条件

要具备秘术师的资格,人物必须符合以下全部条件。

''技能:''知识(神秘)6级,知识(宗教)6级。

''法术:''能够施展2级神术和2级奥术。

!!!!本职技能
秘术师的本职技能如下(括号中为该技能的关键属性):专注(体质),手艺(智力),解读文书(智力),知识(神秘)(智力),知识(宗教)(智力),专业(感知),察言观色(感知),辨识法术(智力)。

''升级技能点数:''2+智力调整值。

 

''表:秘术师''

|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!	每日法术数量	|
|^	1	|^	+0	|^	+0	|^	+0	|^	+2	|^	现有奥术施法职业等级+1/现有神术施法职业等级+1	|
|^	2	|^	+1	|^	+0	|^	+0	|^	+3	|^	现有奥术施法职业等级+1/现有神术施法职业等级+1	|
|^	3	|^	+1	|^	+1	|^	+1	|^	+3	|^	现有奥术施法职业等级+1/现有神术施法职业等级+1	|
|^	4	|^	+2	|^	+1	|^	+1	|^	+4	|^	现有奥术施法职业等级+1/现有神术施法职业等级+1	|
|^	5	|^	+2	|^	+1	|^	+1	|^	+4	|^	现有奥术施法职业等级+1/现有神术施法职业等级+1	|
|^	6	|^	+3	|^	+2	|^	+2	|^	+5	|^	现有奥术施法职业等级+1/现有神术施法职业等级+1	|
|^	7	|^	+3	|^	+2	|^	+2	|^	+5	|^	现有奥术施法职业等级+1/现有神术施法职业等级+1	|
|^	8	|^	+4	|^	+2	|^	+2	|^	+6	|^	现有奥术施法职业等级+1/现有神术施法职业等级+1	|
|^	9	|^	+4	|^	+3	|^	+3	|^	+6	|^	现有奥术施法职业等级+1/现有神术施法职业等级+1	|
|^	10	|^	+5	|^	+3	|^	+3	|^	+7	|^	现有奥术施法职业等级+1/现有神术施法职业等级+1	|


!!!!职业特性

下述均为秘术师进阶职业的职业特性:

''武器和防具擅长:''秘术师不获得任何武器或防具的擅长。

''每日法术数量:''秘术师每次升级,每日法术数量都会增加,就像之前奥术施法职业和神术施法职业都获得提升一样,但不能获得之前施法职业的其它能力。秘术师等级加上所具备的其它施法职业等级,决定其每日法术数量、可知法术与施法者等级。这意味着他可以将秘术师等级加上其它奥术和神术施法职业等级来决定其每日法术数量和相关施法者等级。

若人物在成为秘术师之前拥有多个神术职业或多个奥术职业,则必须选择要将此升级的秘术师等级各加在哪一种神术职业和奥术职业上,以决定新的每日法术数量。

 

[
    {
        "title": "HelloThere",
        "fromPageRect": {
            "top": 150.4499969482422,
            "left": 266,
            "width": 71,
            "right": 337,
            "bottom": 168.4499969482422,
            "height": 18
        }
    },
    {
        "title": "恐惧",
        "fromPageRect": {
            "top": 150.4499969482422,
            "left": 266,
            "width": 30,
            "right": 296,
            "bottom": 168.4499969482422,
            "height": 18
        }
    },
    {
        "title": "恐惧",
        "fromPageRect": {
            "top": 150.4499969482422,
            "left": 266,
            "width": 30,
            "right": 296,
            "bottom": 168.4499969482422,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 498.683349609375,
            "left": 1146.8333740234375,
            "width": 86,
            "right": 1232.8333740234375,
            "bottom": 514.683349609375,
            "height": 16
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 366.683349609375,
            "left": 969.8333129882812,
            "width": 86,
            "right": 1055.8333129882812,
            "bottom": 382.683349609375,
            "height": 16
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 297.8999938964844,
            "left": 85,
            "width": 85,
            "right": 170,
            "bottom": 315.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 297.8999938964844,
            "left": 85,
            "width": 85,
            "right": 170,
            "bottom": 315.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 260.8999938964844,
            "left": 85,
            "width": 90,
            "right": 175,
            "bottom": 278.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 297.8999938964844,
            "left": 85,
            "width": 85,
            "right": 170,
            "bottom": 315.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 260.8999938964844,
            "left": 85,
            "width": 90,
            "right": 175,
            "bottom": 278.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 260.8999938964844,
            "left": 85,
            "width": 90,
            "right": 175,
            "bottom": 278.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 260.8999938964844,
            "left": 85,
            "width": 90,
            "right": 175,
            "bottom": 278.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 260.8999938964844,
            "left": 85,
            "width": 90,
            "right": 175,
            "bottom": 278.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 260.8999938964844,
            "left": 85,
            "width": 90,
            "right": 175,
            "bottom": 278.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 297.8999938964844,
            "left": 85,
            "width": 85,
            "right": 170,
            "bottom": 315.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 297.8999938964844,
            "left": 85,
            "width": 85,
            "right": 170,
            "bottom": 315.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 297.8999938964844,
            "left": 85,
            "width": 85,
            "right": 170,
            "bottom": 315.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 297.8999938964844,
            "left": 85,
            "width": 85,
            "right": 170,
            "bottom": 315.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 297.8999938964844,
            "left": 85,
            "width": 85,
            "right": 170,
            "bottom": 315.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 297.8999938964844,
            "left": 85,
            "width": 85,
            "right": 170,
            "bottom": 315.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 260.8999938964844,
            "left": 85,
            "width": 90,
            "right": 175,
            "bottom": 278.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 282.8999938964844,
            "left": 85,
            "width": 90,
            "right": 175,
            "bottom": 300.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 287.8500061035156,
            "left": 392,
            "width": 86,
            "right": 478,
            "bottom": 303.8500061035156,
            "height": 16
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 321.8500061035156,
            "left": 392,
            "width": 80,
            "right": 472,
            "bottom": 337.8500061035156,
            "height": 16
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 321.8500061035156,
            "left": 392,
            "width": 80,
            "right": 472,
            "bottom": 337.8500061035156,
            "height": 16
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 287.8500061035156,
            "left": 392,
            "width": 86,
            "right": 478,
            "bottom": 303.8500061035156,
            "height": 16
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 319.8999938964844,
            "left": 85,
            "width": 85,
            "right": 170,
            "bottom": 337.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 319.8999938964844,
            "left": 85,
            "width": 85,
            "right": 170,
            "bottom": 337.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 282.8999938964844,
            "left": 85,
            "width": 90,
            "right": 175,
            "bottom": 300.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 262.9666748046875,
            "left": 125,
            "width": 84,
            "right": 209,
            "bottom": 280.9666748046875,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 240.96665954589844,
            "left": 125,
            "width": 90,
            "right": 215,
            "bottom": 258.96665954589844,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 240.96665954589844,
            "left": 125,
            "width": 90,
            "right": 215,
            "bottom": 258.96665954589844,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 240.96665954589844,
            "left": 125,
            "width": 90,
            "right": 215,
            "bottom": 258.96665954589844,
            "height": 18
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 262.9666748046875,
            "left": 125,
            "width": 84,
            "right": 209,
            "bottom": 280.9666748046875,
            "height": 18
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 262.9666748046875,
            "left": 125,
            "width": 84,
            "right": 209,
            "bottom": 280.9666748046875,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 240.96665954589844,
            "left": 125,
            "width": 90,
            "right": 215,
            "bottom": 258.96665954589844,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 512.5833129882812,
            "left": 125,
            "width": 90,
            "right": 215,
            "bottom": 530.5833129882812,
            "height": 18
        }
    },
    {
        "title": "Aberration Type(异怪类)",
        "fromPageRect": {
            "top": 282.8999938964844,
            "left": 125,
            "width": 176,
            "right": 301,
            "bottom": 300.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Ability Score Loss(属性值减少)",
        "fromPageRect": {
            "top": 304.8999938964844,
            "left": 125,
            "width": 221,
            "right": 346,
            "bottom": 322.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Air Subtype(气系亚种)",
        "fromPageRect": {
            "top": 326.8999938964844,
            "left": 125,
            "width": 164,
            "right": 289,
            "bottom": 344.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Alternate Form(变化形态)",
        "fromPageRect": {
            "top": 348.8999938964844,
            "left": 125,
            "width": 186,
            "right": 311,
            "bottom": 366.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Angel Subtype(天使亚种)",
        "fromPageRect": {
            "top": 370.8999938964844,
            "left": 125,
            "width": 183,
            "right": 308,
            "bottom": 388.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Animal Type(动物类)",
        "fromPageRect": {
            "top": 392.8999938964844,
            "left": 125,
            "width": 154,
            "right": 279,
            "bottom": 410.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fear(恐惧)",
        "fromPageRect": {
            "top": 414.8999938964844,
            "left": 125,
            "width": 90,
            "right": 215,
            "bottom": 432.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 436.8999938964844,
            "left": 125,
            "width": 84,
            "right": 209,
            "bottom": 454.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fey(精类)",
        "fromPageRect": {
            "top": 436.8999938964844,
            "left": 125,
            "width": 84,
            "right": 209,
            "bottom": 454.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fey Type(精类)",
        "fromPageRect": {
            "top": 436.8999938964844,
            "left": 125,
            "width": 119,
            "right": 244,
            "bottom": 454.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Fey Type(精类)",
        "fromPageRect": {
            "top": 436.8999938964844,
            "left": 125,
            "width": 119,
            "right": 244,
            "bottom": 454.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Animal Type(动物类)",
        "fromPageRect": {
            "top": 392.8999938964844,
            "left": 125,
            "width": 154,
            "right": 279,
            "bottom": 410.8999938964844,
            "height": 18
        }
    },
    {
        "title": "Angel Subtype(天使亚种)",
        "fromPageRect": {
            "top": 606.9166870117188,
            "left": 125,
            "width": 183,
            "right": 308,
            "bottom": 624.9166870117188,
            "height": 18
        }
    },
    {
        "title": "Augmented Subtype(增强亚种)",
        "fromPageRect": {
            "top": 417.3833312988281,
            "left": 125,
            "width": 221,
            "right": 346,
            "bottom": 435.3833312988281,
            "height": 18
        }
    },
    {
        "title": "Aberration Type(异怪类)",
        "fromPageRect": {
            "top": 225.5500030517578,
            "left": 125,
            "width": 176,
            "right": 301,
            "bottom": 243.5500030517578,
            "height": 18
        }
    },
    {
        "title": "Aberration Type(异怪类)",
        "fromPageRect": {
            "top": 109.38333129882812,
            "left": 125,
            "width": 176,
            "right": 301,
            "bottom": 127.38333129882812,
            "height": 18
        }
    }
]

所有纳迦都拥有细长的、被闪烁的鳞片所覆盖的蛇形身体,以及多少有些类似于人类的面孔。它们身长在10到20尺之间,体重在200到500磅之间。纳迦的眼睛明亮慧诘,燃烧着一种几乎可将人催眠的心灵之光。

!!!战斗
纳迦偏爱法术胜于其他类型的战斗。因为它们总是在其守卫且熟知的巢穴中出现,所以它们可以按自己的意愿来安排大多数的遭遇。


!!!Dark Naga(暗纳迦)

''大型异怪''

|''生命骰:'' 9d8+18(58hp)|
|''先攻权:'' +2|
|''速度:'' 40尺(8格)|
|''防御等级:'' 14(-1体型,+2敏捷,+3天生),接触11,措手不及12|
|''基本攻击/擒抱:'' +6/+12|
|''攻击:'' 螯刺+7近战(2d4+2外加毒素)|
|''全回合攻击:'' 螯刺+7近战(2d4+2外加毒素)及啮咬+2近战(1d4+1)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 毒素,法术|
|''特性:'' 黑暗视觉60尺,侦测思想,守护西向,对毒素免疫,魅惑抗力|
|''豁免:'' 强韧+5,反射+7,意志+8|
|''属性:'' 力量14,敏捷15,体质14,智力16,感知15,魅力17|
|''技能:'' 唬骗+9,专注+13,交涉+7,易容+5(+7表演),威吓+5,聆听+11,察言观色+8,法术辨识+12,侦察+11|
|''专长:'' 警觉,战斗施法,闪避,施法免材,闪电反射|
|''环境:'' 温带山区|
|''组织:'' 单独或一窝(2-4)|
|''挑战等级:'' 8|
|''宝物:'' 标准|
|''阵营:'' 通常是守序邪恶|
|''进化:'' 10-13HD(大型);14-27HD(超大型)|
|''等级调整:'' -|


暗纳迦会说通用语和炼狱语。

!!!!战斗
暗纳迦喜欢在能综观战场并不会被接触到的高处作战。

''毒素 (Ex):''伤口,通过DC 16的强韧豁免检定否则会进入恶梦不断的睡眠2d4分钟。该豁免检定DC基于体质调整值。

''法术:''暗纳迦可如等级7的术士一样施放法术。

//典型术士已知法术 (6/ 7/ 7/ 5;豁免DC 13 + 法术等级)://

|0级 - 晕眩术,侦测魔法,光亮术,法师之手,开关术,冰冻射线,阅读魔法;|
|1级 - 脚底抹油,魔法飞弹,衰弱射线,护盾术,无声幻影;|
|2级 - 猫之优雅,隐形术,灼热射线;|
|3级 - 移位术,闪电束。|

''魅惑抗力:''暗纳迦在通过豁免检定对抗所有魅惑效果时可获得+2的种族加值 (资料表中未包括此加值)。

''侦测思想 (Su):''暗纳迦处于持续地使用侦测思想法术状态中 (施法等级9;通过DC 15的意志豁免检定则无效)。此能力总是处于激活状态。该豁免检定DC基于魅力调整值。

''守护思想 (Ex):''暗纳迦对任何形式的读取心灵能力免疫。


!!!Guardian Naga(巡守纳迦)

''大型异怪''

|''生命骰:'' 11d8+44(93hp)|
|''先攻权:'' +2|
|''速度:'' 40尺(8格)|
|''防御等级:'' 18(-1体型,+2敏捷,+7天生),接触11,措手不及16|
|''基本攻击/擒抱:'' +8/+17|
|''攻击:'' 啮咬+12近战(2d6+7外加毒素);或喷吐毒液+9远程接触(毒素)|
|''全回合攻击:'' 啮咬+12近战(2d6+7外加毒素);或喷吐毒液+9远程接触(毒素)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 毒素,喷吐毒液,法术|
|''特性:'' 黑暗视觉60尺|
|''豁免:'' 强韧+7,反射+7,意志+11|
|''属性:'' 力量21,敏捷14,体质19,智力16,感知19,魅力18|
|''技能:'' 唬骗+18,专注+19,聆听+13,交涉+8,易容+4(+6表演),威吓+6,察言观色+18,法术辨识+17,侦察+13|
|''专长:'' 警觉,战斗施法,闪避,施法免材,闪电反射|
|''环境:'' 温带平原|
|''组织:'' 单独或一窝(2-4)|
|''挑战等级:'' 10|
|''宝物:'' 标准|
|''阵营:'' 通常是守序善良|
|''进化:'' 12-16HD(大型);17-33HD(超大型)|
|''等级调整:'' -|

巡守纳迦会说天界语和通用语。

!!!!战斗
巡守纳迦通常在战斗前会警告入侵者。如果其警告被忽略,它们才会进行法术攻击或喷吐毒液。

''毒素 (Ex):''伤口或接触,强韧豁免检定DC 19,初始及后续伤害均为1d10点体质伤害。该豁免检定DC基于体质调整值。

''喷吐毒液 (Ex):''巡守纳迦可以通过一个标准动作将其毒液喷吐出30尺远。这属于一个没有射程增量的远程接触攻击。被此攻击击中的对手必须通过豁免检定 (见上)才能不受影响。

''法术:''巡守纳迦可如等级9的术士一样施放法术,并且可以同样施放牧师法术列表及善良领域和秩序领域中的法术。对巡守纳迦而言,牧师法术和领域法术被视为奥术,所以无需要法器就可以施放。

//典型已知法术 (6/ 7/ 7/ 7/ 5;豁免DC 14 + 法术等级)://

|0级 - 治疗微伤,晕眩术,侦测魔法,光亮术,法师之手,开关术,冰冻射线,阅读魔法;|
|1级 - 治疗轻伤,神恩,脚底抹油,法师护甲,魔法飞弹;|
|2级 - 侦测思想,次等复原术,侦测隐形,灼热射线;|
|3级 - 治疗重伤,解除魔法,闪电束;|
|4级 - 神圣力量,高等隐形术。|


!!!Spirit Naga(幽魂纳迦)

''大型异怪''

|''生命骰:'' 9d8+36(76hp)|
|''先攻权:'' +1|
|''速度:'' 40尺(8格)|
|''防御等级:'' 16(-1体型,+1敏捷,+6天生),接触10,措手不及15|
|''基本攻击/擒抱:'' +6/+14|
|''攻击:'' 啮咬+9近战(2d6+6外加毒素)|
|''全回合攻击:'' 啮咬+9近战(2d6+6外加毒素)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 魅惑凝视,毒素,法术|
|''特性:'' 黑暗视觉60尺|
|''豁免:'' 强韧+7,反射+6,意志+9|
|''属性:'' 力量18,敏捷13,体质18,智力12,感知17,魅力17|
|''技能:'' 专注+13,聆听+14,法术辨识+10,侦察+14|
|''专长:'' 能力专攻(魅惑凝视),警觉,战斗施法,施法免材,闪电反射|
|''环境:'' 温带沼泽|
|''组织:'' 单独或一窝(2-4)|
|''挑战等级:'' 9|
|''宝物:'' 标准|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 10-13HD(大型);14-27HD(超大型)|
|''等级调整:'' -|


幽魂纳迦会说深渊语和通用语。

!!!!战斗
幽魂纳迦会大胆地与敌人正面交锋,以便使用其凝视攻击并收到最好的效果。它们会快速的向前滑行来啮咬避开其视线的敌人。

''魅惑凝视 (Su):''如同魅惑人类法术,30尺,通过DC 19的意志豁免检定则无效。该豁免检定DC基于魅力调整值。

''毒素 (Ex):''伤口,强韧豁免检定DC 18,初始及后续伤害均为1d8点体质伤害。该豁免检定DC基于体质调整值。

''法术:''幽魂纳迦可以如等级7的术士一样施放法术,并且可以同样施放牧师法术列表及混乱领域和邪恶领域中的法术。对幽魂纳迦而言,牧师法术和领域法术被视为奥术,所以无需要法器就可以施放。

//典型已知法术 (6/ 7/ 7/ 5;豁免DC 13 + 法术等级)://

|0级 - 治疗微伤,晕眩术,侦测魔法,法师之手,开关术,冰冻射线,阅读魔法;|
|1级 - 魅惑人类,治疗轻伤,神恩,魔法飞弹,虔诚护盾;|
|2级 - 猫之优雅,隐形术,飞虫走兽;|
|3级 - 移位术,火球术。|

!!!Water Naga(水纳迦)

''大型异怪 (水生)''

|''生命骰:'' 7d8+28(59hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格),游泳50尺|
|''防御等级:'' 15(-1体型,+1敏捷,+5天生),接触10,措手不及14|
|''基本攻击/擒抱:'' +5/+12|
|''攻击:'' 啮咬+7近战(2d6+4外加毒素)|
|''全回合攻击:'' 啮咬+7近战(2d6+4外加毒素)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 毒素,法术|
|''特性:'' 黑暗视觉60尺|
|''豁免:'' 强韧+6,反射+5,意志+8|
|''属性:'' 力量16,敏捷13,体质18,智力10,感知17,魅力15|
|''技能:'' 专注+12,聆听+7,法术辨识+8,侦察+7,游泳+11|
|''专长:'' 警觉,战斗施法,施法免材,闪电反射|
|''环境:'' 温带水域|
|''组织:'' 单独,成对,或一窝(3-4)|
|''挑战等级:'' 7|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 8-10HD(大型);11-21HD(超大型)|
|''等级调整:'' -|

水纳迦会说水族语和通用语。

!!!!战斗
水纳迦喜欢在发动法术攻击时隐蔽在水中。

''毒素 (Ex):''伤口,强韧豁免检定DC 17,初始及后续伤害均为1d8点体质伤害。该豁免检定DC基于体质调整值。

''法术:''水纳迦可以如等级7的术士一样施放法术,但永远不会适用火焰法术。

//典型术士已知法术 (6/ 7/ 7/ 4;豁免DC 12 + 法术等级)://

|0级 - 酸液溅射,晕眩术,侦测魔法,光亮术,法师之手,开关术,阅读魔法;|
|1级 - 脚底抹油,魔法飞弹,隐雾术,护盾术,克敌机先;|
|2级 - 隐形术,强酸箭,镜影术;|
|3级 - 防护能量伤害,暗示术。|

''技能:''在进行游泳检定来做出特殊动作或躲避危险时,水纳迦可获得+8的种族加值。它可在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。
''本地(Native)亚种:''此亚种只针对异界生物。这些生物存在凡人祖先,或和主物质位面有牢固的联系,并且可以象其他生物一样被复生(raised)、转生(reincarnated)或复活(resurrected)。属于此亚种的生物是主物质位面的本地居民(即这个亚种名称的来由)。不象真正的异界生物,本地异界生物需要进食和睡眠。
!!! 自然施法(NATURAL SPELL)[一般专长]

''先决条件:''感知13,野性变身能力(wild shape)

''效果:''你可以在变身时施展有言语和姿态成分的法术。你可以用各种声音和姿势代替法术中普通的言语和姿势成分。

你同时可以使用任何你持有的材料或法器,即使这些物品已融入你当前的形态。本专长不能使你使用当前形态下不能正常使用的魔法物品,同时你不会获得在变身时说话的能力。
''天生武器(Natural Weapon):''天生武器即本身是生物肉体一部分的武器。生物通过天生武器作出近身攻击时视作武装,不会引发借机攻击。同样的,它的触及以内都是它的威胁范围。生物使用天生武器时不会因为较高的基本攻击加值带来额外的攻击次数。生物能通过天生武器作出的攻击数目仅依赖于攻击的种类-通常一个生物可以作出一次啮咬攻击、每个爪或触须各一次攻击、一次抵撞攻击、一次螯刺攻击、或一次挥击(当然,具备手臂或类似肢体的大型生物可以每个手臂作出一次挥击)。请参考具体怪物的描述。

除非特别注明,否则在自然骰得到20的时候获得重击威胁。

如果生物具有不止一种天生武器,其中一个(或有时是一双或一组)为主要武器。所有其余天生武器都是次要武器。

主要武器在生物的“攻击”一栏中给出,而主要武器(一个、一双或一组)也会在“全力攻击”一栏中最先给出。主要天生武器时最有效的天生武器,通常由生物的生理、训练或先天潜质所赐。用主要天生武器攻击时使用生物的完整攻击加值。而次要天生武器不那么有效,要在攻击命中上受到-5减值,无论次要天生武器数量有多少。(具有多重攻击专长的生物次要攻击仅受-2减值。)只要当生物用次要武器作出攻击,这项减值始终存在,甚至它是攻击动作内的单独一击或是作为借机攻击。

天生武器跟其他武器一样存在不同的种类,以下总结最常见的一些。

//啮咬(Bite)://生物用它的嘴展开攻击,造成穿刺、挥砍和钝击伤害。

//爪抓(Claw or Talon)://生物用肢体尖锐的部分撕扯,造成穿刺和挥砍伤害。

//抵撞(Gore)://生物用角或者类似的部位刺穿对手,造成穿刺伤害。

//拍打或挥击(Slap or Slam)://生物用肢体的一部分击打对手,造成钝击伤害。

//螯刺(Sting)://生物用螯针戳刺对手,造成穿刺伤害。螯刺通常会在生命值伤害的同时造成毒素伤害。

//触须(Tenacle)://生物用强有力的触须挥击对手,造成钝击(有时是挥砍)伤害。

''反胃(Nauseated):''强烈的胃部痛苦。进入此状态的生物无法攻击、施法、专注以维持法术或其他任何需要集中注意力的动作。反胃的角色每轮只能进行一个移动动作。

''Necklace of Adaptation(适应项链)'': 这是挂有白金勋章的粗链子。使用者周围充满新鲜空气,不怕任何有害气体(例如死云术和臭云术),也可在水下或真空状态呼吸。

Moderate transmutation; CL 7th; Craft Wondrous Item, alter self; Price 9,000gp.
''Necklace of Fireballs(火球项链)'': 看起来像便宜的徽章或几颗不值钱的宝石。但挂上脖子后,会发现它实际上是挂有数颗金球的金链子。使用者可以把金球拿下(也只有使用者可以拿下)并掷出,最远70英尺。金球落下之后爆炸,效果如同“火球术”(DC=14)。不同类型的项链球数不同,火球伤害也不同。

Spheres come in different strengths, ranging from those that deal 2d6 points of fire damage to those that deal 10d6. The market price of a sphere is 150gp for each die of damage it deals.

Each necklace of fireballs contains a combination of spheres of various strengths. Some traditional combinations, designated types I through VII, are detailed below.

|!	Necklace	 |!	10d6	 |!	9d6	 |!	8d6	 |!	7d6	 |!	6d6	 |!	5d6	 |!	4d6	 |!	3d6	 |!	2d6	 |!	Market	 |
|^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^	Price	 |
|^	Type	 |^	—	 |^	—	 |^	—	 |^	—	 |^	—	 |^	1	 |^	—	 |^	2	 |^	—	 |^	1,650gp	 |
|^	I	 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |
|^	Type	 |^	—	 |^	—	 |^	—	 |^	—	 |^	1	 |^	—	 |^	2	 |^	—	 |^	2	 |^	2,700gp	 |
|^	II	 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |
|^	Type	 |^	—	 |^	—	 |^	—	 |^	1	 |^	—	 |^	2	 |^	—	 |^	4	 |^	—	 |^	4,350gp	 |
|^	III	 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |
|^	Type	 |^	—	 |^	—	 |^	1	 |^	—	 |^	2	 |^	—	 |^	2	 |^	—	 |^	4	 |^	5,400gp	 |
|^	IV	 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |
|^	Type	 |^	—	 |^	1	 |^	—	 |^	2	 |^	—	 |^	2	 |^	—	 |^	2	 |^	—	 |^	5,850gp	 |
|^	V	 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |
|^	Type	 |^	1	 |^	—	 |^	2	 |^	—	 |^	2	 |^	—	 |^	4	 |^	—	 |^	—	 |^	8,100gp	 |
|^	VI	 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |
|^	Type	 |^	1	 |^	2	 |^	—	 |^	2	 |^	—	 |^	2	 |^	—	 |^	2	 |^	—	 |^	8,700gp	 |
|^	VII	 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |^		 |


如果穿戴者或携带者被魔法火焰攻击命中(未通过豁免检定),项链也须进行豁免检定(但有+7加值)。如果项链未通过检定,所有剩下的金球会同时爆炸,对穿戴者造成极大伤害。

Moderate evocation; CL 10th; Craft Wondrous Item, fireball. 
''抵销(Negation):''此权杖可以抵销魔法物品的法术或类法术功能。使用者将权杖指向魔法物品,一股淡灰色的射线会射向目标物品,以射线型态进行攻击(远程接触攻击)。这股射线可以抵销作用中物品的任一功能,且有75%的机率抵销该物品其他法术或类法术功能,为时2d4轮,无论该物品功能的等级或威力如何皆然。欲抵销某种立即效果,使用者必须采取准备动作。目标物不能做豁免检定,也无法抗拒此效果。但此权杖不能抵销神器的功能(即使是次等神器)。此权杖每天可以使用三次。

施法者等级:16。先决条件:“制造权杖”,“解除魔法”,“有限愿望”或“奇迹术”两者择一。交易价格:44600金币。
!!! 谈判专家(NEGOTIATOR)[一般专长]

''效果:''在交涉和察言观色检定上获得+2的加值。
!!!中和毒性(Neutralize Poison)
|咒法系(医疗)|
|''等级:''吟游诗人4,牧师4,德鲁伊3,圣武士4,巡林客3|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的单一生物,或体积至多1立方英尺/每等级的物品|
|''持续时间:''10分钟/每等级|
|''豁免:''意志,通过则无效(无害,物品)|
|''法术抗力:''可(无害,物品)|
|''你可以中和你接触到的目标生物或物品身上的任何种类的毒性。此法术生效后,中毒生物不会再因为该毒素而受影响,该毒素造成的暂时效果也可以恢复。但此法术无法治愈已经存在的立即伤害,如:''生命值伤害,暂时属性伤害,或任何无法自行复原的效果。|
|在法术持续时间内,目标生物对任何毒素都免疫。与减缓毒发(delay poison)不同的是,此法术并不是延迟毒发的时刻到该法术持续时间结束——目标生物在法术持续时间内不需要对毒素做任何豁免检定。|
|如果施法者愿意,此法术也可以在法术持续时间内中和有毒生物体内或物品上的毒性。|
|//奥术材料成分://一块木炭|
!!Night Hag(老鬼婆)

''中型异界生物 (邪恶,跨位面)''

|''生命骰:'' 8d8+32(68hp)|
|''先攻权:'' +1|
|''速度:'' 20尺(4格)|
|''防御等级:'' 22(+1敏捷,+11天生),接触11,措手不及21|
|''基本攻击/擒抱:'' +8/+12|
|''攻击:'' 啮咬+12近战(2d6+6外加疾病)|
|''全回合攻击:'' 啮咬+12近战(2d6+6外加疾病)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 类法术能力,侵入梦境|
|''特性:'' 改变外形,伤害减免10/寒铁和魔法,对火焰、寒冷、魅惑、睡眠及恐惧免疫,法术抗力25|
|''豁免:'' 强韧+12*,反射+9*,意志+10*|
|''属性:'' 力量19,敏捷12,体质18,智力11,感知15,魅力12|
|''技能:'' 唬骗+12,专注+15,交涉+5,易容+1(+3表演),威吓+14,聆听+15,骑术+12,察言观色+13,法术辨识+11,侦察+15|
|''专长:'' 警觉,战斗施法,骑乘战斗|
|''环境:'' 邪恶位面|
|''组织:'' 单独,单骑(1,骑乘梦魇),或小队(3,骑乘梦魇)|
|''挑战等级:'' 9|
|''宝物:'' 标准|
|''阵营:'' 总是中立邪恶|
|''进化:'' 9-16HD(中型)|
|''等级调整:'' -|



老鬼婆的身高体重与女性人类基本相同。

老鬼婆会说深渊语,天界语,通用语和炼狱语。

!!!战斗
如果有明显的胜算的话,老鬼婆只要一见到善良生物就会攻击。

这种生物用它们致命的牙齿直接撕裂盔甲和血肉。它们酷爱使用睡眠术,然后勒死那些受其影响的人。

在对抗伤害减免时,老鬼婆的天生武器及其所持有的任何武器,都被视为具有邪恶阵营。在对抗伤害减免时,其天生武器被视为魔法武器。

''改变外形 (Su):''老鬼婆可以变成任意体型为小型或中型的类人生物形态。

''疾病 (Ex):''恶魔热 - 啮咬,强韧豁免检定DC 18,潜伏期1天,伤害为1d6点体质伤害。发病后的每一天,如果豁免检定失败,受感染的生物都必须再通过另一个DC 18的强韧豁免检定否则会受到1点体质属性吸取。该豁免检定DC基于体质调整值。

''类法术能力:''施法等级8。该豁免检定DC基于魅力调整值。

|//随意施展// - 侦测混乱,侦测邪恶,侦测善良,侦测守序,侦测魔法,魔法飞弹,衰弱射线 (DC 12),睡眠术 (DC 12);|

老鬼婆只要持有其心形石 (见下)就可以随意施展同游灵界法术 (施法等级16)。

''侵入梦境 (Su):''老鬼婆可以通过被称作心形石的护符变成灵体造访任何一个混乱或邪恶生物的梦境,然后威胁此生物。每当老鬼婆侵入一个生物的梦境之后,它都会骑在受害者的背上直到黎明。受害者会受痛苦的梦境所折磨,且在醒来时受到1点体质的属性吸取。只有其他灵体状态下的生物才能借由击败老鬼婆来阻止这种夜间的入侵举动。

!!!心形石
所有老鬼婆都携带着被称作心形石的护符,它能立刻治愈携带者身上的疾病。此外,心形石会在所有豁免检定上带给佩戴者+2的抗力加值 (数据表中已包括此加值)。失去了此护符的老鬼婆无法使用同游灵界法术,直到它再制造出另一个为止 (需耗时一个月)。非老鬼婆生物也能从此护符上获得好处,但使用10次 (任何疾病的治愈或受其影响的豁免检定都计算在内)之后护符就会粉碎,而且它不会带给非老鬼婆生物以同游灵界的能力。若出售的话,一枚未经使用的心形石的价值为1800 gp。
!!!梦魇(Nightmare)
|幻术系(魅影幻觉)[影响心灵,邪恶]|
|''等级:''吟游诗人5,术士/法师5|
|''法术成分:''言语,姿势|
|''施法时间:''10分钟|
|''距离:''无限制|
|''目标:''一个活物|
|''持续时间:''立即|
|''豁免:''意志,通过则无效;见说明|
|''法术抗力:''可|
|你造出一个毛骨悚然的噩梦缠住某个特定的生物,你必须要知道目标生物的名字,或能明确地指出目标生物才行。梦魇会使人失眠并对目标造成1D10点伤害。被梦魇缠住的生物会进入疲乏状态(fatigued),在接下来的24小时内都无法获得奥术。|
|此法术的DC与两个因素有关,一是你对目标生物的了解程度,二是你与该目标生物之间有无任何实体关联。|

|!	了解程度	 |!	意志豁免修正	 |
|^	一无所知^^1^^	 |^	+10	 |
|^	二手信息(你对目标有所耳闻)	 |^	+5	 |
|^	一手信息(你见过目标)	 |^	+0	 |
|^	熟悉(你认识目标)	 |^	–5	 |

|^	1当你对目标一无所知时,必须有目标的某种相关物品。	 |<|

|!	相关物品	 |!	意志豁免修正	 |
|^	画像或图片	 |^	–2	 |
|^	所有物或衣物	 |^	–4	 |
|^	身体的一部分、一束毛发、指甲等	 |^	–10	 |

|当你施展此法术时,如果有另一名施法者对受术者使用反制邪恶(Dispel evil),则梦魇会被解除,同时你会被震慑,震慑时间为反制邪恶法术的每施法者等级10分钟。|
|如果施法时目标生物是清醒的,你可以选择停止施法(法术终止),或是进入出神状态静待该生物入睡。只要他一睡着,你就会立即得知并完成施法。如果在出神状态时被打搅,你必须通过专注检定(如同你在施法时被打搅一样),否则法术就会终止。|
|在出神状态下,你无法得知外界发生的事情,而且身心都处于完全不设防状态(例如你无法通过任何豁免检定)。|
|如果生物不睡眠(如精灵,但半精灵不算)或做梦,那么他们对此法术免疫。|
!!Nightmare(梦魇)

''大型异界生物(邪恶, 跨界面亚种)''

|''生命骰:'' 6d8+18(45hp)|
|''先攻权:'' +6|
|''速度:'' 40FT(8格)飞行90尺(良好)|
|''防御等级:'' 24[-1体型.+2敏捷.+13天生]接触11,措手不及22|
|''基本攻击/擒抱:'' +6/+14|
|''攻击:'' 蹄踢+9近身(1D8+4加1D4火焰伤害)|
|''全回合攻击:'' 2蹄踢+9近身[1D8+4加1d4火焰伤害]和咬+4近身(1D8+2)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 火焰蹄,烟雾|
|''特性:'' 星界投射,黑暗视觉60FT,同游灵界|
|''豁免:'' 强韧+8反射+7意志+6|
|''属性:'' 18/15/16/13/13/12|
|''技能:'' 专注+12.交涉+3威吓+10,知识[位面]+10,聆听+12,潜行+11,搜索+10,察言观色+10,侦察+10,生存+10(+12在其他位面和追踪)|
|''专长:'' 警觉,精通先攻,奔跑|
|''环境:'' 一个邪恶阵营的位面|
|''组织:'' 单独|
|''挑战等级:'' 5|
|''宝物:'' 无|
|''阵营:'' 总是中立邪恶|
|''进化:'' 7-10HD(大型).11-18HD(超大型)|
|''等级调整:'' +4(部属)|

一只梦魇的大小大致相当于一匹轻型战马。

!!!战斗
一只梦魇可在被骑的时候战斗,但骑的人不能战斗除非他/她通过骑术检定。

梦魇的天然武器,和任何它所持用的武器一般,被视做是为压制伤害的降低而具有邪恶阵营性质量的。

''火焰蹄(超自然):''梦魇的蹄击可以让可燃物燃烧起来。

烟(超自然):在战斗的刺激下,梦魇将愤怒地喷出鼻息以及发出嘶鸣。鼻息将以灼热的硫磺味的烟雾充满15步内的圆锥空间。此烟雾能使对手窒息和一定几率的目盲。任何在此圆锥内的人必须成功通过DC16的坚韧检定,不然将在所有攻击和伤害骰中得到-2的士气减值惩罚,直至离开此空间的1D6分钟后才可恢复。此圆锥空间将维持一轮,梦使用此能力视为一个自由动作。相关的豁免检定DC基于体质调整值。

烟的效果将给于梦魇对于5尺内的生物有隐蔽,并对10尺或更远的生物有全隐蔽。烟的效果不会影响梦魇自己的视野。

''星界投射和同游异界(超自然能力):''等同于同名法术(施法等级20),梦魇可以随意使用其一。

''负重能力:''300磅以下为轻载,中载为301-600磅,601-900为重载。

夜影是由等量的黑暗和纯粹的邪恶所组成的强大的不死生物。

夜影可以阅读和理解所有沟通方式;然而,在与他人进行沟通时它们会使用心灵感应。

!!!战斗
已知的三种夜影中的任何一种都是拥有独特力量与能力的可怕生物。它们的战术根据其能力而不同,但是它们都惯于使用加速术。

!!!!夜影特殊能力
所有夜影都拥有以下特殊能力。

''厌恶日光 (Ex):''如果处于自然的阳光下 (并非只有昼明术而已),夜影会在其所有攻击检定,豁免检定及技能检定上受到-4的罚值。

''亵渎灵气 (Su):''所有的夜影都能放出一道半径20尺弥漫性的亵渎气息,将负能量渗透到它们的周围。除了夜影的太过邪恶以至于它会被视为一座邪恶力量的神殿之外,此能力的作用就好像亵渎术一样。处于夜影20尺范围内的所有不死生物 (包括夜影本身)都会在其攻击检定、伤害检定及豁免检定上获得+2的亵渎加值,并且每个生命骰会获得额外的2点生命值。 (下面所列出的夜影的生命骰、攻击及豁免数据已包括了这些亵渎加值。)用于驱散此区域内不死生物的魅力检定会受到-6的罚值。

夜影的亵渎灵气除非使用反制邪恶法术或类似的效果之外不能被解除。如果效果被解除的话,夜影可以在它的下一轮中以一个即时动作将其重新展开。如果夜影进入一个祝圣或圣居区域的话其亵渎灵气将会被压制,但是只要夜影仍然处于此区域内,那么它的存在同样会压制此处的祝圣或圣居效果。




!!!Nightcrawler(巨虫夜影)

''巨型不死生物 (跨位面)''

|''生命骰:'' 25d12+50(212hp)|
|''先攻权:'' +4|
|''速度:'' 30尺(6格),掘穴60尺|
|''防御等级:'' 35(-4体型,+29天生),接触6,措手不及25|
|''基本攻击/擒抱:'' +12/+45|
|''攻击:'' 啮咬+29近战(4d6+21/19-20)|
|''全回合攻击:'' 啮咬+29近战(4d6+21/19-20)及螯刺+24近战(2d8+11/19-20外加毒素)|
|''面宽/触及:'' 20尺/15尺|
|''特殊攻击:'' 亵渎灵气,能量吸取,精通攫抓,类法术能力,毒素,召唤不死生物,囫囵活吞|
|''特性:'' 厌恶日光,伤害减免15/银和魔法,黑暗视觉60尺,对寒冷免疫,法术抗力31,心灵感应100尺,颤动感知60尺,不死生物特性|
|''豁免:'' 强韧+12,反射+10,意志+23|
|''属性:'' 力量48,敏捷10,体质-,智力20,感知20,魅力18|
|''技能:'' 专注+32,交涉+6,躲藏+16,知识(神秘)+33,聆听+33,潜行+28,搜索+33,察言观色+23,法术辨识+35,侦察+33,生存+5(+7追踪)|
|''专长:'' 盲斗,战斗施法,强韧加强,精通重击(啮咬),精通重击(螯刺),精通先攻,钢铁意志,猛力攻击,类法术能力瞬发(寒冰锥)|
|''环境:'' 阴影位面|
|''组织:'' 单独或成对|
|''挑战等级:'' 18|
|''宝物:'' 标准|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 26-50HD(超巨型)|
|''等级调整:'' -|

巨虫夜影是外形类似于紫虫但颜色却是漆黑的庞然巨兽。

巨虫夜影断面直径有7尺,从布满牙齿的口部到生有螯刺的尾部可达100尺长。它重约55000磅。

!!!!战斗
巨虫夜影利用掘穴穿过地层并钻出地面进行攻击。

在对抗伤害减免时,巨虫夜影的天生武器被视为魔法武器。

''能量吸取 (Su):''处于巨虫夜影胃中的活着的生物每轮都会承受一个负向等级。移除负向等级的强韧豁免检定DC为26。该豁免检定DC基于魅力调整值。每造成一个负向等级,巨虫夜影都会获得5点的暂时生命值。

''精通攫抓 (Ex):''使用此能力之前,巨虫夜影必须通过其啮咬攻击击中敌人。然后它就可以通过一个即时动作开始尝试展开擒抱,该动作不会引发借机攻击。如果它成功将对手定身,那么就可以在下一轮囫囵活吞对手。

''毒素 (Ex):''伤口,强韧豁免检定DC 22,初始及后续伤害均为2d6点力量伤害。该豁免检定DC基于体质调整值。

''类法术能力:''施法等级25。该豁免检定DC基于魅力调整值。

|//随意施展 //- 疫病术 (DC 18),深幽黑暗术,侦测魔法,高等解除魔法,加速术,隐形术,侦测隐形,邪影击 (DC 18);|
|//每天3次// - 寒冰锥 (DC 19),困惑术 (DC 18),怪物定身术 (DC 19);|
|//每天1次// - 死亡一指 (DC 21),群体怪物定身术 (DC 23),异界传送 (DC 21)。|

''召唤不死生物 (Su):''巨虫夜影每晚可召唤一次不死生物:9-16幽影、3-6高等幽影或2-4惧栗缚灵。被召唤的不死生物会在1d10轮内到达,提供服务达1小时或直到被释放为止。

''囫囵活吞 (Ex):''巨虫夜影可以通过一个成功的擒抱检定尝试活吞一个被擒抱的体型为超大型或更小的对手。一旦被吞下,对手因巨虫夜影的胃而受到每轮2d8+12点钝击伤害外加12点酸伤害,并且会成为巨虫夜影能量吸取的目标。被吞下的生物可以通过使用轻型挥砍或穿刺武器对胃 (AC 21)造成35点伤害而逃脱。一旦生物脱出之后,胃的肌肉活动会将伤口合起来;因此其他被囫囵活吞的生物必须再以上述方法逃脱。

巨虫夜影的胃部可以容纳2个超大型、8个大型、32个中型、128个小型、512个超小型或更小的生物。


!!!Nightwalker(伏形夜影)

''超大型不死生物 (跨位面)''

|''生命骰:'' 21d12+42(178hp)|
|''先攻权:'' +6|
|''速度:'' 40尺(8格),飞行20尺(笨拙)|
|''防御等级:'' 32(-2体型,+2敏捷,+22天生),接触10,措手不及30|
|''基本攻击/擒抱:'' +10/+34|
|''攻击:'' 挥击+24近战(2d6+16)|
|''全回合攻击:'' 2挥击+24近战(2d6+16)|
|''面宽/触及:'' 15尺/15尺|
|''特殊攻击:'' 碾压物品,亵渎灵气,邪恶凝视,类法术能力,召唤不死生物|
|''特性:'' 厌恶日光,伤害减免15/银和魔法,黑暗视觉60尺,对寒冷免疫,法术抗力29,心灵感应100尺,不死生物特性|
|''豁免:'' 强韧+11,反射+11,意志+19|
|''属性:'' 力量38,敏捷14,体质-,智力20,感知20,魅力18|
|''技能:'' 专注+28,交涉+6,躲藏+18*,知识(神秘)+29,聆听+29,潜行+26,搜索+29,察言观色+29,法术辨识+31,侦察+29,生存+5(+7追踪)|
|''专长:'' 顺势斩,寓守于攻,战斗反射,强韧加强,精通卸除武器,精通先攻,猛力攻击,类法术能力瞬发(邪影击)|
|''环境:'' 阴影位面|
|''组织:'' 单独,成对,或成队(3-4)|
|''挑战等级:'' 16|
|''宝物:'' 标准|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 22-31HD(超大型);32-42HD(巨型)|
|''等级调整:'' -|


伏形夜影是由纯粹的黑暗构成的人类形状的恐怖的生物。

伏形夜影高约20尺,重约12000磅。

!!!!战斗
伏形夜影埋伏在黑暗区域,在那里它们总是能突袭那些无防备者。

在对抗伤害减免时,伏形夜影的天生武器被视为魔法武器。

''碾压物品 (Su):''伏形夜影可以将任何大型或更小的武器或物品 (包括魔法物品,但是神器不行)拿起在其双手间进行碾压并将其摧毁。伏形夜影必须进行一次成功的卸除武器尝试才能抓住对手持有的物品。物品需要通过一个DC 34的强韧豁免检定才能不被摧毁。该豁免检定DC基于力量调整值。

''邪恶凝视 (Su):'' 恐惧,30尺。遭遇伏形夜影凝视攻击的生物必须通过一个DC 24的意志豁免检定,否则会因恐惧而麻痹1d8轮。无论豁免检定是否成功,该生物在24小时内不会再受同一伏形夜影的凝视所影响。这属于影响心灵的恐惧效果。该豁免检定DC基于魅力调整值。

''类法术能力:''施法等级21。该豁免检定DC基于魅力调整值。

|//随意施展// - 疫病术 (DC 18),深幽黑暗术,侦测魔法,高等解除魔法,加速术,侦测隐形,邪影击 (DC 18);|
|//每天3次// - 困惑术 (DC 18),怪物定身术 (DC 19),隐形术;|
|//每天1次// - 寒冰锥 (DC 19),死亡一指 (DC 21),异界传送 (DC 21)。|

''召唤不死生物 (Su):''伏形夜影每晚可召唤一次不死生物:7-12幽影、2-5高等幽影或1-2惧栗缚灵。被召唤的不死生物会在1d10轮内到达,提供服务达1小时或直到被释放为止。

''技能:''*伏形夜影躲藏在黑暗区域内进行躲藏检定时可获得+8的种族加值。

!!!!每轮战术
伏形夜影是一个异常聪明的敌人,它会将其所有能力都发挥到极致。它喜欢使用其类法术能力来分散并瘫痪敌人,然后接近肉搏被从盟友中孤立出来的对手。
开战之前:伏形夜影会保持其侦测隐形能力在绝大多数时间内都处于作用中。它会使用加速术和隐形术来准备战斗。

//第1轮://移动进30尺距离内以使用凝视攻击,并且伴随着瞬发的邪影击,使用困惑术或怪物定身术来进行攻击。

//第2轮://对一个施法者使用死亡一指,并施放另一个瞬发邪影击。

//第3轮://接近敌人攻击,并尝试卸除一个敌人战士的武器。

//第4轮://碾压被卸除的武器 (如果卸除武器尝试失败则使用凝视攻击)。

//第5轮://全回合攻击被卸除了武器的敌人 (或者一个身边的施法者)。

!!!Nightwing(飞翼夜影)

''超大型不死生物 (跨位面)''

|''生命骰:'' 17d12+34(144hp)|
|''先攻权:'' +8|
|''速度:'' 20尺(4格),飞行60尺(良好)|
|''防御等级:'' 30(-2体型,+4敏捷,+18天生),接触12,措手不及26|
|''基本攻击/擒抱:'' +8/+28|
|''攻击:'' 啮咬+18近战(2d6+17/19-20外加魔法吸取)|
|''全回合攻击:'' 啮咬+18近战(2d6+17/19-20外加魔法吸取)|
|''面宽/触及:'' 15尺/10尺|
|''特殊攻击:'' 亵渎灵气,魔法吸取,类法术能力,召唤不死生物|
|''特性:'' 厌恶阳光,伤害减免15/银和魔法,黑暗视觉60尺,对寒冷免疫,法术抗力27,心灵感应100尺,不死生物特性|
|''豁免:'' 强韧+9,反射+11,意志+17|
|''属性:'' 力量31,敏捷18,体质-,智力18,感知20,魅力18|
|''技能:'' 专注+24,交涉+6,躲藏+16*,聆听+25,潜行+24,搜索+24,察言观色+25,法术辨识+24,侦察+25,生存+5(+7追踪)|
|''专长:'' 战斗反射,闪避,飞越攻击,强韧加强,精通重击(啮咬),精通先攻|
|''环境:'' 阴影位面|
|''组织:'' 单独,成对,或成群(3-6)|
|''挑战等级:'' 14|
|''宝物:'' 标准|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 18-25HD(超大型);26-34HD(巨型)|
|''等级调整:'' -|

飞翼夜影利用翅膀进行狩猎的蝙蝠样的飞行生物。

飞翼夜影翼展约40尺,重约4000磅。

!!!!战斗
飞翼夜影潜伏在夜空中并俯冲它们的猎物。它们几乎是隐形的,只有因其飞过所造成星光的模糊才能察觉到它们的踪迹。

在对抗伤害减免时,飞翼夜影的天生武器被视为魔法武器。

''魔法吸取 (Su):''被飞翼夜影的接触攻击击中的魔法盔甲、武器和盾牌会被弱化。目标物品必须通过一个DC 22的强韧豁免检定否则就会损失1点强化加值。该豁免检定DC基于魅力调整值。失去了其所有强化加值的物品会变成一件精致品,而且会失去其所有特殊能力 (比如炽焰)。在物品上施放反制邪恶法术会将魔法吸取的效果恢复,但先决条件是必须在等于施法者等级的天数内施放法术才可以,而且施法者必须通过一个DC 29的施法等级检定。

''类法术能力:''施法等级17。该豁免检定DC基于魅力调整值。

|//随意施展// - 疫病术 (DC 18),深幽黑暗术,侦测魔法,加速术,侦测隐形,邪影击 (DC 18);|
|//每天3次// - 困惑术 (DC 18),高等解除魔法,怪物定身术 (DC 19),隐形术;|
|//每天1次// - 寒冰锥 (DC 19),死亡一指 (DC 21),异界传送 (DC 21)。|

''召唤不死生物 (Su):''飞翼夜影每晚可召唤一次不死生物:5-12幽影、2-4高等幽影或1惧栗缚灵。被召唤的不死生物会在1d10轮内到达,提供服务达1小时或直到被释放为止。

''技能:''*飞翼夜影躲藏在黑暗区域内或在夜空中飞行时进行躲藏检定可获得+8的种族加值。
!!! 灵巧手指(NIMBLE FINGERS)[一般专长]

''效果:''在解除装置和开锁检定上获得+2的加值。
''Nine Lives Stealer(九转夺命剑):''
这把长剑的效果通常如同一把+2长剑,但它具有可以立刻夺取对方生命的瞬杀能力。该能力可使用9次,然后此剑就变成一把普通+2长剑(仍残留邪恶气息)。瞬杀能力只有在造成重击时才能启动,对重击免疫的生物不受此能力的影响。目标必须进行DC20的强韧检定以避免死亡,若通过,瞬杀能力不能启动,不消耗使用次数,造成的重击也只是普通重击。此剑属于邪恶阵营,任何企图使用此剑的善良阵营生物会遭受两个负向等级。只要剑在手中负向等级就一直存在,除非把剑扔掉。这个负向等级并没有造成真正的等级降低,但是只要剑在手中,负向等级便不能以任何方式移除(包括复原术(restoration))。

强烈死灵系灵光[邪恶阵营];CL13;制造魔法武器和防具,死亡一指(finger of death);价格23057金币;制造花费11528金币5银币+922经验值。

''空属性(Nonabilities):''一些生物缺少某些特定属性值。这些生物并不是某项属性为0-他们是完全没有这项属性。空属性的调整值为+0。空属性还有下列其他效果。
!!!回避侦测(Nondetection)
|防护系|
|''等级:''巡林客4,术士/法师3,诡术3|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的生物或物体|
|''持续时间:''1小时/每等级|
|''豁免:''意志,通过则无效(无害,物品)|
|''法术抗力:''可(无害,物品)|
|受此法术保护的生物或物品变得很难被预言系法术侦测,例如锐耳术/鹰眼术(clairaudience/clairvoyance)、物品定位术(locate object)及侦测(detect)类的法术。回避侦测也可以干扰水晶球(crystal balls)等魔法物品的侦测。当有人施展预言系法术侦测目标生物或物品时,该预言系法术的施法者必须通过施法者等级检定(1d20+施法者等级),以对抗DC=11+回避侦测施法者等级。如果你对自己或自己当前的持有物上施展回避侦测,则DC=15+你的施法者等级。|
|如果你对某生物施展回避侦测,该生物和该生物的装备将同时受到此法术的保护。|
|//材料成分://一袋价值50金币的钻石尘。|
!!! 非致命伤(NONLETHAL DAMAGE)

''造成非致命伤:''特定攻击会造成非致命伤。其他一些效果,例如炎热或者疲惫,也会造成非致命伤。当你受到非致命伤时,要计算总共受到多少累计的伤害。不要从你的实际生命值中扣除非致命伤的数字。它们并不是“真正的”伤害。当你的非致命伤达到你的实际生命值时,你会变得恍惚,当超过实际生命值时,你会失去意识。究竟是因为非致命伤的累计增加还是因为实际生命值的降低而导致非致命伤等于或超过实际生命值并没有区别。

//''''用造成普通伤害的武器造成非致命伤害://你可以用造成普通伤害的近战武器来造成非致命伤害,但是要在攻击检定时受到-4减值。

//用造成非致命伤害的武器造成普通伤害://你可以用造成非致命伤害的武器,包括徒手击打,来造成普通伤害,但是要在攻击检定时受到-4减值。

''恍惚(Staggered)和失去意识(Unconscious):''当你的非致命伤等于你的实际生命值时,你会变得恍惚。在这种情况下你每轮只能做一次标准动作或一次移动动作。当你实际生命值超过你的非致命伤时,你将脱离恍惚。

当你的非致命伤超过你的实际生命值时,你将失去意识。在失去意识时,你是无助的。

失去意识的施法者将保留他们在失去意识前的施法能力。

''治疗非致命伤:''你以每角色等级每小时一点生命值的速度恢复非致命伤。

当使用法术或者魔法力量治疗生命值伤害时,它同时也会恢复相等数量的非致命伤。
<<list-links "[tag[NPC职业]]">>
!!Nymph(水妖精-宁芙)

''中型精类生物''

|''生命骰:'' 6d6+6(27hp)|
|''先攻权:'' +3|
|''速度:'' 30英尺(6格),游泳20英尺|
|''防御等级:'' 17(+3敏捷,+4偏斜),接触17,措手不及14|
|''基本攻击/擒抱:'' +3/+3|
|''攻击:'' 匕首+6近战(1d4/19-20)|
|''全回合攻击:'' 匕首+6近战(1d4/19-20)|
|''面宽/触及:'' 5英尺/5英尺|
|''特殊攻击:'' 盲目绝色,法术,类法术能力,震慑凝视|
|''特性:'' 伤害减免10/寒铁,低光视觉,非凡美貌,野性认同|
|''豁免:'' 强韧+7,反射+12,意志+12|
|''属性:'' 力量10,敏捷17,体质12,智力16,感知17,魅力19|
|''技能:'' 专注+10,交涉+6,逃脱+12,驯养动物+13,治疗+12,躲藏+12,聆听+12,潜行+12,骑术+5,察言观色+12,侦察+12,游泳+8,绳技+3(+5绑定)|
|''专长:'' 战斗施法,闪避,武器专精|
|''环境:'' 温带/森林|
|''组织:'' 单独|
|''挑战等级:'' 7|
|''宝物:'' 标准|
|''阵营:'' 通常混乱善良|
|''进化:'' 7-12HD(中型)|
|''等级调整:'' +7|

!!!描述
这只生物的美丽已经无法用言语来形容;她细腻的情感又使她充满了致命的诱惑。她有着紫铜色的秀发,凝脂般的肌肤,一双幽深的大眼和一对细长且向后翻折的耳朵衬托出她那完美的脸庞。

宁芙不仅是自然界美丽的化身,同时也是野生密境的守护人。她们拥有令人无法抵挡的美貌,以至于对她们随意的一瞥便能使看见她们的人立刻目盲。宁芙痛恨一切邪恶的或企图以任何理由破坏生态环境的个体。

宁芙的举止充满了野生的灵性与机智。就像自然本身,宁芙也是美丽与危险的结合体。她们会对尊重自然生态的人们显示出友善与优雅的一面,但如果你认为自然是可以被随意破坏或榨取的,宁芙将会很快让你认识到这种想法是多么的不明智。森林中的各种动物经常会聚集在宁芙的身边,即便是天敌关系也不例外;受伤的野兽也总会寻求宁芙照料它们的伤势。
宁芙的身高和体重近似女性精灵。

宁芙说木族语和通用语。

!!!战斗
虽然宁芙会尽可能的避免和非精类生物的接触,但是她们通常会主动抵御不速之客进入她们隐秘的栖息地,例如:某个小树林,水塘或山丘的顶峰。她们会利用法术或动物伙伴悄悄将来访者诱导出势力范围,除非对方是邪恶生物或意图要至她于死地,否则宁芙一般不会主动发出致命袭击。

另一方面,宁芙对精灵、半精灵和德鲁伊并一切与自然和睦相处的生物会有一定的好感。在遇到类似上述的来访者时,宁芙很有可能会先让对方表明来意而非直接驱走他们。也有传说宁芙会帮助那些有礼貌且尊重她们的勇者。

''盲目绝色(超自然):''这项能力会作用于所有以宁芙为中心30英尺以内的类人生物。受影响的生物如果直视宁芙,必须通过强韧检定(DC=17),否则就会永久目盲,就像受到“目盲术”的作用。宁芙能以一个即时动作抑制或恢复这项能力。

''类法术能力:''1/每天**任意门。7级施法等级。

''法术:''宁芙可以像一位7级的德鲁伊那样使用神术。

//典型德鲁伊准备法术(6/5/4/3/1,豁免DC13+法术等级)://

|0-治疗微伤,侦测魔法,闪光术,神导术,光亮术,提升抗力;|
|1-安抚动物,治疗轻伤,纠缠术,脚底抹油,动物交谈;|
|2-树肤术,灼热金属,次级复原术,树化术;|
|3-召雷术,治疗中度伤,防护能量伤害;4th*锈蚀爪。|

''震慑凝视(超自然):''作为一个标准动作,一位愤怒的宁芙有能力通过一次简单的目视来震慑一个距离30英尺以内的生物。受影响的目标生物必须通过强韧检定(DC=17),否则就会被震慑2d4轮。

''非凡美貌(超自然):''宁芙的豁免检定总是加上她本身的魅力调整值,另外魅力调整值也做为一项偏斜加值加在她的防御等级AC上(之前的基本数据已经显示该项加值)

''野性认同(特异能力):''这项能力就像德鲁伊的同名职业特性,只是宁芙可以在检定上获得+6的种族加值。
''技术:''当宁芙在水中做一些特殊动作或遭遇危险时,她可以在游泳检定上获得+8的种族加值。即使不能专注或有生命危险时,她也总是能在游泳检定中取10。如果作直线游泳,宁芙可以在游泳时做奔跑动作。

''Oathbow(誓仇弓):''
每当拉弓时,这把精灵制造的白色+2强力复合长弓(+2力量加值)会用精灵语说出“速歼敌”。每天一次,如果拉弓者大声发誓一定要杀死目标敌人(即时动作),弓会回应“杀无赦”。攻击誓敌时,弓会获得+5增强加值,射出去的箭额外造成2d6伤害(重击倍数x4而不是普通时的x3)。然而,在攻击誓敌外的其他敌人时,此弓仅视为一把精制品武器,且使用者的攻击检定受到-1惩罚值。这些加值和惩罚值持续7天,除非誓敌被使用者用誓仇弓杀死。

誓仇弓同一时刻只能有一个誓敌。一旦使用者发誓要杀掉目标,他便不能再立新的誓言,除非誓敌被他杀死或过了7天。即便使用者在立誓的当天就杀掉了誓敌,誓仇弓的特殊能力也必须要经过24小时才能再次使用。

强烈塑能系灵光;CL15;制造魔法武器和防具,制造者必须是精灵;价格25600金币;制造花费13100金币+1000经验值。

!!!遮蔽物品(Obscure Object)
|防护系|
|''等级:''吟游诗人1,牧师3,术士/法师2|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的一件物品,重量至多100磅/每等级|
|''持续时间:''8小时(可解消)|
|''豁免:''意志,通过则无效(物品)|
|''法术抗力:''可(物品)|
|此法术可以将物品隐藏起来以防止预言系(探知)效果对目标物品的定位,如探知(scrying)法术或水晶球(crystal ball)等。如果预言系法术指向该物品,则这样的尝试将自动失效;如果预言系法术指向附近的地点、物品或人,则不能察觉到该物品的存在。|
|//奥术材料成分://一块变色龙皮。|
!!!隐雾术(Obscuring Mist)
|咒法系(创造)|
|''等级:''气1,牧师1,德鲁伊1,术士/法师1,水1|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''20英尺|
|''效果:''以你为中心扩散出高20英尺,半径20英尺的云雾。|
|''持续时间:''1分钟/施法者每等级|
|''豁免:''无|
|''法术抗力:''不可|
|一团雾气从你四周升起,雾气出现后就不再移动。雾气遮蔽了所有的视线,任何生物都无法看见5英尺外的东西(即使具有黑暗视觉也一样)。距离5英尺的生物有隐蔽效果(进行攻击会有20%的失手几率),更远的生物则有全隐蔽效果(50%失手率,并且攻击者无法以视觉确定对方的位置)。|
|和风(时速11英里以上),例如由造风术(gust of wind)产生的风,可以在4轮之内吹散云雾。强风(时速21英里以上)可以一轮吹散。火球术(fireball)、焰击术(flame strike)或类似的法术可以将爆炸范围或火焰范围内的雾气烧光。火墙术(wall of fire)则可以把它能造成伤害的范围内的雾气烧光。|
|此法术在水中无效。|
''Obsidian Steed黑曜石驹'':看起来像形状不明显的黑色小石头,仔细检查可看出像是四只脚的动物。活化后成为骏美的座骑,能力和重型战马相同,使用者每轮还可使用一次下列能力:“飞行术”、“异界传送”和“同游灵界”。如果骑乘者为善良阵营,骑乘时有10%机率将其载往低层界,并恢复成塑像状态。此塑像每周可使用一次,每次最多24小时。当它施展“异界传送”或灵体化时,效果亦及于骑乘者与其装备,所以使用者可藉此方式进行异界旅行。

施法者等级:15。先决条件:“制造奇物”,“活化物体”、“飞行术”、“异界传送”、“同游灵界”。交易价格:28500金币。
!!Octopus, Giant(巨章鱼 )

''大型动物 (水生)''

|''生命骰:'' 8d8+11 (47 hp)|
|''先攻权:'' +2|
|''速度:'' 20尺 (4格),游泳30尺|
|''防御等级:'' 18 (-1体型,+2敏捷,+7天生),接触11,措手不及16|
|''基本攻击/擒抱:'' +6/ +15|
|''攻击:'' 触手 +10 近战 (1d4+5)|
|''全回合攻击:'' 8 触手 +10 近战 (1d4+5)及啮咬 +5 近战 (1d8+2)|
|''面宽/触及:'' 10尺/ 10尺 (触手20尺)|
|''特殊攻击:'' 精通攫抓,紧勒|
|''特性:'' 墨汁云,喷射,昏暗视觉|
|''豁免:'' 强韧+7,反射+8,意志+3|
|''属性:'' 力量20,敏捷15,体质13,智力2,感知12,魅力3|
|''技能:'' 逃脱术+12,躲藏+12,聆听+4,侦察+6,游泳+13|
|''专长:'' 警觉,技能专攻 (躲藏),健壮|
|''环境:'' 温暖的水域|
|''组织:'' 单独|
|''挑战等级:'' 8|
|''进化:'' 9-12HD (大型);13-24HD (超大型)|
|''等级调整:'' -|

这种生物是有着可触及10尺或更远的触手的,极具攻击性且地盘极强的猎食者。它们的触手上布满了倒钩和边缘锋利的吸盘。

!!!战斗
对手可以通过击破武器尝试而攻击巨章鱼的触手,就好像触手是武器一样。巨章鱼的每条触手都拥有10点生命值。当巨章鱼使用其正被攻击的触手擒抱住一个目标时,它通常会使用另外的触手来进行对抗对手进行的击破武器尝试的借机攻击。砍断巨章鱼的一条触手会对生物本身造成5点伤害。巨章鱼通常在失去4条触手后就会脱离战斗。被砍掉的触手会在1d10+10天内重新长出来。

''紧勒 (Ex):''一旦通过擒抱检定,巨章鱼就能对对手造成2d8+6点伤害。

''精通攫抓 (Ex):''使用此能力之前,巨章鱼必须通过其触手攻击击中任意体型的对手。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。如果它成功将对手定身,就可以进行紧勒。

''墨汁云 (Ex):''每分钟1次,巨章鱼可以通过一个即时动作喷出一道20尺高、20尺宽、20尺长的墨汁云。这团墨汁云能造成全隐蔽效果,巨章鱼通常在打败仗时使用此能力逃离。墨汁云中所有视线都被遮蔽。

''喷射 (Ex):''每轮一次,巨章鱼可以通过一个整轮动作以200尺的速度向后移动。它只能做出直线运动,但喷射时不会引发借机攻击。

''技能:''巨章鱼可以变色,在进行躲藏检定时可获得+4的种族加值。

巨章鱼也可以压缩扭曲其身体,在进行逃脱术检定时可获得+10的种族加值。

在进行游泳检定做出特殊动作或躲避危险时,巨章鱼可获得+8的种族加值。它可以在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。
!!Octopus(章鱼 )

''小型动物 (水生)''

|''生命骰:'' 2d8 (9 hp)|
|''先攻权:'' +3|
|''速度:'' 20尺 (4格),游泳30尺|
|''防御等级:'' 16 (+1体型,+3敏捷,+2天生),接触14,措手不及13|
|''基本攻击/擒抱:'' +1/ +2|
|''攻击:'' 手臂 +5 近战 (0)|
|''全回合攻击:'' 手臂 +5 近战 (0)及啮咬 +0 近战 (1d3)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 精通攫抓|
|''特性:'' 墨汁云,喷射,昏暗视觉|
|''豁免:'' 强韧+3,反射+6,意志+1|
|''属性:'' 力量12,敏捷17,体质11,智力2,感知12,魅力3|
|''技能:'' 逃脱术+13,躲藏+11,聆听+2,侦察+5,游泳+9|
|''专长:'' 武器娴熟|
|''环境:'' 温暖的水域|
|''组织:'' 单独|
|''挑战等级:'' 1|
|''进化:'' 3-6HD (中型)|
|''等级调整:'' -|


这些居住在海底的海洋生物只会对其猎物造成威胁。如果被打扰的话,它们通常选择逃开。

!!!战斗

''精通攫抓 (Ex):''使用此能力之前,章鱼必须通过其手臂攻击击中任意体型的对手。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。如果它成功将对手定身,就可以自动造成啮咬伤害。

''墨汁云 (Ex):''每分钟1次,章鱼可以通过一个即时动作喷出一道10尺高、10尺宽、10尺长的墨汁云。这团墨汁云能造成全隐蔽效果,章鱼通常在打败仗时使用此能力逃离。墨汁云中所有视线都被遮蔽。

''喷射 (Ex):''每轮一次,章鱼可以通过一个整轮动作以200尺的速度向后移动。它只能做出直线运动,但喷射时不会引发借机攻击。

''技能:''章鱼可以变色,在进行躲藏检定时可获得+4的种族加值。

章鱼也可以压缩扭曲其身体,在进行逃脱术检定时可获得+10的种族加值。

在进行游泳检定做出特殊动作或躲避危险时,章鱼可获得+8的种族加值。它可以在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。
!!Ogre Mage(食人魔巫师)

''大型巨人''

|''生命骰:'' 5d8+15(37hp)|
|''先攻权:'' +4|
|''速度:'' 40尺(8格);飞行40尺(良好)|
|''防御等级:'' 18(-1体型,+5天生,+4链甲衫);接触9,措手不及18|
|''基本攻击/擒抱:'' +3/+12|
|''攻击:'' 巨剑+7近战(3d6+7/19-20),或长弓+2远程(2d6/*3)|
|''全回合攻击:'' 巨剑+7近战(3d6+7/19-20),或长弓+2远程(2d6/*3)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 类法术能力|
|''特性:'' 黑暗视觉90尺,昏暗视觉,再生5,法术抗力19|
|''豁免:'' 强韧+7,反射+1,意志+3|
|''属性:'' 力量21,敏捷10,体质17,智力14,感知14,魅力17|
|''技能:'' 专注+11,聆听+10,法术辨识+10,侦察+10|
|''专长:'' 寓守于攻,精通先攻|
|''环境:'' 寒冷丘陵|
|''组织:'' 单独,成双,或成群(1-2加上2-4食人魔)|
|''挑战等级:'' 8|
|''宝物:'' 双倍标准|
|''阵营:'' 通常守序邪恶|
|''进化:'' 视人物职业而定|
|''等级调整:'' +7|

食人魔巫师比他们表亲更加狡猾且危险。食人魔巫师身高10尺并且体重达到700磅,它们的肤色介于浅绿和浅蓝之间,毛发的颜色则是黑色或是深棕。食人魔巫师喜欢穿着宽松舒适的衣物和轻型护甲。


!!!!战斗
食人魔巫师主要依靠它们的类法术能力作战,只有必要时才投入物理搏斗当中,当遭遇明显强大的对手时,它们倾向于使用汽化形体逃脱而不是进行一场必败无疑的战斗。

''类法术能力:''施法者等级9级。豁免DC基于魅力。

|//随意施展// - 黑暗术,隐形;|
|//1次/天// - 魅惑人类(DC 14),寒冰锥(DC 18),汽化形体,睡眠术(DC 14)。|

''飞行(SU):''食人魔巫师可以使用一个自由动作停止或继续飞行,当它使用汽化形体后它可以以正常速度飞行并且机动性完美。

''变形(SU):''食人魔巫师可以变形为任意小型,中型或大型的类人生物或巨人。

''再生(EX):''火焰和强酸可以对食人魔巫师造成正常伤害,食人魔巫师若失去一部分身体或肢干,只需要将断裂的部分贴在断口上即可接起来,整个接续过程持续1分钟。如果它的头部或者其他重要身体器官被切断,必须在10分钟内接续回来否则该食人魔巫师会死亡。食人魔巫师无法长出它失去的身体部分。

!!!食人魔巫师人物
食人魔巫师人物具有以下种族特性

*+10力量,+6体质,+4智力,+4感知,+6魅力
*大型生物 -1 护甲等级,-1攻击检定,-4躲藏检定,+4擒抱检定,负重能力为中等生物的两倍。
*占据/ 触及 10尺/10尺。
*食人魔巫师的陆地基本速度为40尺,同时它的飞行速度为40尺(良好)。
*黑暗视觉60尺。(前面说黑暗视觉90尺?我的SRD有问题,请指教)
*种族生命骰:食人魔拥有5个巨人等级,他有5d8的生命骰,基本攻击加值为+3,并且基本豁免为强韧+4,反射+1和意志+1。 
*种族技能:食人魔的巨人等级提供了8*(2+智力调整,最少1)的技能点数,它的本职技能是专注,聆 听,法术辩识和侦察。
*天生专长:食人魔有两个专长
*武器以装甲熟练:食人魔自动获得简易武器,军用武器,轻甲,中甲和盾牌熟练。
*+5天生防御等级
*特殊攻击(见上):类法术能力
*特性(见上):再生5,法术抗力 19
*天生使用语言:通用语,巨人语。额外语言:矮人语,地精语,炼狱语,兽人语。
*天赋职业:术士
*等级调整 +7

!!Ogre(食人魔)

''大型巨人''

|''生命骰:'' 4d8+11(29hp)|
|''先攻权:'' -1|
|''速度:'' 30尺(着革甲)(6格);基本速度40尺|
|''防御等级:'' 16(-1体型,-1敏捷,+5天生,+3革甲);接触8,措手不及16|
|''基本攻击/擒抱:'' +3/+12|
|''攻击:'' 巨木棒+8近战(2d8+7),或标枪+1远程(1d8+5)|
|''全回合攻击:'' 巨木棒+8近战(2d8+7),或标枪+1远程(1d8+5)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' —|
|''特性:'' 黑暗视觉60尺,昏暗视觉|
|''豁免:'' 强韧+6,反射+0,意志+1|
|''属性:'' 力量21,敏捷8,体质15,智力6,感知10,魅力7|
|''技能:'' 攀爬+5,聆听+2,侦察+2|
|''专长:'' 健壮,武器专攻(巨木棒)|
|''环境:'' 温带丘陵(水生亚种:温带水域)|
|''组织:'' 单独,成双,成队(3-4),或成群(5-8)|
|''挑战等级:'' 3|
|''宝物:'' 标准|
|''阵营:'' 通常混乱邪恶|
|''进化:'' 视人物职业而定|
|''等级调整:'' +2|


!!Ogre , 4th-level Barbarian(食人魔,4级野蛮人)

''大型巨人''

|''生命骰:'' 4d8+19加4D12+16(79hp)|
|''先攻权:'' +0|
|''速度:'' 40尺(着革甲)(8格);基本速度50尺|
|''防御等级:'' 19(-1体型,+5天生,+4+1革甲,+1防护戒指+1),接触10,措手不及19|
|''基本攻击/擒抱:'' +7/+19|
|''攻击:'' +1巨木棒+16近战(2d8+13),或标枪+6远程(1d8+8)|
|''全回合攻击:'' +1巨木棒+16/+11近战(2d8+13),或标枪+6远程(1d8+8)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 狂暴2次/天|
|''特性:'' 黑暗视觉60尺,昏暗视觉,陷阱感知+1,直觉闪避|
|''豁免:'' 强韧+12,反射+2,意志+2|
|''属性:'' 力量26,敏捷8,体质18,智力8,感知10,魅力4|
|''技能:'' 攀爬+13,躲藏-6,跳跃+17,聆听+6,侦察+2|
|''专长:'' 猛力攻击,健壮,武器专攻(巨木棒)|
|''环境:'' 温带丘陵|
|''组织:'' 单独,成双,成队(1外加1-3食人魔),或成群(1外加4-7食人魔)|
|''挑战等级:'' 7|
|''宝物:'' 标准(包括+1革甲,+1巨木棒,防护戒指+1)|
|''阵营:'' 通常混乱邪恶|
|''进化:'' 视人物职业而定|
|''等级调整:'' +2|


成年食人魔身高9到10尺,体重约为600到650磅。它们的皮肤颜色从暗黄到暗棕不等,衣物则包括质量很差的毛皮和皮革,同时这些物品上也带着他们天生的臭气。

食人魔说巨人语,那些智力超过10的亚种也会说通用语。

!!!战斗
相比起公平的战斗,食人魔更喜欢具有压倒性的优势战斗,以及偷袭和埋伏,他们的智力足已让他们明白在敌人近身之前先用远程武器将其弱化,但是食人魔小队和团队作战方式却是无组织的各自为战。


!!!食人魔野蛮人
混乱的天性与力量体型的结合造就了食人魔天生就是成为野蛮人的材料。的确,食人魔的领袖常常是低等级或中级的野蛮人,而这些野蛮的怪兽在战斗时爆发出来的狂怒确实另人畏惧。狂暴的食人魔野蛮人对其他的食人魔也是个极大的激励。

!!!!战斗
一般来说食人魔野蛮人比他们的同胞更理智一些,也稍微倾向于公平战斗,不过大体上还是更热衷于种族的野蛮战术。
狂暴(EX):每天两次,食人魔野蛮人可以进入一种纯粹的狂怒状态9轮。在它的狂暴持续时间之内它的数据做如下调整:AC17(接触8,措手不及17),hp 95,攻击检定 +18/+13 近战(2d6+16, +1巨木棒);强韧|+14,意志+4;力量30,体质22,攀爬+15,跳跃+16,狂暴结束之后,该食人魔野蛮人会进入疲劳状态。
陷阱感知(EX):食人魔野蛮人在躲避陷阱的反射豁免上有+1加值,同时它对抗陷阱的攻击时AC有+1加值。
直觉闪避(EX):食人魔野蛮人在措手不及时或被不可见的攻击者攻击时依然保留AC上的敏捷加值。它的AC敏捷加值是+0,但是它并不会在上述情况中被游荡者偷袭。


!!!水生食人魔(MERROW)
这些食人魔是它们陆地表亲的水生亚种。它们仅仅居住在清洁的河流和湖泊等水生环境中,陆行速度为30尺,游泳速度为40尺。水生食人魔使用长矛(攻击检定+8 近战斗,伤害1D8+7)代替陆地表亲的巨木棒。



!!!食人魔人物
食人魔人物具有以下种族特性

*+10力量,-2敏捷,+4体质,-4智力,-4魅力
*大型生物 -1 护甲等级,-1攻击检定,-4躲藏检定,+4擒抱检定,负重能力为中等生物的两倍。
*占据/ 触及 10尺/10尺。
*食人魔的陆地基本速度为40尺。
*黑暗视觉60尺。
*种族生命骰:食人魔拥有4个巨人等级,他有4d8的生命骰,基本攻击加值为+3,并且基本豁免为强韧+4,反射+1和意志+1。 
*种族技能:食人魔的巨人等级提供了7*(2+智力调整,最少1)的技能点数,它的本职技能是攀爬,聆 听和侦察。
*天生专长:食人魔有两个专长
*武器以装甲熟练:食人魔自动获得简易武器,军用武器,轻甲,中甲和盾牌熟练。
*+5天生防御等级
*天生使用语言:通用语,巨人语。额外语言:矮人语,兽人语,地精语,土族语。
*天赋职业:野蛮人
*等级调整 +2.
''Onyx Dog玛瑙犬'':活化后成为战犬,智力值8,会讲通用语,并具有特殊嗅觉与视觉能力(具有灵敏嗅觉使“侦察”和“搜索”检定有+4加值、黑暗视觉能力(范围60英尺),以及“识破隐形”)。此物品每周可使用一次,每次最多6小时,只听从使用者的命令。

施法者等级:11。先决条件:“制造奇物”,“活化物体”。交易价格:15500金币。重量:不记。
泥形怪物类(Ooze):泥形怪物是无具体形状或易变形的生物,通常没有心智。

//特征://泥形怪物具有下列特征。

*d10生命骰。
*基本攻击奖励等于3/4生命骰数总和(类似于牧师)。
*擅长的豁免检定:无。
*技能点数等于每个生命骰(2+智力调整值,最少为1),第一个生命骰的技能点数为它的四倍,前提是此泥形怪物有智力属性。但是,大多数泥形怪物没有心智,也不会获得技能和专长。

//特性://泥形怪物拥有下列特性(除非生物描述中另有说明)。

*无心智:没有智力值,因此免疫所有影响心灵(mind*affecting)的效果(魅惑[charm]、胁迫[compulsion]、魅影幻觉[phantasm]、心灵幻觉[pattern]、以及士气效果[morale effect])。
*盲目(但具有盲视特性),因此免疫凝视攻击、视觉效果、幻象和其他依赖视觉的攻击形式。
*对毒素、睡眠、麻痹、变形和震慑免疫。
*某些泥形怪物能够对物体造成强酸伤害。这种情况下每接触一整轮造成伤害的数目等于10+1/2泥形怪物的种族HD+它的体质调整值。
*不受重击或夹击。
*仅熟练使用它的天生武器。
*不熟练使用任何盔甲。
*泥形怪物需要进食和呼吸,但不需要睡眠。

泥形怪是种没有固定形态的生物,活着就是为了吃。它们寄居于各地的地下区域,侵蚀而成的洞穴,废墟和地下城中,寻找有机物——无论是死是活。

!!!战斗
泥形怪会攻击任何它们遇到的生物。它们会用伪足猛击或简单的用身体将对方吞没,它们会分泌帮助捕获和消化猎物的酸液。
''
盲感(特异):''泥形怪全身都遍布感觉器官,它们会自动察觉周围60尺内的气味和振动。

!!!Black Pudding(黑布丁怪)

''超大型泥形怪''

|''生命骰:'' 10d10+60(115hp)|
|''先攻权:'' –5|
|''速度:'' 20尺(4格),攀爬20尺|
|''防御等级:'' 3(-2体型,-5敏捷),接触3,措手不及3|
|''基本攻击/擒抱:'' +7/+18|
|''攻击:'' 挥击+8近战(2d6+4额外2d6强酸)|
|''全回合攻击:'' 挥击+8近战(2d6+4额外2d6强酸)|
|''面宽/触及:'' 15尺/10尺|
|''特殊攻击:'' 强酸,紧勒2d6+4额外2d6强酸,精通擒抱|
|''特性:'' 盲感60尺,分裂,泥形生物特征|
|''豁免:'' 强韧+9,反射-2,意志-2|
|''属性:'' 力量17,敏捷1,体质22,智力—,感知1,魅力1|
|''技能:'' 攀爬+11|
|''专长:'' —|
|''环境:'' 地底|
|''组织:'' 单独|
|''挑战等级:'' 7|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 11–15HD(超大型);16–30HD(巨型)|
|''等级调整:'' —|


这种黑布丁怪宽15尺厚2尺。重约18000磅。

!!!!战斗
黑布丁怪使用擒抱和挤压来猎食。

''强酸(特异):''该生物分泌带强酸的消化液,能分解有机物和金属,唯有石头例外。任何成功的近战或紧勒攻击都将造成酸性伤害。除非通过DC21的反射检定否则对方的盔甲和服装将被毁坏。任何攻击它的金属或木制武器除非通过DC21的反射鉴定否则将被分解毁坏。本项豁免DC基于体质。布丁怪的酸液每轮可以对木制或金属造成21点伤害,但泥形怪必须和这项物品保持一整轮的接触以造成伤害。

''紧勒(特异):''黑布丁怪成功通过擒抱检定将自动造成挥击和强酸伤害。对方的服装和盔甲在对抗酸液的反射检定时承受-4惩罚。

''精通擒抱(特异):''使用本能力黑布丁怪需要先以挥击命中目标。它能以自由动作进入擒抱而不受借机攻击。擒抱成功将造成定身和紧勒。

''分裂(特异):''挥砍和穿刺武器不能对黑布丁怪造成伤害,而是将它们分裂成两个,每个拥有原始生命值的一半(小数点以下舍去)。只有10或少于10点生命的黑布丁怪不能再次分裂,如果生命降到0则死亡。

''技能:''黑布丁怪在攀爬上有+8的种族加值,并且在攀爬上可以任意取10,即使受到攻击或匆忙中也可直接取10。


!!!Gelatinous Cube(胶质怪)

''超大型泥形怪''

|''生命骰:'' 4d10+32(54hp)|
|''先攻权:'' -5|
|''速度:'' 20尺(3格),攀爬20尺|
|''防御等级:'' 3(-2体型,-5敏捷),接触3,措手不及3|
|''基本攻击/擒抱:'' +3/+11|
|''攻击:'' 挥击+1近战(1d6额外1d6强酸)|
|''全回合攻击:'' 挥击+1近战(1d6额外1d6强酸)|
|''面宽/触及:'' 15尺/10尺|
|''特殊攻击:'' 强酸,包卷,麻痹|
|''特性:'' 盲感60尺,对电免疫,泥形生物特征,伪装|
|''豁免:'' 强韧+9,反射–4,意志–4|
|''属性:'' 力量10,敏捷1,体质26,智力—,感知1,魅力1|
|''技能:'' —|
|''专长:'' —|
|''环境:'' 地底|
|''组织:'' 单独|
|''挑战等级:'' 3|
|''宝物:'' 1/10钱币,50%物品(没有非金属和非石制),50%装备(没有非金属和非石制)|
|''阵营:'' 总是中立|
|''进化:'' 5–12HD(超大型);13–24HD(巨型)|
|''等级调整:'' —|

一团近乎透明的胶状立方体在地城的走廊或是洞穴的地面上以寻找腐肉,生物和垃圾为食。至于无机物则会留在他体内,可以从外面看到。

一只胶质怪大约有15尺见方重50000磅,然则有些未知的个体可能长得更大。

!!!!战斗
胶质怪用身体攻击对方。它们能用伪足挥击,但通常会包卷敌人。

''强酸(特异):''胶质怪的酸液不能对金属和石头造成伤害。

''包卷(特异):''虽然移动的很缓慢,胶质怪依然能以标准动作用身体包卷大型到小型生物。在包住对方的那一轮,无法同时用挥击攻击。胶质怪向前移动,尽可能的用身体包住对方。对手可以选择对它做一次借机攻击,但如果这样做就失去了进行豁免检定的机会。对手如果没有采取借机攻击,就必须通过反射检定(DC13),否则就被包卷起来。如果成功通过鉴定,他在胶质怪移动的时候会被推向后面或侧面(方向由于被包卷者决定)。遭到包拳的生物将受到麻痹和强酸伤害,视同遭擒抱,并被困在腐化胶质怪体内。此项DC基于力量,包括+1种族加值。

''麻痹(特异):''胶质怪会分泌一种麻痹黏液。被胶质怪近战或包卷命攻击命中必须通过DC20的强韧检定,否则将麻痹3d6轮。胶质怪会自动包卷被麻痹的对手。此项DC基于体质。

''伪装(特异):''胶质怪难以辨识,只有通过DC15的侦察检定才能发现他们。如果有生物没有发现灰泥怪而走到它身上,将自动进入包卷状态。


!!!Gray Ooze(灰泥怪)

''中型泥形怪  ''

|''生命骰:'' 3d10+15(31hp)|
|''先攻权:'' -5|
|''速度:'' 10尺(2格)|
|''防御等级:'' 5(-5敏捷),接触5,措手不及5|
|''基本攻击/擒抱:'' +2/+3|
|''攻击:'' 挥击+3近战(1d6+1额外1d6强酸)|
|''全回合攻击:'' 挥击+3近战(1d6+1额外1d6强酸)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 强酸,紧勒1d6+1额外1d6强酸,精通擒抱|
|''特性:'' 盲感60尺,对寒系和火系伤害免疫,泥形生物特征,伪装豁免:强韧+6,反射–4,意志–4|
|''豁免:'' 力量12,敏捷1,体质21,智力—,感知1,魅力1|
|''属性:'' —|
|''技能:'' —|
|''专长:'' 寒冷的沼泽|
|''环境:'' 单独|
|''组织:'' 4|
|''挑战等级:'' 无|
|''宝物:'' 总是中立|
|''阵营:'' 4–6HD(中型);7–9HD(大型)|
|''进化:'' —|
|''等级调整:'' —|


灰泥怪能长到直径10尺,厚达6寸,重约700磅。

!!!!战斗
灰泥怪攻击的时候就像条蛇,用它的身体挥击对手。

''强酸(特异):''灰泥怪分泌带强酸的消化液,能分解有机物和金属,唯有石头例外。任何成功的近战或紧勒攻击都将造成酸性伤害。除非通过DC16的反射检定否则对方的盔甲和服装将被毁坏。任何攻击它的金属或木制武器除非通过DC16的反射鉴定否则将被分解毁坏。本项豁免DC基于体质。

灰泥怪的酸液每轮可以对木制或金属造成16点伤害,但泥形怪必须和这项物品保持一整轮的接触以造成伤害。

''紧勒(特异):''灰泥怪成功通过擒抱检定将自动造成挥击和强酸伤害。对方的服装和盔甲在对抗酸液的反射检定时承受-4惩罚。

''精通擒抱(特异):''使用本能力灰泥怪需要先以挥击命中目标。它能以自由动作进入擒抱而不受借机攻击。擒抱成功将造成定身和紧勒。
 
''伪装(特异):''灰泥怪难以辨识,只有通过DC15的侦察检定才能发现他们。如果有生物没有发现灰泥怪而走到它身上,将自动受到近战的挥击和强酸伤害。




!!!Ochre Jelly(赭冻怪)

''大型泥形怪''

|''生命骰:'' 6d10+36(69hp)|
|''先攻权:'' -5|
|''速度:'' 10尺(2格),攀爬10尺|
|''防御等级:'' 4(-1体型,-5敏捷),接触4,措手不及4|
|''基本攻击/擒抱:'' +4/+10|
|''攻击:'' 挥击+5近战(2d4+3额外1d4强酸)|
|''全回合攻击:'' 挥击+5近战(2d4+3额外1d4强酸)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 强酸,紧勒2d4+3额外1d4强酸,精通擒抱|
|''特性:'' 盲感60尺,分裂,泥形生物特征|
|''豁免:'' 强韧+8,反射-3,意志-3|
|''属性:'' 力量15,敏捷1,体质22,智力—,感知1,魅力1|
|''技能:'' 攀爬+10|
|''专长:'' —|
|''环境:'' 温暖的沼泽|
|''组织:'' 单独|
|''挑战等级:'' 5|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 7–9HD(中型);10–18HD(大型)|
|''等级调整:'' —|


赭冻怪能长到直径15尺,厚达6寸,但它可以挤压自己的身体穿过大小1寸宽的裂缝。赭冻怪重约5600磅。

!!!!战斗
赭冻怪喜欢包圈和挤压它的猎物。

''强酸(特异):''胶质怪分泌的消化酸液只能分解皮肉。任何近战命中和紧勒攻击都将造成强酸伤害。

''紧勒(特异):''赭冻怪成功通过擒抱检定将自动造成挥击和强酸伤害。

''精通擒抱(特异):''使用本能力赭冻怪需要先以挥击命中目标。它能以自由动作进入擒抱而不受借机攻击。擒抱成功将造成定身和紧勒。

''分裂(特异):''挥砍武器和电系伤害不会对赭冻怪造成伤害,而是将它们分裂成两个,每个拥有原始生命值的一半(小数点以下舍去)。只有10或少于10点生命的赭冻怪不能再次分裂,如果生命降到0则死亡。

''技能:''赭冻怪在攀爬上有+8的种族加值,并且在攀爬上可以任意取10,即使受到攻击或匆忙中也可直接取10。 

!! Open Lock(开锁)(敏捷;需受训)

没有盗贼工具的情况下尝试开锁要受到-2环境减值,即便使用了简易工具也是如此。如果使用精制品盗贼工具,则在检定上可以获得+2环境加值。

''检定:''开锁的DC在20到40之间,依赖于锁的质量,见下表。

|!	锁 	|!	DC 	|!	锁 	|!	DC	|
|^	非常简单的锁 	|^	20 	|^	质量好的锁 	|^	30	|
|^	一般的锁	|^	25 	|^	非常好的锁 	|^	40	|

 

''动作:''开锁是一个整轮动作。

''特别:''如果你有灵活手指专长(Nimble Fingers),在开锁检定上获得+2加值。

''未受训:''没经过训练你不能开锁,但是也许你可以强行打开它们。

!!!开关术(Open/Close)
|变化系|
|''等级:''吟游诗人0,术士/法师0|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''重量至多30磅的物品,或可以开、关的门户|
|''持续时间:''立即|
|''豁免:''意志,通过则无效(物品)|
|''法术抗力:''可(物品)|
|你可以开或关(由你选择)门、箱子、盒子、窗户、袋子、瓶子或其他容器。如果任何东西阻碍了开、关动作(例如门上的门闩或箱子上的锁),此法术就失效。另外,此法术只能开关重量轻于30磅的东西。因此,为身形巨大生物而设计的门、箱子或类似的物品将超出法术的能力范围。|
|//器材://一把黄铜钥匙。|
''Orb of Storms(天变球)'': 直径8英寸的玻璃球。持有者可以引发任何型态的天气,甚至包括具破坏力的超自然风暴。此球每天可以施展“操控天气”一次,每月可以施展“复仇风暴”一次。使用者获得忍耐元素伤害的保护效果

Strong varied; CL 18th; Craft Wondrous Item, control weather, endure elements, storm of vengeance; Price 48,000gp;Weight 6 lb.
''兽人,一级武者''

''中型类人生物(兽人)''

|''生命骰:'' 1d8+1(5hp)|
|''先攻权:'' +0|
|''速度:'' 30英尺.(6格)|
|''防御等级:'' 13(+3镶嵌皮甲),接触10,措手不及13|
|''基本攻击/擒抱:'' +1/+4|
|''攻击:'' 大弯刀+4近战(2d4+4/18–20)或标枪+1远程(1d6+3)|
|''全回合攻击:'' 大弯刀+4近战(2d4+4/18–20)或标枪+1远程(1d6+3)|
|''面宽/触及:'' :5英尺/5英尺.|
|''特殊攻击:'' —|
|''特性:'' 黑暗视觉60ft.,强光敏感|
|''豁免:'' 强韧+3,反射+0,意志–2|
|''属性:'' 力量17,敏捷11,体质12,智力8,感知7,魅力6|
|''技能:'' 聆听+1,侦察+1|
|''专长:'' 警觉|
|''环境:'' 温暖的丘陵|
|''组织:'' 小组(2–4),排(11–20个加上两个3级士官和一个3~6级的班长),或连(30–100个加上150%非战斗人员,每10个成人一个3级士官,加上5个5级中尉,三个7级上尉)|
|''挑战等级:'' 1/2|
|''宝物:'' 标准|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 根据角色等级。|
|''等级调整:'' +0|


兽人的毛发通常是黑色的。他们有着和狼一样的耳朵,和发红的双眼。 兽人喜欢那种明亮得让大部分人类都觉得不舒服的鲜艳服装,比如血红,芥末黄,黄绿色和深紫色。他们的装备肮脏而缺乏保养。一个成年男性兽人身高略微超过6英尺,体重约210磅。兽人女性略微瘦小一点。

每个部落的兽人的口语都有一定的差异,但是兽人可以听懂对方说的兽人语。某些兽人也懂得地精语和巨人语。

大多数离开他们的家乡的兽人都是武者。这里的数据基于一个一级武者。

!!!战斗
兽人熟练所有的简单武器,并且偏好那些最短时间内能造成最大伤害的类型。拥有武者或战士等级的兽人往往熟练大弯刀或巨斧作为军用武器。他们享受从隐蔽中发起偷袭和设置伏击的乐趣,他们只会在这样做他们有利的时候才遵守战场的规则(例如,遵守停战协定)。

''强光敏感 (Ex): ''兽人在明亮阳光或日光术范围内处于目眩状态.

!!!兽人人物

兽人特性 (Ex): 兽人拥有以下种族特性 

* +4力量, –2 智力, –2感知, –2 魅力。
*兽人的基础陆地速度为30英尺
*黑暗视力60英尺
*强光敏感:兽人在明亮阳光或日光术范围内处于目眩状态.
*起始语言:通用语,兽人语。奖励语言:矮人语,巨人语,豺狼人语,地精语和地底通用语。*天赋职业:野蛮人

这里的范例兽人武者在调整前的属性为: 力量 13,敏捷 11, 体质 12,智力 10, 感知 9, 魅力 8.

!!!半兽人
这些兽人和人类的混血儿在兽人和人类的社会中都可以找得到(他们的社会地位则由当地的普遍观点而各有不同。)。半兽人往往是他们的父母身体特征的完全混合。他们和人类一样高,托他们发达的肌肉的富,略微重一点。他们皮肤发绿,面孔略有猪的样子。额头扁平前冲,下颌突出,突出的獠牙和浓密的体毛。居住在兽人中或兽人附近的半兽人们往往保留自己的伤疤以保持兽人的传统。

半兽人特性 (Ex): 半兽人拥有以下种族特性

*力量+2,智力-2,魅力-2。
*中型体型:由于体型中等,所以在体型上没有加值或者减值。
*黑暗视觉:半兽人(包括兽人)在黑暗中的视力范围是60英尺。黑暗视觉只能分辨黑与白,其他则和正常视力一样,完全无光时,半兽人仍然可以使用黑暗视觉。 
*兽人血统: 在和种族相关的所有效果上,半兽人都视同兽人。
*天生使用语言:通用语和兽人语。额外语言:龙语,巨人语,豺狼人语,地精语和深渊语。
*天赋职业:野蛮人。
!!!秩序之怒(Order’S Wrath)
|塑能系[秩序]|
|''等级:''秩序4|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''区域:''爆发范围(各边长30英尺的立方区域)内的所有非守序阵营的生物。|
|''持续时间:''立即(1轮);见说明|
|''豁免:''意志,通过则部分生效;见说明|
|''法术抗力:''可|
|你引导秩序的力量重击敌人。这股力量会形成一个由能量网组成的三维立方体。只有混乱或者中立(非守序)阵营的生物都会受伤。|
|施法者每2等级可以对混乱阵营的生物造成1d8点伤害(最高5d8),并使他们晕眩1轮。如果是对混乱阵营的异界生物,则施法者每等级可以造成1d6点伤害(最大10d6),并使他们晕眩1轮。如果成功地通过意志检定,则伤害减半,且不会晕眩。 |
|对于既非守序又非混乱的生物而言,此法术只会造成一半伤害,且不会使他们晕眩。如果他们能成功地通过意志检定的话,伤害会再减半(即投骰结果的四分之一)。|
!!Otyugh(食腐兽)

''大型异怪''

|''生命骰:'' 6d8+9(36hp)|
|''先攻权:'' +0|
|''速度:'' 20尺(4格)|
|''防御等级:'' 17(-1体形,+8天生),接触9,措手不及17|
|''基本攻击/擒抱:'' +4/+8|
|''攻击:'' 触手+4近战(1d6)|
|''全回合攻击:'' 2触手+4近战(1d6)及啮咬-2近战(1d4)|
|''面宽/触及:'' 10尺/10尺(触手15尺)|
|''特殊攻击:'' 紧勒1d6,疾病,精通攫取|
|''特性:'' 60尺黑暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+3,反射+2,意志+6|
|''属性:'' 力量11,敏捷10,体质13,智力5,感知12,魅力6|
|''技能:'' 躲藏-1*,聆听+6,侦察+6|
|''专长:'' 警觉,健壮,武器专攻(触手)|
|''环境:'' 地底|
|''组织:'' 独行,成对,或结群(3-4)|
|''挑战等级:'' 4|
|''宝物:'' 标准|
|''阵营:'' 通常绝对中立|
|''进化:'' 7-8HD(大型);9-18HD(超大型)|
|''等级调整:'' -|


典型的食腐兽身体越8尺方圆,重约500磅。

食腐兽可以使用通用语。

!!!战斗

食腐兽如果受到威胁或是感到饥饿,会攻击活物,否则将保持隐藏。食腐兽的触手可以用来抽打挤压目标,也可以用来把猎物送进嘴里。

''紧勒 (EX):''食腐兽可以通过擒抱检定造成触手伤害。

''疾病 (EX):''腐热症,啮咬,强韧检定DC 14,潜伏期1d3天;伤害1d3敏捷及1d3体质。本能力豁免DC基于体质。

''精通攫抓 (Ex):''使用此能力之前,食腐兽必须通过其尾击攻击命中对手。然后它可以通过一个即时动作尝试擒抱对手,此动作不会引发借机攻击。如果它成功将对手定身,就可以开始紧勒。

''技能:''* 因为颜色类似自然环境,食腐兽在巢穴附近进行躲藏检定时可以得到+8的种族加值。 
''异界生物类(Outsider):''异界生物至少要有一部分本质(但不一定是物质)是主物质位面以外的某个位面的产物。一些生物可能原本属于其它类型,当它们达到更高(或更低)层次的精神状态时变成了异界生物。

//特征://异界生物具有下列特征。

*d8生命骰。
*基本攻击奖励等于生命骰数总和(类似于战士)。
*擅长的豁免检定:强韧、反射和意志。
*技能点数等于每个生命骰(8+智力调整值,最少为1),第一个生命骰的技能点数为它的四倍。

//特性://异界生物拥有下列特性(除非生物描述中另有说明)。

*60尺黑暗视觉。
*与大多数活物不同,异界生物不具二元性*它的灵魂和身体合二为一。当一个异界生物死亡时,不会有灵魂得到释放。将灵魂返还身体的法术,比如死者复生术(raise dead)、转生术(reincarnate)和复活术(resurrection)无效。它需要其它的法术效果,比如有限祈愿术(limited wish)、祈愿术(wish)、奇迹术(miracle)或完全复活术(true resurrection)来让它恢复生命。
*熟练使用所有简单和军用武器,以及它的说明中所提到的任意武器。
*熟练使用任何和它描述中所穿戴盔甲同类的盔甲(轻、中或重甲),以及比该盔甲轻的盔甲。
说明中没有提到穿戴盔甲的异界生物不能熟练使用盔甲。熟练使用任一盔甲的异界生物可以熟练使用盾牌。
*异界生物需要呼吸,但不需要进食或睡眠(虽然如果想要的话它们也可以这么做)。本地异界生物需要呼吸、进食和睡眠。

!!!翱翔天际(Overland Flight)
|变化系|
|''等级:''术士/法师5|
|''法术成分:''言语,姿势|
|''距离:''个人|
|''目标:''你自己|
|''持续时间:''1小时/每等级|
|此法术作用类似飞行术(fly),只是你只能以40英尺的速度飞行(如果穿着中型或更重的盔甲,或达到中度或重度负重,则只能以30英尺的速度飞行),机动性普通。当使用此法术进行长距离移动时,你可以急行(倍速移动)而不会受到非致命伤害(如果要进行强行军仍然需要做体质检定)。也就是说,你可以通过8小时的连续飞行来移动64英里(如果速度是30英尺,则只能在8小时内移动48英里)。|
!!!闯越(OVERRUN)

在你进行移动的过程中,可以通过一个标准动作来尝试进行闯越。(通常而言,你无法在移动的过程中作出标准动作,但这是一个例外。)在进行闯越时,你可以尝试在移动中从对方的身边穿过,或是从对方的上方越过(直接穿越对方所占据的那个方格)。你只能闯越体型比你大一级、体型和你相同、或是体型比你更小的对手。你每一轮只能进行一次闯越尝试。

如果你试图闯越一个对手,就必须遵循下述的几个步骤:

''步骤 1:借机攻击。''由于你开始闯越时必须先移进防御者所占据的位置,因此你会引发他的一次借机攻击。

''步骤 2:对方是否避开你?''防御者可以选择只是简单地避开你。如果他选择避开你,则他本身不会受到任何不良影响,而你可以继续移动下去(如果占据该位置的生物愿意让你通过的话,你总是可以成功地穿过该方格)。在上述情况下,这次闯越尝试就不算作你在本轮中所消耗的动作(当然,你用来移进对方方格的动作本身还是要算作你在本轮中所消耗的动作)。而如果你的对手没有避开你,那么继续进行步骤3。

''步骤 3:对方是否阻挡你?''如果你的对手选择阻挡你,你就必须进行一次力量检定来对抗防御者的敏捷检定或是力量检定(采用调整值更高的那个属性)。对抗者每比中型大一级,就可以在检定时得到+4的加值,而每比中型小一级,则会受到-4的减值。如果防御者有2条以上的腿,或是有其它可以用来稳住身体的依靠可以使其比一般的类人生物站得更稳,那么就可以在力量检定上得到+4的加值。如果你胜出,你就可以将防御者击倒。如果你失败了,防御者则可以立即作出反击,用他的力量检定来对抗你的敏捷或是力量检定(要计入上文所述的体型调整值,但不包括其它调整值)以尝试反过来将你击倒。

''步骤 4:结果。''如果你成功地将对手击倒,你就可以像平时一样继续进行移动。如果你失败而且反而被对方击倒,那么你就必须沿着移进的路线原路退回5英尺,然后倒在那里,并且在该位置上结束你的移动。如果你失败但没有被对方击倒,你也必须沿着移进的路线原路退回5英尺,然后在该位置上结束你的移动。如果该位置已经被其它生物占据,那么你就会倒在这个方格里。

''精通闯越:''如果你有精通闯越专长,那么你的目标就无法选择避开你。

''乘骑闯越(践踏):''如果你在乘骑时进行闯越尝试,你的坐骑就必须进行力量检定来决定这次闯越攻击是成功还是失败(并且检定时是加上坐骑自身的体型调整值,而不是你的。)如果你有“践踏”(Trample)专长并且是在乘骑时进行闯越尝试,你的目标就无法选择避开你,而且如果你在闯越时成功地将目标击倒,你的坐骑还可以顺势对该目标进行一次蹄踢攻击。
!!Owl, Giant(巨猫头鹰)

''大型魔法兽''

|''生命骰:'' 4d10+4(26hp)|
|''先攻权:'' +3|
|''速度:'' 10尺(2格),飞行70尺(普通)|
|''防御等级:'' 15(-1体型,+3敏捷,+3天生),接触12,措手不及12|
|''基本攻击/擒抱:'' +4/+12|
|''攻击:'' 爪抓+7近战(1d6+4)|
|''全回合攻击:'' 2爪抓+7近战(1d6+4)和啮咬+2近战(1d8+2)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' —|
|''特性:'' 进阶昏暗视觉|
|''豁免:'' 强韧+5,反射+7,意志+3|
|''属性:'' 力量18,敏捷17,体质12,智力10,感知14,魅力10|
|''技能:'' 知识(自然)+2,聆听+17,潜行+8*,侦察+10|
|''专长:'' 警觉,飞行横转Wingover|
|''环境:'' 温暖的森林|
|''组织:'' 单独,成双或成队(3-5)|
|''挑战等级:'' 3|
|''宝物:'' 无|
|''阵营:'' 通常是中立善良|
|''进化:'' 5-8HD(大型);9-10HD(超大型)|
|''等级调整:'' +2(作为伙伴)|


巨猫头鹰是在夜间捕食的猛禽,出色的猎杀能力与寂静无声的攻击使他变得令人畏惧。它们智力很高,虽然天性很多疑,但还是会和善良生物交往。一只典型的巨猫头鹰站立时高9尺,翼展可达20尺,在其他方面都和它们体型较小的同类相似。

巨猫头鹰会说通用语和木族语。

!!!战斗
巨猫头鹰在发动攻击前会寂静的滑翔一段,然后直接从猎物的头顶扑下去。

''进阶昏暗视觉(特异):''巨猫头鹰在昏暗的光线下的可视距离,相当于人类在同等条件下的5倍。

''技能:''巨猫头鹰在进行聆听检定时获得+8种族加值,在侦察检定时获得+4种族加值。

*在战斗中,巨猫头鹰在进行潜行检定时获得+8种族加值

!!!训练巨猫头鹰

尽管很有智慧,巨猫头鹰在作为战斗坐骑前仍需要接受必要的训练。被训练时,训练师必须和巨猫头鹰保持良好的关系(可以通过成功的交涉检定达成此效果)。训练一个友善的巨猫头鹰需要六周并通过DC25的驯养动物检定。乘骑巨猫头鹰需要特殊鞍座。巨猫头鹰载着骑手依然可以战斗,但此骑手除非通过乘骑检定否则不能同时战斗。

巨猫头鹰蛋的市场价为2500gp,雏鹰每只4000gp。雇佣一名专业训练师培育或训练巨猫头鹰的价格为1000gp。

''负重:''对于巨猫头鹰而言300磅为轻载,301-600磅为中载,601-900为重载。 
!!!群体枭之睿智(Owl’S Wisdom, Mass)
|变化系|
|''等级:''牧师6,德鲁伊6,术士/法师6|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''1个生物/每等级,任意两者之间不得超过30英尺|
|该法术和枭之睿智相类似,只是可以影响多个生物。|
!!!枭之睿智(Owl’S Wisdom)
|变化系|
|''等级:''牧师2,德鲁伊2,圣武士2,巡林客2,术士/法师2|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的一个生物|
|''持续时间:''1分钟/施法者每等级|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可|
|受术者变得更睿智。此法术给予受术者的感知+4的增强加值,从而会给感知有关的技能带来通常的好处。牧师,德鲁伊,圣武士和巡林客(以及其他以感知为施法的关键属性的施法者)接受枭之睿智后并不会因为感知的增加而获得额外法术,但他们法术的DC会因为感知的增加而提升。|
|//奥术材料成分://一些猫头鹰的羽毛,或一小撮猫头鹰的粪便。|
!!Owl(猫头鹰 )

''超小型动物''

|''生命骰:'' 1d8 (4 hp)|
|''先攻权:'' +3|
|''速度:'' 10尺 (2格),飞行40尺 (普通)|
|''防御等级:'' 17 (+2体型,+3敏捷,+2天生),接触15,措手不及14|
|''基本攻击/擒抱:'' +0/ -11|
|''攻击:'' 爪抓 +5 近战 (1d4-3)|
|''全回合攻击:'' 爪抓 +5 近战 (1d4-3)|
|''面宽/触及:'' 2-1/2尺/ 0尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉|
|''豁免:'' 强韧+2,反射+5,意志+2|
|''属性:'' 力量4,敏捷17,体质10,智力2,感知14,魅力4|
|''技能:'' 聆听+16,潜行+17,侦察+8*|
|''专长:'' 警觉,武器娴熟|
|''环境:'' 温带森林|
|''组织:'' 单独|
|''挑战等级:'' 1/ 4|
|''进化:'' 2HD (小型)|
|''等级调整:'' -|

这里列出的数据以体长1到2尺,翼展6尺的夜行性猛禽为基准。猫头鹰使用其双爪同时攻击。

!!!战斗
猫头鹰安静地俯冲向猎物,用其有力的爪进行攻击。

''技能:''在进行聆听检定时猫头鹰可获得+8的种族加值,进行潜行检定时可获得+14的种族加值。*在阴暗区域进行侦察检定时猫头鹰可获得+8的种族加值。
!!Owlbear(枭熊)

''大型魔法兽''

|''生命骰:'' 5d10+25(52hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格)|
|''防御等级:'' 15(-1体型,+1敏捷,+5天生),接触10,措手不及14|
|''基本攻击/擒抱:'' +5/+14|
|''攻击:'' 爪抓+9近战(1d6+5)|
|''全回合攻击:'' 2爪抓+9近战(1d6+5)及啮咬+4近战(1d8+2)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 精通攫抓|
|''特性:'' 灵敏嗅觉|
|''豁免:'' 强韧+9,反射+5,意志+2|
|''属性:'' 力量21,敏捷12,体质21,智力2,感知12,魅力10|
|''技能:'' 聆听+8,侦察+8|
|''专长:'' 警觉,追踪|
|''环境:'' 温带森林|
|''组织:'' 单独,成对,或成群(3-8)|
|''挑战等级:'' 4|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 6-8HD(大型);9-15HD(超大型)|
|''等级调整:'' -|


枭熊的皮毛颜色在棕黑色到黄棕色之间;它的喙是无光泽的象牙色。发育完全的雄性枭熊站立高度可达8尺,重可达1500磅。遭遇到枭熊但幸存下来的冒险者经常会说起他们从枭熊血色的眼睛中所看见的那种充满兽性的狂暴。

!!!战斗
枭熊会攻击它所看见的猎物 - 任何体型大于鼠的生物 - 并且总是会战斗至死为止。它们使用其爪和喙进行攻击,试图攫取猎物并将其撕裂。

''精通攫抓 (Ex):''使用此能力之前,枭熊必须通过其爪抓攻击击中对手。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。
''阵营:''守序善良

''生命骰:''d10

 
!!!! 本职技能
圣武士的本职技能.(和各技能的关键属性)为:专注(体质),手艺(智力),交涉(魅力),驯养动物(魅力),医疗(感知),知识(贵族和皇室)(智力),知识(宗教)(智力),专业(感知),骑术(敏捷),察言观色(感知)。

''1级人物起始技能点:''(2+智力修正)x4

''升级技能点数:''2+智力修正。

 

''表:圣武士''

|!		|!		|!		|!		|!		|!		|!	- 每日法术 -	|<|<|<|
|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!	特殊	|!	1级	|!	2级	|!	3级	|!	4级	|
|^	1 	|^	+1	|^	+2	|^	+0	|^	+0	|^	善良灵光,侦测邪恶,破邪斩1次/天	|^	-	|^	-	|^	-	|^	-	|
|^	2	|^	+2	|^	+3	|^	+0	|^	+0	|^	神恩,圣疗	|^	-	|^	-	|^	-	|^	-	|
|^	3	|^	+3	|^	+3	|^	+1	|^	+1	|^	勇气灵光,神佑	|^	-	|^	-	|^	-	|^	-	|
|^	4	|^	+4	|^	+4	|^	+1	|^	+1	|^	驱散亡灵	|^	0	|^	-	|^	-	|^	-	|
|^	5	|^	+5	|^	+4	|^	+1	|^	+1	|^	破邪斩2次/天,特殊坐骑	|^	0	|^	-	|^	-	|^	-	|
|^	6	|^	+6/+1	|^	+5	|^	+2	|^	+2	|^	移除疾病1次/周	|^	1	|^	-	|^	-	|^	-	|
|^	7	|^	+7/+2	|^	+5	|^	+2	|^	+2	|^		|^	1	|^	-	|^	-	|^	-	|
|^	8	|^	+8/+3	|^	+6	|^	+2	|^	+2	|^		|^	1	|^	0	|^	-	|^	-	|
|^	9	|^	+9/+4	|^	+6	|^	+3	|^	+3	|^	移除疾病2次/周	|^	1	|^	0	|^	-	|^	-	|
|^	10	|^	+10/+5	|^	+7	|^	+3	|^	+3	|^	破邪斩3次/天	|^	1	|^	1	|^	-	|^	-	|
|^	11	|^	+11/+6/+1	|^	+7	|^	+3	|^	+3	|^		|^	1	|^	1	|^	0	|^	-	|
|^	12	|^	+12/+7/+2	|^	+8	|^	+4	|^	+4	|^	移除疾病3次/周	|^	1	|^	1	|^	1	|^	-	|
|^	13	|^	+13/+8/+3	|^	+8	|^	+4	|^	+4	|^		|^	1	|^	1	|^	1	|^	-	|
|^	14	|^	+14/+9/+4	|^	+9	|^	+4	|^	+4	|^		|^	2	|^	1	|^	1	|^	0	|
|^	15	|^	+15/+10/+5	|^	+9	|^	+5	|^	+5	|^	移除疾病4次/周,破邪斩4次/天	|^	2	|^	1	|^	1	|^	1	|
|^	16	|^	+16/+11/+6/+1	|^	+10	|^	+5	|^	+5	|^		|^	2	|^	2	|^	1	|^	1	|
|^	17	|^	+17/+12/+7/+2	|^	+10	|^	+5	|^	+5	|^		|^	2	|^	2	|^	2	|^	1	|
|^	18	|^	+18/+13/+8/+3	|^	+11	|^	+6	|^	+6	|^	移除疾病5次/周	|^	3	|^	2	|^	2	|^	1	|
|^	19	|^	+19/+14/+9/+4	|^	+11	|^	+6	|^	+6	|^		|^	3	|^	3	|^	3	|^	2	|
|^	20	|^	+20/+15/+10/+5	|^	+12	|^	+6	|^	+6	|^	破邪斩5次/天	|^	3	|^	3	|^	3	|^	3	|

 

!!!! 职业特性
以下是圣武士的职业特性。

''武器和防具擅长:''圣武士擅长使用所有的简单武器和军用武器以及所有类型的盔甲(重甲,中甲,轻甲),还擅长使用盾牌(除了塔盾)。

''善良灵光(Aura of Good,特异能力):''圣武士的善良灵光强度(见侦测善良(detect good)法术)等于他的圣武士等级。

''侦测邪恶(Detect Evil,类法术能力):''圣武士可以根据意愿使用侦测邪恶(detect evil),效果和同名法术一样。

''破邪斩(Smite Evil,超自然能力):''每天一次,圣武士可以尝试在普通近战攻击的同时进行破邪斩。做破邪斩时命中检定上要加上他的魅力加值(如果有加值),在伤害上额外加上相当于他圣武士等级的数值。如果圣武士对非邪恶生物使用破邪斩,那么没有这些效果,但是依然计入本日使用数量。

5级起和之后的每5级,圣武士每天可以增加一次破邪斩,20级时达到最多每日五次,见表:圣武士。

''神恩(Divine Grace,超自然能力):''2级起,圣武士所有豁免检定上都可以获得一个加值,该加值数量等同于他的魅力加值(如果是加值)。

''圣疗(Lay on Hands,超自然能力):''2级起,魅力值达到12或以上的圣武士可以通过接触治疗伤口(自己或者他人的)。每天他可以治疗的总生命值等于他的圣武士级别乘以他的魅力加值。圣武士可以选择分次使用此能力,不必一次全部使用。使用圣疗是标准动作。

或者,圣武士可以使用他的医疗力量来对不死生物造成伤害。用这种方法使用圣疗需要做一次成功的近战接触攻击,但不会遭到借机攻击。在成功接触到不死生物后,圣武士可以决定用掉多少他的每日医疗数来对其造成伤害。

''勇气灵光(Aura of Courage,超自然能力):''3级起,圣武士对恐惧免疫(不论魔法或其他因素造成的)。在他周围10尺内的伙伴对抗恐惧时豁免检定有+4士气加值。

此能力在圣武士神志清醒时发挥作用,但当他失去知觉或者死亡时将失去作用。

''神佑(Divine Health,特异能力):''3级时,圣武士免疫所有疾病,包括超自然或者魔法疾病。

''驱散亡灵(Turn Undead,超自然能力):''当圣武士达到4级时,他将获得此超自然能力来驱散不死生物。每日可以使用此能力次数等于3+他的魅力修正。他驱散不死生物等同于他低三个等级的牧师。

''法术:''从4级开始,圣武士可以施展少量神术,见圣武士法术列表。圣武士必须提前选择并准备法术。

要准备施展某个法术,圣武士的感知值必须达到10+法术等级。对抗圣武士法术的难度等级等于10+法术等级+圣武士感知调整。

和其他施法者一样,圣武士每天可以使用的法术有限。他的基本每日法术分配可见表:圣武士。另外,如果有较高的感知值,他还可以获得额外奖励每日法术。如果表:圣武士中指出圣武士在给定的法术等级上有0个法术,那么他只能获得高感知值提供的额外法术。和牧师不同,圣武士没有领域法术或神授力量。

圣武士准备法术和施法方式和牧师相同,但是不能放弃一个准备好的法术将其转化为治疗类法术。圣武士可以准备并施展任何圣武士法术列表上的法术,只要他可以施展此等级法术即可,但是他依然必须选择在每日冥想期间准备的法术。

直到3级为止,圣武士都没有施法者等级。在4级或者更高等级时,他的施法者等级视为他圣武士等级的一半。

''特殊坐骑(Special Mount,类法术能力):''5级时圣武士可以获得一匹具有非凡智力,强壮而且忠诚的坐骑来为对抗邪恶的正义事业服务(详见之后说明)。该坐骑通常是重型战马(中等体型的圣武士)或者矮种战马(小体型的圣武士)。

圣武士每天可以以一个整轮动作通过魔法呼唤将坐骑从它居住的天界界域呼唤出现一次。该能力相当于一个法术等级等于圣武士等级三分之一的法术。坐骑会立刻出现在圣武士身边,坐骑留下的时间为每个圣武士等级2小时,也可以在任何时候以一个自由动作遣返它。每次呼唤的坐骑都是同一只生物,但是圣武士也可以让这坐骑不再为自己服务。

每次坐骑被呼唤时,它出现时都是完全健康的,不再有之前受到的任何伤害。坐骑出现时会穿戴或携带上次被遣返时所带的装备。呼唤坐骑是咒法系(呼唤)的效果。

一旦圣武士的坐骑死了,它会立刻消失,身上带的任何装备都会留下。在坐骑死后三十天内,或者直到他在圣武士职业上提升了等级,圣武士将无法召唤另外一匹坐骑,即使坐骑因为某种原因已经复活了也是如此。在此三十天期间内,圣武士在攻击和伤害检定上都要受到-1减值。

''移除疾病(Remove Disease,类法术能力):''6级起,圣武士每周可以进行一次移除疾病(remove disease),该效果和同名法术相同。 6级后圣武士每三级可以每周多使用一次此能力(9级每周2次,12级每周3次,依此类推)。

''行为准则(Code of Conduct):''圣武士必须是守序善良阵营,一旦蓄意作恶,他将失去所有的职业能力。

另外,圣武士的行为准则要求他必须尊重法定权威,按荣誉行事(不撒谎,不欺骗,不用毒等等),帮助那些需要帮助的人(前提是那些人不会将帮助用在邪恶或混乱的目的上),惩罚那些伤害或威胁无辜的人。

''伙伴关系(Associates):''尽管圣武士可能会和善良或者中立阵营的人物一起冒险,但圣武士永远不会有意与邪恶人物结为同伴,他也不会和那些经常违反他的道德法规的人继续合作。圣武士只能接受守序善良的人作为随从、追随者,或者部下。

 

!!!! 前圣武士(Ex-Paladins)
脱离守序善良,蓄意作恶,或者严重违反行为准则的圣武士将失去所有的圣武士法术和能力(包括圣武士坐骑的服务,但是不包括武器盔甲或盾牌擅长)。他也不再能提升任何圣武士等级。只有当他弥补了自己的所作所为之后才能恢复能力并有可能继续提升等级(见赎罪术(atonement)说明)。

和其他职业一样,圣武士也可以兼职,但是兼职圣武士有特殊的限制。一旦圣武士获得一个新的职业,或者提升另外一个职业等级(如果他之前已经兼职),那么他将再也不能提升圣武士等级,但是所有圣武士能力还继续保留。

 

!!! 圣武士坐骑

圣武士的坐骑比普通动物同类强一些,具有之后所述的特殊能力。对中体型的圣武士来说,标准的坐骑是一匹重型战马,对小体型的圣武士来说标准坐骑是一匹矮种战马。其他种类坐骑,例如骑乘犬(半身人圣武士)或者大型鲨鱼(水生环境战役下的圣武士),也是允许的。

在考虑依赖于分类的效果时,圣武士坐骑视为魔法兽而非动物(但是保留了动物的生命骰,基本攻击加值,豁免,技能点以及专长)。

|!	圣武士等级	|!	奖励HD	|!	天生防御调整	|!	力量调整	|!	智力	|!	特殊	|
|^	5-7	|^	+2 	|^	+4 	|^	+1 	|^	6 	|^	情感链接,精通反射闪避,法术共享,共享豁免检定	|
|^	8-10	|^	+4 	|^	+6 	|^	+2 	|^	7 	|^	提高速度	|
|^	11-14	|^	+6 	|^	+8 	|^	+3 	|^	8 	|^	命令同类生物	|
|^	15-20	|^	+8 	|^	+10 	|^	+4 	|^	9 	|^	法术抗力	|



 

''圣武士坐骑基础:''使用它的普通生物基础数据,但是要根据上表对它的能力和特技作调整,说明见后。

//奖励HD://额外的八面生命骰(d8),每一个生命骰都可以如常的获得体质修正。额外HD可以增加坐骑的基本命中奖励和基本豁免奖励。坐骑的基础命中奖励等于等级和该动物HD数相同的牧师人物的基础命中奖励。它有较好的强韧和反射豁免值(视为一名等级等于该动物HD数的人物)。坐骑可以和一般怪物一样通过额外HD来增加技能点和专长。

//天生防御调整://该数值增强了坐骑的天生防御。

//力量调整://在该坐骑的力量上增加该数值。

//智力://坐骑的智力值。

//情感链接(Empathic Link,超自然能力)://圣武士和他的坐骑之间有着内心上的连接,情感链接的最远距离为1英里。圣武士无法用他坐骑的双眼去看,但是他们彼此分享心灵。

注意,再聪明的坐骑看世界的方式也和人类不同,因此误解总是有可能的。

因为这种情感链接,圣武士对那些他坐骑曾经遇上的事物或去过的地点也会建立起相同的关联,就像魔宠和他主人之间关系一样(见魔宠说明)。

//精通反射闪避(Improved Evasion,特异能力)://有些攻击效果若通过反射检定可以减少一半伤害,如果坐骑遭到此类攻击,在通过反射检定后它将不受伤害,如果检定失败它也只受到一半伤害。

//法术共享(Share Spells,特异能力)://根据圣武士的选择,他可以让他施放给自己的法术(不包括类法术能力)同样影响自己的坐骑。该伙伴必须在施法发生效果时处在圣武士周围5英尺范围内。如果该法术或者法术效果不是瞬间的而是有持续时间,那么在坐骑离开5尺范围后该法术将无法影响此坐骑,并且也不会再次影响它,就算它在法术持续时间到期前回到圣武士身边也是如此。另外,圣武士可以对坐骑施展那些法术目标为“自己”(“You”)的法术(按照远程接触法术方式)而不是只能对自己施展。即使某些法术通常不会影响坐骑同类生物(魔法兽),圣武士也可以用这种方式和坐骑共享该法术。

//共享豁免检定(Share Saving Throws)://在每次做豁免检定时,坐骑可以使用它自己的基本豁免加值或者圣武士的,取其高值。在对豁免检定修正时,坐骑使用它自己的属性修正,它也无法从主人那里获得任何其它豁免奖励。

//提高速度(Improved Speed,特异能力)://坐骑的速度提高10尺。

//命令(类法术能力)://坐骑可以用此能力命令任何其它和坐骑大致同类的普通动物(对战马和矮种战马来说,它们包括驴,骡子,还有矮种马),只要目标生物的HD数少于坐骑即可。该能力使用次数为每天每两个主人的圣武士等级一次。该能力作用和命令术(command)相同,但是如果坐骑正在被骑乘,它就必须做一个DC21的专注检定。如果检定失败,那么此能力无法生效,但是依然计入本日使用。所有受影响的目标可以做一个意志豁免检定(DC为10+1/2圣武士等级+圣武士的魅力修正)来避免受其影响。

//法术抗力(Spell Resistance,特异能力)://坐骑的法术抗力等于主人的圣武士等级加5。要用法术影响坐骑,施法者必须在施法者等级检定(1d20+施法者等级)中得到等于或大于坐骑法术抗力的结果值。
 

''恐慌(Panicked):''恐慌的人物会扔掉任何手持的东西,并会尽力逃离恐惧源头,同样也会避开任何其它遭遇的危险,但路线随机。他不能做任何其他动作。此外,恐慌的人物在所有攻击检定、伤害掷骰、豁免检定技能检定和属性检定上有-2减值。如果被逼至绝路,畏缩者会陷入[[畏缩状态|Cowering(畏缩)]]并且不会去进攻,通常会在战斗中使用全防御动作。恐慌的人物会用特殊能力逃跑,包括使用法术;实际上如果只能用特殊能力逃跑,那么人物就必须用那种方式逃跑。

恐慌是比[[惊惧|Frightened(惊惧)]]和[[战栗|Shaken(战栗)]]更激烈的恐惧状态。

 
''麻痹(Paralysis,特异能力或超自然能力):''这种特殊攻击可以使对手无法动作。麻痹的生物无法移动、说话或者作任何肉体动作。该生物被定在原地,身体僵硬并处于无助状态。他的朋友也不能扳动他的手臂。但他可进行纯粹的心理活动,例如施展无法术成分的法术。麻痹作用于身体,人物通常可以通过一个成功的强韧豁免(DC在说明中给出)抵抗此效果。和人类定身术及类似效果不同的是,麻痹效果不允许每回合进行一次重新豁免。如果被麻痹的时候该生物正在空中飞行,它将因无法拍打翅膀而导致坠落。游泳者被麻痹后无法游泳,并有可能被淹死。

 
''麻痹(Paralyzed):''被麻痹的人物被钉在原地不能移动或做其他行动。被麻痹的人物其有效敏捷值和有效力量值为0,而且处于无助状态,但他可以进行纯粹的心理活动。有翅膀的生物在飞的时候被麻痹,他们将无法舞动翅膀并掉下来。游泳的人被麻痹后无法游泳并有可能遭受淹溺。其它生物可以穿过被麻痹的人物占据的区域,无论是盟友还是敌人。但是被麻痹的人物所占据的每个方格都记作两个方格。

 
!!!行踪无迹(Pass Without Trace)
|变化系|
|''等级:''德鲁伊 1,巡林客 1|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的生物,1个生物/等级|
|''持续时间:''1小时/等级(可解消)|
|''豁免:''意志通过则无效(无害)|
|''法术抗力:''可(无害)|
|受术者(一个或多个)可以在通过任何类型的地形时,既不留下足迹也不留下气味。无法使用非魔法手段追踪受术者。|
!!!穿墙术(Passwall)
|变化系|
|''等级:''术士/法师5|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''效果:''5英尺乘8英尺的通路;深度为10英尺,每3个施法者等级再加深5英尺。|
|''持续时间:''1小时/等级(可解消)|
|''豁免:''无|
|''法术抗力:''无|
|你在木墙、石膏墙或石墙上创造出一个通道,但不能穿过金属或更硬的材质。该通道10英尺深,施法者等级每比9级多3级就再加深5英尺(12级时深15英尺,15级时深20英尺,最高在18级时深25英尺)。若墙的厚度超过通道的深度,则单个穿墙术仅在墙上创造出一个凹洞或一个短隧道。多个穿墙术咒语可以组成一个连续的通道并穿透非常厚的墙。当穿墙术终结的时候,通道内的生物将被弹射到最近的出口处。若有人解除了穿墙术,或你自己解消了穿墙术,那么如果有远处的出口,通道内的生物将被弹射到那里;如果仅有一个出口,则弹射到唯一的出口处。|
|//施法材料://一撮芝麻籽。|
''Pearl of Power(法力再生珍珠)'': 光泽与大小和一般珍珠无异,但对须准备法术的施法者有莫大帮助(牧师、德鲁伊、巡林客、圣武士及法师)。施法者可忆起一个已准备且已施展的法术,忆起的法术处于已准备状态,就好像未曾施展一样,此功能每天可使用一次。依珍珠不同,可以忆起的法术等级也不同,从一级到九级每个法术各对应一颗珍珠,还有一颗珍珠可以忆起两个至高六级的法术。

施法者等级:17。先决条件:“制造奇物”,制造者必须能施展该等级法术。交易价格:1000金币(一级)、4000金币(二级)、9000金币(三级)、16000金币(四级)、25000金币(五级)、36000金币(六级)、49000金币(七级)、64000金币(八级)、81000金币(九级)、70000金币(两个至高六级的法术)。

''
Pearl of the Sirines(席伦珍珠)'': 珍珠本身价值1000金币。使用者只要将珍珠握在手中或戴在胸前,即可瞭解并使用其能力。
使用者在水中也能呼吸新鲜空气,游泳速度为60英尺,并可在水中如常动作与施法。

Moderate abjuration and transmutation; CL 8th; Craft Wondrous Item, freedom of movement, water breathing; Price 15,300gp.
!!Pegasus(飞马)

''大型魔法兽''

|''生命骰:'' 4d10+12(34hp)|
|''先攻权:'' +2|
|''速度:'' 60尺(12格),飞行120尺(普通)|
|''防御等级:'' 14(-1体型,+2敏捷,+3天生),接触11,措手不及12|
|''基本攻击/擒抱:'' +4/+12|
|''攻击:'' 蹄踢+7近战(1d6+4)|
|''全回合攻击:'' 2蹄踢+7近战(1d6+4)及啮咬+2近战(1d3+2)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' -|
|''特性:'' 黑暗视觉60尺,昏暗视觉,灵敏嗅觉,类法术能力|
|''豁免:'' 强韧+7,反射+6,意志+4|
|''属性:'' 力量18,敏捷15,体质16,智力10,感知13,魅力13|
|''技能:'' 交涉+3,聆听+8,察言观色+9,侦察+8|
|''专长:'' 飞越攻击,钢铁意志|
|''环境:'' 温带森林|
|''组织:'' 单独,成对,或成群(6-10)|
|''挑战等级:'' 3|
|''宝物:'' 无|
|''阵营:'' 通常是混乱善良|
|''进化:'' 5-8HD(大型)|
|''等级调整:'' +2(作为伙伴)|


飞马是高贵华丽的有翅马匹,有时会为善良的动机提供服务。虽然被当作高价的坐骑,但飞马是不易被驯服的野性而害羞的生物。

飞马肩高6尺,重1500磅,翼展20尺。

飞马不会说话,但是能听懂通用语。

!!!战斗

''类法术能力:''施法等级5。

|//随意施展// - 侦测善良和侦测邪恶,有效半径60尺。|

''技能:''飞马在进行聆听和侦察检定时可获得+4的种族加值。

!!!训练飞马
尽管很有智慧,但飞马在作为战斗坐骑前仍需要接受必要的训练。被训练时,训练师必须和飞马保持良好的关系(可以通过成功的交涉检定达成此效果)。训练一匹友善的飞马需要六周并通过DC 25的驯养动物检定。骑乘飞马需要特殊鞍座。飞马载著骑手依然可以战斗,但此骑手除非通过乘骑检定否则将不能同时战斗。

飞马卵的市场价为每枚2000 gp,幼马每匹3000 gp。飞马的成长速度和普通马匹一样。雇佣一名专业训练师培育或训练飞马的价格为1000 gp,飞马会对善良或中立阵营的主人忠诚一生。

''负重能力:''对于飞马而言300磅为轻载;301-600磅为中载;601-900磅为重载。
!! Perform(表演)(魅力)

和手艺(Craft)、知识(Knowledge)、专业(Profession)类似,表演实际上也是很多独立的技能。

你可以有好几项表演技能,每一项都有自己的级数,每一项都作为独立技能来购买。

九大类表演技能包括了各种方法、乐器、技巧,每一个大类之后都有一个小列表。

*舞台节目 (Act)(喜剧,戏剧,哑剧)
*幽默节目 (Comedy)(滑稽戏,幽默诗,说笑话)
*舞蹈 (Dance)(芭蕾舞,华尔兹,快步舞)
*键盘乐器 (Keyboard instruments)(大键琴,钢琴,管风琴)
*演讲 (Oratory)(史诗,颂诗,讲故事)
*打击乐器 (Percussion instruments)(钟琴,钟,鼓,锣)
*弦乐器 (String instruments)(小提琴,竖琴,鲁特琴,曼陀林)
*吹奏乐器 (Wind instruments)(长笛,排箫,八孔长笛,芦笛,喇叭)
*唱歌 (Sing)(民歌,圣歌,唱诗)

''检定:''你可以用你的天赋和技能来吸引观众。

|!	表演DC	|!	演出情况	|
|^	10	|^	一般的演出。靠这个来象大众挣钱和乞讨没什么两样。你每天能挣1d10个铜币。	|
|^	15	|^	有一定乐趣的演出。在繁荣的城市,你每天能挣1d10枚银币。	|
|^	20	|^	不错的演出。在繁荣的城市,你每天能挣3d10枚银币。另外,你可能会被邀请加入专业戏班,还有可能在当地获得一定的名声。	|
|^	25	|^	值得回味的演出。在繁荣的城市,你每天能挣1d6枚金币。另外,你有可能获得贵族客户的青睐,并有可能得到全国性的名气。	|
|^	30	|^	非凡的演出。在繁荣的城市,你每天能挣3d6枚金币。另外,你有可能被远方的潜在客户注意到,甚至是其他位面生物的注意。	|

 

精制品乐器可以让你在使用它时的表演检定上获得+2环境加值。

''动作:''可变。在公众场合表演来赚钱需要的时间从一晚上到全天不等。吟游诗人基于表演的特殊能力见职业说明。

''重试:''可以。允许重试,但是重试不会抵消之前的失败,而且由于先入为主,听众对未来的表演较不容易产生感觉。(之前的每次失败都会使DC增加2)

''特别:''吟游诗人要能对队友使用激发勇气、破咒曲、迷魂曲能力必须在一项表演技能上级数达到3。要使用提振技能则级数需要6,暗示需要9,提振战力需要12,自由歌需要15,激发豪情需要18,群体暗示则需要21。见吟游诗人职业说明中吟唱能力。

另外在使用表演技能的时候,你可以加入手上功夫(sleight of hand)、翻滚、走钢丝、以及法术(特别是幻术)来更好的娱乐观众。

''Periapt of Health(保健护符)'': 悬有蓝宝石的银炼。穿戴者对疾病免疫,包括超自然疾病.

Faint conjuration; CL 5th; Craft Wondrous Item, remove disease; Price 7,500gp.
''Periapt of Proof against Poison(辟毒护符)'': 这是一个穿有60多个黑色宝石的精巧银链,穿戴者免疫毒素伤害。如果中毒后佩带则无任何效果。

Faint conjuration; CL 5th; Craft Wondrous Item, neutralize poison; Price 27,000gp.
''Periapt of Wound Closure(终止伤害护符)'': 吊有鲜红色石头的金炼。生命值为负值时,穿戴者不会因伤势恶化而持续失去生命值。自然医疗速度加倍,或可治愈原本无法治疗的情况。出血伤害(例如“血光”武器)对穿戴者无效,但无法防止吸血(例如蚊蝠的伤害)。
Moderate conjuration; CL 10th; Craft Wondrous Item, heal; Price 15,000gp.
!!!魔法恒定术(Permanency)
|共通系|
|''等级:''术士/法师 5|
|''法术成分:''言语,姿势,经验值|
|''施法时间:''2轮|
|''范围:''见正文|
|''目标,效果,或区域:''见正文|
|''持续时间:''永久;见正文|
|''豁免:''无|
|''法术抗力:''不可|
|此法术可以让某些其他法术永久化。|
|根据法术的不同,你必须满足不同的最低施法者等级要求,并且你必须支付相应的经验值。|
|你可以将下列法术恒定在你自己身上。|

|!	法术	 |!	最低施法者等级	 |!	消耗经验值	 |
|^	秘法视力(Arcane sight)	 |^	11级	 |^	1,500 XP	 |
|^	通晓语言(Comprehend languages)	 |^	9级	 |^	500 XP	 |
|^	黑暗视觉(Darkvision)	 |^	10级	 |^	1,000 XP	 |
|^	侦测魔法(Detect magic)	 |^	9级	 |^	500 XP	 |
|^	阅读魔法(Read magic)	 |^	9级	 |^	500 XP	 |
|^	识破隐形(See invisibility)	 |^	10级	 |^	1,000 XP	 |
|^	巧言术(Tongues)	 |^	11级	 |^	1,500 XP	 |

|你先施放选好的法术,随后施放魔法恒定术。你不能在其他生物上进行这样的恒定。要解除这样恒定住的法术,对方的施法者等级必须高于你施展魔法恒定术时的施法者等级。|
|除了用在自己身上以外,魔法恒定术还可以把下列法术恒定在你自己,其他生物,或某一物体上(如果允许)。|

|!	法术	 |!	最低施法者等级	 |!	消耗经验值	 |
|^	人类变巨术(Enlarge person)	 |^	9级	 |^	500 XP	 |
|^	魔牙术(Magic fang)	 |^	9级	 |^	500 XP	 |
|^	高等魔牙术(Magic fang, Greater)	 |^	11级	 |^	1,500 XP	 |
|^	人类缩小术(Reduce person)	 |^	9级	 |^	500 XP	 |
|^	提升抗力(Resistance)	 |^	9级	 |^	500 XP	 |
|^	心灵连线(Telepathic bond)^^1^^	 |^	13级	 |^	2,500 XP	 |

|1 //每施放1次魔法恒定术只能绑定2个生物。//|

|另外,下列法术可以施放在物体或区域上并且被恒定住。|

|!	法术	 |!	最低施法者等级	 |!	消耗经验值	 |
|^	魔法警报(Alarm)	 |^	9级	 |^	500 XP	 |
|^	活化物体(Animate objects)	 |^	14级	 |^	3,000 XP	 |
|^	舞光术(Dancing lights)	 |^	9级	 |^	500 XP	 |
|^	幻音术(Ghost sound)	 |^	9级	 |^	500 XP	 |
|^	造风术(Gust of wind)	 |^	11级	 |^	1,500 XP	 |
|^	隐形术(Invisibility)	 |^	10级	 |^	1,000 XP	 |
|^	法师的私人密室(Mage’s private sanctum)	 |^	13级	 |^	2,500 XP	 |
|^	魔嘴(Magic mouth)	 |^	10级	 |^	1,000 XP	 |
|^	相位门(Phase door)	 |^	15级	 |^	3,500 XP	 |
|^	虹光法球(Prismatic sphere)	 |^	17级	 |^	4,500 XP	 |
|^	虹光法墙(Prismatic wall)	 |^	16级	 |^	4,000 XP	 |
|^	缩物术(Shrink item)	 |^	11级	 |^	1,500 XP	 |
|^	重雾术(Solid fog)	 |^	12级	 |^	2,000 XP	 |
|^	臭云术(Stinking cloud)	 |^	11级	 |^	1,500 XP	 |
|^	死亡徽记(Symbol of death)	 |^	16级	 |^	4,000 XP	 |
|^	恐惧徽记(Symbol of fear)	 |^	14级	 |^	3,000 XP	 |
|^	疯狂徽记(Symbol of insanity)	 |^	16级	 |^	4,000 XP	 |
|^	痛苦徽记(Symbol of pain)	 |^	13级	 |^	2,500 XP	 |
|^	说服徽记(Symbol of persuasion)	 |^	14级	 |^	3,000 XP	 |
|^	沉睡徽记(Symbol of sleep)	 |^	16级	 |^	4,000 XP	 |
|^	震慑徽记(Symbol of stunning)	 |^	15级	 |^	3,500 XP	 |
|^	虚弱徽记(Symbol of weakness)	 |^	15级	 |^	3,500 XP	 |
|^	传送法阵(Teleportation circle)	 |^	17级	 |^	4,500 XP	 |
|^	火墙术(Wall of fire)	 |^	12级	 |^	2,000 XP	 |
|^	力墙术(Wall of force)	 |^	13级	 |^	2,500 XP	 |
|^	蛛网术(Web)	 |^	10级	 |^	1,000 XP	 |

|并非施放在你自己身上,而是施放在其他生物、物体或区域上的法术可以被解除魔法(dispel magic)按正常方式解除。|
|//消耗经验值://详见上述列表|
!!!永恒幻影(Permanent Image)
|幻术系(虚假幻觉)|
|''等级:''吟游诗人6,术士/法师6|
|''效果:''幻象,体积不超过边长20英尺的立方体+每等级一个边长10英尺的的立方体(可变)|
|''持续时间:''永久(可解消)|
|本法术的效果如同无声幻影(silent image),但是本法术的虚假幻觉包含视觉,听觉,嗅觉,体温,而且法术的效果是永久的。通过集中精神,你可以在法术距离内里移动这个影像。一旦你不再集中精神,影像就变为静止不动的。|
|//施法材料://一点羊毛加上价值100金币的打成粉末的翡翠。|
!!!长驻幻影(Persistent Image)
|幻术系(虚假幻觉)|
|''等级:''吟游诗人5,术士/法师5|
|''持续时间:''1分钟/等级(可解消)|
|本法术的效果如同无声幻影(silent image),但是本法术的虚假幻觉包含视觉,听觉,嗅觉,体温,而且虚假幻觉遵从一段由你预先决定的行动。你不必集中精神,虚假幻觉就能遵从这些行动。如果你愿意,幻象还可以做清晰的演说。|
|//施法材料://一点羊毛和几粒沙子。|
!!! 说服者(PERSUASIVE)[一般专长]

''效果:''在唬骗和威吓检定上获得+2的加值。
''石化(Petrified):''被石化的人物变为石头并视作昏迷。如果被石化的人物被打碎或打破,但是在被解除石化时那些破损的部份接在了身体上,那么他将不受伤害。如果石化的身体被解除石化时是不完整的,肉体将同样的不完整,并会有相应永久性生命值丧失和(或)人物变的衰弱。

 
!!!魅影杀手(Phantasmal Killer)
|幻术系(魅影幻觉) [恐惧,影响心灵]|
|''等级:''术士/法师4|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''一个活体生物|
|''持续时间:''立即|
|''豁免:''意志通过则不相信(如果发生交互),之后强韧部分生效;详见正文|
|''法术抗力:''可|
|你操弄法术受体的潜意识中的恐惧,将这恐惧塑造成一个其神志中能看见的魅影幻觉:一只最恐怖的野兽。该幻觉是法术受体所能想象的最可怕的生物。只有法术受体可以看见这个魅影杀手。而你只能看见一个模糊的外形。法术受体首先可以做一次意志豁免以判断所见的影像是虚假的。如果此次检定失败,则魅影幻觉接触受体,而受体此时必须做一次强韧豁免。若强韧豁免失败,则死于恐惧。即使强韧豁免成功,受体也将承受3d6点伤害。|
|如果法术受体佩戴了心灵感应头盔(helm of telepathy),并在遭受魅影杀手攻击时成功地通过了第一次意志豁免,则野兽可以转而攻击你。你必须通过意志检定,否则你就会变成魅影杀手的目标并要承受它致命的恐惧攻击。|
!!Phantom Fungus(魅影蕈)

''中型植物''

|''生命骰:'' 2d8+6(15hp)|
|''先攻权:'' +0|
|''速度:'' 20尺(4格)|
|''防御等级:'' 14(+4天生),接触10,措手不及14|
|''基本攻击/擒抱:'' +1/+3|
|''攻击:'' 啮咬+3近战(1d6+3)|
|''全回合攻击:'' 啮咬+3近战(1d6+3)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,植物特性,高等隐形|
|''豁免:'' 强韧+6,反射+0,意志+0|
|''属性:'' 力量14,敏捷10,体质16,智力2,感知11,魅力9|
|''技能:'' 聆听+4,潜行+6,侦察+4|
|''专长:'' 警觉|
|''环境:'' 地底|
|''组织:'' 单独|
|''挑战等级:'' 3|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 3-4HD(中型);5-6HD(大型)|
|''等级调整:'' -|

魅影蕈看起来就像是一团上面长有一丛瘤状物的棕色和棕绿色的物体,但是它们只有在死了之后才能被看见。顶端的一丛瘤状物作为感知器官而存在。此生物利用长满了一排排钙质利齿的裂嘴来进食和攻击。四条粗短的腿支撑着它并且让它能四处移动。

这种会动的蕈类天生就是隐形的,也因此它成为了诸多地底生物中令人恐惧的猎食者。

!!!战斗
魅影蕈通常会安静的巡游猎食。它们几乎会在任何地方攻击落单的猎物,但如果要对付一群猎物的话,则会选择开阔的区域以获得较好的机会。

''高等隐形 (Su):''此能力会持续发生作用,使得魅影蕈在攻击时也处于隐形状态。此能力效果就好像高等隐形术一样 (施法等级12),而且只要魅影蕈还活着就会一直产生作用。此能力不会受到消除隐形法术的影响。魅影蕈在被杀死1分钟后会显形。

''技能:''在进行潜行检定时魅影蕈可获得+5的种族加值。 

!!!魅影驹(Phantom Steed)
|咒法系(创造)|
|''等级:''吟游诗人3,术士/法师3|
|''法术成分:''言语,姿势|
|''施法时间:''10分钟|
|''距离:''0英尺.|
|''效果:''1匹半真实的,有着马外形的生物|
|''持续时间:''1小时/等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|你创造出一匹大型半真实的马形生物。只有你或你特别为之创造的一个人可以骑乘它。魅影驹有着黑色的头和身体,灰色的鬃毛和尾巴,无实体的烟一般颜色的蹄子,它的蹄子不会发出任何声音。魅影驹还有看上去似乎是鞍座、马嚼子和缰绳之类的东西。魅影驹并不攻击别人,但动物都避开它并拒绝攻击它。|
|坐骑的AC为18(-1体型,+4天生防御,+5敏捷)并有7点+每施法者等级1点的HP。当魅影驹失去所有的HP,它会消失。一匹魅影驹的速度为20英尺/施法者等级,最高240英尺。它能承受的重量是骑乘者的重量外加10磅/施法者等级。|
|不同的施法者等级时,魅影驹会获得特定的能力。高等级坐骑的能力包含所有低等级的能力。|
|//8级://坐骑可以毫无困难并不减速地在沙地,泥泞地,沼泽地上奔驰。|
|//10级://坐骑可以随心所欲的使用水面行走(water walk)(如同该法术,但启动这个能力不需要任何动作)|
|//12级://坐骑可以随心所欲的使用凌空而行(air walk)(如同该法术,但启动这个能力不需要任何动作)。它一次只能使用1轮,之后坐骑会落向地面。|
|//14级://坐骑可以飞行,速度不变(飞行机动性普通)。|
!!!魅影陷阱(Phantom Trap)
|幻术系(五官幻觉)|
|''等级:''术士/法师2|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的物体|
|''持续时间:''永久(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|此法术用在一把锁或其他小型机械装置上可以使得任何可以侦测陷阱的人都以为这把锁或小型机械装置上有陷阱。你可以在任何小型机械装置或装备上使用本法术,比如锁,门铰链,窗搭扣,软木塞子,封闭盖,或者棘轮。任何可以侦测陷阱的角色,或是使用了法术或装置后能侦测陷阱的角色,将100%地确信有一个真实的陷阱存在。当然所有的效果都是幻觉,而当陷阱被“触发”时什么也不会发生。本法术主要意图是吓退盗贼或让他们浪费宝贵的时间。|
|如果施放本法术时在50英尺内有另一个魅影陷阱正在起作用,则施放失败。|
|//施法材料://与要设定幻觉的目标物相接触的一块铁矿石,同时在目标物上喷洒一种特殊的粉末。准备这种粉末需要50金币。|
!!!相位门(Phase Door)
|咒法系(创造)|
|''等级:''术士/法师7,旅行8|
|''法术成分:''言语|
|''施法时间:''1个标准动作|
|''距离:''0英尺|
|''效果:'' 5英尺宽8英尺高的灵体通路,深度为10英尺,每3个施法者等级再加深5英尺。|
|''持续时间:''每2个等级允许使用1次|
|''豁免:''无|
|''法术抗力:''无|
|你在木墙,灰泥墙,或石墙上创造出一个灵体通道。但你不能其他材质上施展这一法术。相位门是隐形的,除了你没有其他生物可以通行其中,只有你可以使用这个通道。进入相位门时你会消失,然后当你退出通道时会再度出现。如果你需要,你可以携带另一个生物(中型或更小的体型)一起通过门。但这会算作2次使用了门。光线,声音,法术效果都不能通过门。除非正在使用它,否则就连你自己也不能看到门的另一边。因此本法术提供了一个撤退用的通道,虽然某些生物,比如相位蜘蛛(phase spiders)仍然可以毫不费力的追踪而来。虽然真知宝石(gem of true seeing)或相类似的魔法可以揭示相位门的存在,但是并不能使用门。|
|解除魔法(dispel magic)能以相位门为目标。如果相位门被解除的时候有人在通道中,则此人被毫发无伤地弹射出来,同穿墙术(passwall)的效果一样。|
|通过设定门的触发条件,你可以允许其他生物使用相位门。根据你的需要,触发条件可以简单也可以复杂。触发条件可以是生物的姓名,特征,阵营,但是除此以外的条件都要是能看得见的动作或品质。等级,职业,生命骰,生命值不能作为触发条件。|
|相位门可以被魔法恒定术(permanency)所恒定。|
!!Phase Spider(相位蜘蛛)

''大型魔法兽''

|''生命骰:'' 5d10+15(42hp)|
|''先攻权:'' +7|
|''速度:'' 40尺(8格),攀爬20尺|
|''防御等级:'' 15(-1体型,+3敏捷,+3天生),接触12,措手不及12|
|''基本攻击/擒抱:'' +5/+12|
|''攻击:'' 啮咬+7近战(1d6+4外加毒素)|
|''全回合攻击:'' 啮咬+7近战(1d6+4外加毒素)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 毒素|
|''特性:'' 黑暗视觉60尺,幻化灵体,昏暗视觉|
|''豁免:'' 强韧+7,反射+7,意志+2|
|''属性:'' 力量17,敏捷17,体质16,智力7,感知13,魅力10|
|''技能:'' 攀爬+11,潜行+11,侦察+4|
|''专长:'' 能力专攻(毒素),精通先攻|
|''环境:'' 温暖的山区|
|''组织:'' 单独或成群(2-5)|
|''挑战等级:'' 5|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 6-8HD(大型);9-15HD(超大型)|
|''等级调整:'' -|


相位蜘蛛是极具攻击性的猎食者,它能快速的从灵界穿梭至物质界以攻击对手。

相位蜘蛛体长8尺。它重约7000磅。

相位蜘蛛不会说话。

!!!战斗
相位蜘蛛居住并狩猎于物质界。然而一旦相位蜘蛛锁定猎物之后,它就会传送回灵界准备攻击,好让受害者措手不及。相位蜘蛛会传送过来啮咬其猎物,然后再快速地返回灵界。

''幻化灵体 (Su):''相位蜘蛛可以通过一个即时动作从灵界传送至物质界,并可以通过一个移动动作 (或者在移动动作进行中)再传送回去。除此之外,此能力与幻化灵体法术相同 (施法等级15)。

''毒素 (Ex):''伤口,强韧豁免检定DC 17,初始及后续伤害均为1d8点体质伤害。该豁免检定DC基于体质调整值。

''技能:''在进行攀爬检定时相位蜘蛛可获得+8的种族加值,并且可以在进行攀爬检定时总是取10,哪怕很匆忙或受到威胁时也可以。 
!!Phasm(原变体)

''中型异怪 (变形生物)''

|''生命骰:'' 15d8+30(97hp)|
|''先攻权:'' +6|
|''速度:'' 30尺(6格)|
|''防御等级:'' 17(+2敏捷,+5天生),接触12,措手不及15|
|''基本攻击/擒抱:'' +11/+12|
|''攻击:'' 挥击+12近战(1d3+1)|
|''全回合攻击:'' 挥击+12近战(1d3+1)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' -|
|''特性:'' 变化形态,无定形,弹性,灵敏嗅觉,心灵感应100尺,颤动感知60尺|
|''豁免:'' 强韧+11,反射+11,意志+11|
|''属性:'' 力量12,敏捷15,体质15,智力15,感知15,魅力14|
|''技能:'' 唬骗+20,攀爬+7,手艺(任意1种)+12,交涉+12,易容+20(+22表演)*,威吓+4,知识(任意1种)+18,聆听+12,侦察+12,生存+8|
|''专长:'' 警觉,盲斗,战斗反射,闪避,精通先攻,灵活移动|
|''环境:'' 地底|
|''组织:'' 单独|
|''挑战等级:'' 7|
|''宝物:'' 标准|
|''阵营:'' 通常是混乱中立|
|''进化:'' 15-21HD(超大型);22-45HD(巨型)|
|''等级调整:'' -|


原变体是能模仿伪装成其他任何生物或物体的无定形生物。原变体的原形直径约5尺,中心高约2尺。有色的旋涡是它的感知器官。处于此形态时,原变体会像泥形生物一样滑动并且能通过伪足进行攻击。它重约400磅。

原变体会说通用语但偏好使用心灵感应来进行交流。

!!!战斗
面临潜在的危险时,原变体会选择撤退、谈判或攻击。

如果被追赶或骚扰,原变体会变形成它所知道的最恐怖的生物并展开攻击。受伤严重时,它会变形成快速或灵活的形态以试图逃脱。

''无定形 (Ex):''处于原形的原变体对毒素、睡眠、麻痹、变形及震慑效果免疫。重击对它无效,且因为没有明显的前后之分所以不能被夹击。

''弹性 (Ex):''进行强韧及反射豁免检定时原变体可获得+4的种族加值 (表中的数据已包括此加值)。

''变化形态 (Su):''原变体可以通过一个标准动作变成任何体型为大型或更小的形态。原变体可以保持在其所变化的形态直到它选择变成新的形态或变回原形。

''颤动感知 (Ex):''只要原变体本身接触在地面上,它就能自动感觉到任何处于60尺范围内与地面相接触的东西的位置。

''技能:''*当变形时,原变体在易容检定上可获得+10的环境加值。
''Phylactery of Faithfulness(虔信经匣)'': 由皮绳系著,用来收藏经典的小盒子,可佩于头额或臂上,佩上时才能决定其功用。穿戴者可警觉任何影响其所属阵营或神祇的负面行为或物品,包括魔法效果。只要敌人在采取行动前稍加思考,即可预先得知此讯息。

Faint divination; CL 1st; Craft Wondrous Item, detect chaos, detect evil, detect good, detect law; Price 1,000gp.
''Phylactery of Undead Turning(驱散不死生物护符)'': 任何可以驱散不死生物的人物穿戴此物驱散不死生物时,效果以职业等级加4级计算。

Moderate necromancy [good]; CL 10th; Craft Wondrous Item, 10th-level cleric; Price 11,000gp.
''压制(Pinned):''在擒抱中被固定住无法行动(但不是无助)。

 
''Pipes of Haunting(颤栗乐笙)'': 一组牧神笙。使用“表演:牧神笙”技能演奏,会发出令人不寒而栗的声音。听者会以为声音是从演奏者指定的地点发出(须位于演奏者30英尺内)。听到声音但没注意到演奏者的人须进行意志检定(DC=13),未通过检定即陷入惊恐状态4回合。HD大于等于6的生物不受影响。此功能每天可使用2次。

Faint necromancy; CL 4th; Craft Wondrous Item, scare; Price 6,000gp;Weight 3 lb.
''Pipes of Pain(刺耳乐笙)'': 非常普通的一组牧神笙,外表看不出有什么特殊功能。使用“表演:牧神笙”技能演奏时,会发出奇异的声响。30英尺内所有生物(包括演奏者),都须作意志检定(DC=14),未通过就会被附魔(属于影响心灵、音波的附魔系魔法效果)。只要持续演奏,被附魔的生物完全无法行动或攻击(效果如同晕眩)。

乐声停止后,只要周遭出现轻微声响,被附魔者就会感到剧烈疼痛。除非在完全安静的环境中,否则每轮承受1d4点伤害,为时2d4轮。在这段期间内,音波攻击造成的伤害加倍,如“音鸣爆”。被附魔者还会变得退缩,其攻击检定、技能检定、和豁免检定受-2减值(除非处于完全安静的环境,如沉默术范围内)。这是一种诅咒效果且难以移除(见“降咒”法术的说明)。

施法者等级:6。先决条件:“制造奇物”,“魅惑人类”、“音鸣爆”。交易价格:12000金币。重量:3磅。
''Pipes of Sounding(幻音乐笙)'': 使用“表演:牧神笙”技能演奏时,可以造出各式各样的声音,效果如同“幻音术”(施法者等级为2级)。

Faint illusion; CL 2nd; Craft Wondrous Item, ghost sound; Price 1,800gp;Weight 3 lb.
''Pipes of the Sewers(唤鼠乐笙)'': 如果使用者学会此木笙的乐谱,且在400英尺内有凶暴鼠或鼠,则可以吸引1d6x10只凶暴鼠(百分骰01-80),或是3d6x10只一般鼠(百分骰81-100)。这些鼠每移动50英尺须花费一轮时间,演奏者必须持续演奏直到它们出现。出现时,演奏者必须作“表演:牧神笙”技能检定(DC=10)。如果检定成功,只要表演者持续演奏,就可藉由心灵感应指挥它们;如果检定失败,它们会攻击演奏者。如果表演者停止演奏,它们会转身就走。如果一天之内呼唤一次以上,第二次开始的“表演”技能检定DC=15。
如果该鼠原本处于另一生物控制之下,“表演”技能检定DC须加上控制者的HD。如果原本控制者持续搜寻并试图再度控制它们,则每轮都得进行“表演”技能检定。

施法者等级:2。先决条件:“制造奇物”,“一级召唤盟友术”、“化兽为友”。交易价格:1150金币。重量:3磅。
!!!高等异界盟友(Planar Ally, Greater)
|咒法系(呼唤) [见次等异界盟友(lesser planar ally)]|
|''等级:''牧师8|
|''效果:''至多3个被呼唤的元素或异界生物,总生命骰不超过18HD,它们出现时两两相隔不能超过30英尺。|
|本法术的效果如同次等异界盟友(lesser planar ally),只是你可以呼唤1个不超过18HD的生物;或至多3个同一种类的生物,总生命骰不超过18HD。呼唤来的生物会一起同意帮助你,也会共同向你要求回报。|
|//消耗经验值://500经验值。|
!!!次等异界盟友(Planar Ally, Lesser)
|咒法系(呼唤) [见正文]|
|''等级:''牧师4|
|''法术成分:''言语,姿势,法器,消耗经验值|
|''施法时间:''10分钟|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''呼唤1个元素或异界生物,其生命骰不超过6HD。|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''不可|
|通过施放本法术,你请求你的神祗选择一个元素或异界生物(生命骰不大于6HD)并派它来帮助你。如果你并不侍奉某位特定的神祗,则本法术成为一个普适诉求,并由一个和你哲学阵营相符的生物来回应此诉求。如果你知晓某一生物的名字,你可以在施放法术时说出这一名字来请求该生物的帮助(虽然你仍可能得到完全不同的生物)。|
|你可以要求呼唤来的生物执行一项任务,作为交换你需要支付报酬。任务可以简单也可以复杂。为了协商服务以及报酬,你必须能和呼唤来的生物沟通。|
|呼唤来的生物会为它的服务索要报酬。而报酬的形式多种多样,可以是向他的神庙捐钱或魔法物品,可以是一件直接送给该生物的礼物,也可以是你的某些符合该生物的阵营和目标的行动。无论如何,在生物同意给予任何服务之前,报酬必须先支付。|
|协商需要花去至少1轮时间,因此生物的任何行动都要从召唤来的后一轮开始。|
|如果任务的耗时不超过1分钟/施法者等级,则需要支付的金额是被呼唤生物的每一个生命骰100金币。如果任务的耗时不超过1小时/施法者等级,则是被呼唤生物的每一个生命骰500金币。一个长期任务,如果耗时不超过1天/施法者等级,那么是被呼唤生物的每一个生命骰1000金币。|
|一个不危险的任务仅需要上述报酬的一半,而一个特别危险的任务将需要更多的报酬。几乎没有生物会接受看来是自杀性的任务(要知道和召唤来的生物不同,被呼唤来的生物在被杀时会确确实实地死去)。但是如果任务和生物的道德思想标准高度吻合,那么生物有可能将报酬减半,甚至不要报酬。|
|在任务结束时,或在协商好的期限结束时,该生物将回到它居住的位面(如果需要且可行的话会在向你回报之后赶回去)。|
|//注意://当你使用一个呼唤法术来呼唤:气,混乱,土,邪恶,火,善良,守序,或水生物时,呼唤法术和生物属于同类型。|
|//消耗经验值://100经验值。|
!!!异界盟友(Planar Ally)
|咒法系(呼唤) [见次等异界盟友(lesser planar ally)]|
|''等级:''牧师 6|
|''效果:'' 1个或2个被呼唤的元素或异界生物,总生命骰不超过12HD,它们出现时相隔不能超过30英尺。|
|本法术的效果如同次等异界盟友(lesser planar ally),只是你可以呼唤1个不超过12HD的生物;或2个同一种类的生物,总生命骰不超过12HD。呼唤来的生物会一起同意帮助你,也会共同向你要求回报。|
|//消耗经验值://250经验值。|
!!!高等异界誓缚(Planar Binding, Greater)
|咒法系(呼唤) [见次等异界誓缚(lesser planar binding)正文]|
|''等级:''术士/法师 8|
|''法术成分:''言语,姿势|
|''目标:''至多3个元素或异界生物,总生命骰不超过18HD,它们出现时两两相隔不能超过30英尺。|
|本法术的效果如同次等异界誓缚(lesser planar binding),只是你可以呼唤1个生命骰不超过18的生物;或至多3个同一种类的生物,总生命骰不超过18。每个呼唤来的生物各自有一次豁免来尝试逃脱,你必须分别说服每个呼唤来的生物,这才能让它同意帮助你。|
!!!次等异界誓缚(Planar Binding, Lesser)
|咒法系(呼唤) [见正文]|
|''等级:''术士/法师 5|
|''法术成分:''言语,姿势|
|''施法时间:''10分钟|
|''距离:''近距(25英尺+5英尺/每2等级);见正文|
|''目标:''一个生命骰不超过6的元素或异界生物,。|
|''持续时间:''立即|
|''豁免:''意志通过则无效|
|''法术抗力:''可或不可,见正文|
|施放本法术是尝试一个危险的举动:引诱一个其他位面的生物进入一个特别预先准备的陷阱,该陷阱必须位于法术有效范围内。呼唤来的生物将被困在陷阱中,除非它愿意为你效力一次以换取自由。|
|要制造这样的陷阱,你必须使用一个内向型的法阵(magic circle)法术。你必须预先知道并声明被束缚生物的类型。如果你希望呼唤某个特定的生物,你必须在施法时就使用该生物的真实名字。|
|目标生物允许进行一次意志豁免。如果生物通过了豁免,则它抵抗了法术。如果生物没有通过豁免,它就立即落入陷阱内(生物的法术抗力并不能使它免于被呼唤)。生物可以用如下方式从陷阱里逃脱:成功地用它的法术抗力对抗你的施法者等级检定;通过次元旅行的方式;一次成功的魅力检定(DC=15+1/2你的施法者等级+你的魅力调整值)。它每天可以用每种方法尝试一次。一旦生物成功逃脱,它就可以逃跑或者攻击你。在生物身上使用次元锚(dimensional anchor)可以阻止生物通过次元旅行的方式逃脱。你可以使用一个呼唤用魔法图阵(calling diagram)(详见反邪恶法阵(magic circle against evil))来进一步加固陷阱。|
|如果生物没有能逃脱,你想困住它多久都可以。通过描述要它做的事情,也许同时允诺某种报酬,你可以尝试强迫生物为你效力一次。你需要做一次魅力检定来对抗生物的魅力检定。基于不同的报酬和要完成的事情,你的魅力检定还有加值,加值的范围从+0到+6不等。如果生物赢得这次检定,则它拒绝为你效力。你可以重新提出新要求或进行贿赂等等,也可以每24小时重新提出你原有的提议。这一套步骤可以无限重复,直到生物答应为你效力,或者它成功逃脱,或者你决定用其他法术摆脱此生物。生物永远不会同意无法完成的要求或不合理的命令。如果你在魅力检定中投出1,则生物从束缚中逃脱并可以逃走或攻击你。|
|一旦要求做的事情完成了,生物只需要通知你就能立即返回它来的地方。该生物有可能在将来寻求复仇。如果你给的任务没有明确的限度,且生物无法独自完成,则法术将持续有效至多每施法者等级一天,而生物则立即获得一次逃脱的机会。需注意的是聪明的受命者能暗中破坏你所下达的指示。|
|当你使用一个呼唤法术来呼唤:气,混乱,土,邪恶,火,善良,守序,或水生物时,呼唤法术和生物属于同类型。|
!!!异界誓缚(Planar Binding)
|咒法系(呼唤) [见次等异界誓缚(lesser planar binding)正文]|
|''等级:''术士/法师 6|
|''法术成分:''言语,姿势|
|''目标:''至多3个元素或异界生物,总生命骰不超过12HD,它们出现时两两相隔不能超过30英尺。|
|本法术的效果如同次等异界誓缚(lesser planar binding),只是你可以呼唤1个生命骰不超过12的生物;或至多3个同一种类的生物,总生命骰不超过12。每个呼唤来的生物各自有一次豁免来尝试逃脱,你必须分别说服每个呼唤来的生物,这才能让它同意帮助你。|
!!!异界传送(Plane Shift)
|咒法系(传送)|
|''等级:''牧师5,术士/法师7|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的1个生物,或至多8个手拉手且自愿的生物|
|''持续时间:''立即|
|''豁免:''意志无效|
|''法术抗力:''有|
|你将自己或其他生物移动到另一个位面或其他次元。如果多个自愿的人手拉手连成一个环形,那么一个异界传送可以同时影响最多八个人。要精准地抵达位面的某一地点几乎完全不可能。从主物质位面出发,你可以抵达任何其他位面,但是你出现的地点距离你想去的目的地会有5英里到500英里(5d%)的误差。|
|注意:异界传送会立即将生物传送,然后法术就结束了。要想返回,生物需要另寻他途。|
|//器材://一小段开叉的金属短棍。短棍的材质和尺寸决定了法术会将生物传送到哪一个位面或次元。|
神魔裔是一种通称,用来描述那些可以将其血缘回溯到异界生物 (通常是炼狱生物或天界生物)的对象。

当一个人的遗传中拥有超自然的本质时,此效果可以延续好几个世代之久。虽然外观上不会像半天界或半炼狱生物那样有着戏剧性的变化,但神魔裔仍然保留了一些特殊能力。

这里所描述的两种神魔裔是最常见的种类。阿斯莫是带有天界血统的人类,而泰夫林的家谱中往往会有一些炼狱生物。


!!!Aasimar(阿斯莫)

''阿斯莫,1级武者''

''中型异界生物 (本地)''


|''生命骰:'' 1d8+1(5hp)|
|''先攻权:'' +4|
|''速度:'' 穿鳞甲时20尺(4格);基本陆地速度30尺|
|''防御等级:'' 16(+4鳞甲,+2重型盾),接触10,措手不及16|
|''基本攻击/擒抱:'' +1/+2|
|''攻击:'' 长剑+2近战(1d8+1/19-20);或轻弩+1远程(1d8/19-20)|
|''全回合攻击:'' 长剑+2近战(1d8+1/19-20);或轻弩+1远程(1d8/19-20)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 昼明|
|''特性:'' 黑暗视觉60尺,对酸、寒冷及电抗力5|
|''豁免:'' 强韧+3,反射+0,意志+0|
|''属性:'' 力量13,敏捷11,体质12,智力10,感知11,魅力10|
|''技能:'' 医疗+4,知识(宗教)+1,聆听+3,骑术+1,侦察+3|
|''专长:'' 精通先攻|
|''环境:'' 温带平原|
|''组织:'' 单独,成对,或成队(3-4)|
|''挑战等级:'' 1/2|
|''宝物:'' 标准|
|''阵营:'' 通常是善良(任意善良)|
|''进化:'' 视人物职业而定|
|''等级调整:'' +1|


阿斯莫通常高挑,容貌姣好而且一般都很讨人喜欢。一些阿斯莫的身体特征暗示着他们的血统,比如银发、金眼或异乎寻常的目光。

大部分的阿斯莫都很明确的属于善良阵营。他们会对抗邪恶,并试图影响他人去做正确的事。偶尔他们也会因其天界祖先的个性而做出复仇或判罚的行为,但是这很罕见。

!!!!战斗
阿斯莫通常喜欢公平而直接的竞赛。然而,在对抗邪恶的敌人时,他们会抱着坚定的信念战斗至死。

''昼明 (Sp):''阿斯莫每天可以使用一次昼明术,其效果如等级1 (或阿斯莫的等级,取其较高者)的施法者所施放的一样。

''技能:''在进行侦察和聆听检定时阿斯莫可获得+2的种族加值。

这里所描述的阿斯莫武者在进行种族调整前其基础属性如下:力量13,敏捷11,体质12,智力10,感知9,魅力8。

!!!!扮演阿斯莫人物
阿斯莫人物角色拥有以下种族特性。

*+2感知,+2魅力。
*中型体型。
*阿斯莫的基本陆地速度为30尺。
*黑暗视觉60尺。
*种族技能:阿斯莫在进行侦察和聆听检定时可获得+2的种族加值。
*种族专长:阿斯莫通过其职业等级获取专长。
*特殊攻击 (见上):昼明。
*特性 (见上):对酸、寒冷及电抗力5。
*天生使用语言:通用语,天界语。额外语言:龙语,矮人语,精灵语,侏儒语,半身人语,木族语。
*天赋职业:圣武士。
*等级调整+1。


!!!Tiefling(泰夫林)


''泰夫林,1级武者''

''中型异界生物 (本地)''

|''生命骰:'' 1d8+1(5hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格)|
|''防御等级:'' 15(+1敏捷,+3镶嵌皮甲),接触11,措手不及14|
|''基本攻击/擒抱:'' +1/+2|
|''攻击:'' 细剑+3近战(1d6+1/18-20);或轻弩+2远程(1d8/19-20)|
|''全回合攻击:'' 细剑+3近战(1d6+1/18-20);或轻弩+2远程(1d8/19-20)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 黑暗|
|''特性:'' 黑暗视觉60尺,对寒冷、电及火焰抗力5|
|''豁免:'' 强韧+3,反射+1,意志-1|
|''属性:'' 力量13,敏捷13,体质12,智力12,感知9,魅力6|
|''技能:'' 唬骗+4,躲藏+5,潜行+1,手上功夫+1|
|''专长:'' 专攻武器(细剑)|
|''环境:'' 温带平原|
|''组织:'' 单独,成对,或成队(3-4)|
|''挑战等级:'' 1/2|
|''宝物:'' 标准|
|''阵营:'' 通常是邪恶(任意邪恶)|
|''进化:'' 视人物职业而定|
|''等级调整:'' +1|

许多泰夫林和人类没有差别。一些泰夫林有小角、尖牙、红眼、身上弥漫着硫磺味甚或有蹄的脚。没有任何两个泰夫林会长得一模一样。

!!!!战斗
泰夫林总是偷偷摸摸且虚伪狡猾的。他们喜欢发动突袭,并会尽可能地避开公平的战斗。

''黑暗 (Sp):''泰夫林每天可以使用一次黑暗术 (施法等级等于职业等级)。

''技能:''在进行唬骗和躲藏检定时泰夫林可获得+2的种族加值。

这里所描述的泰夫林武者在进行种族调整前其基础属性如下:力量13,敏捷11,体质12,智力10,感知9,魅力8。

!!!!扮演泰夫林人物
泰夫林人物角色拥有以下特性。

*+2敏捷,+2智力,-2魅力。
*中型体型。
*泰夫林的基本陆地速度为30尺。
*黑暗视觉60尺。
*种族技能:泰夫林在进行唬骗和躲藏检定时可获得+2的种族加值。
*种族专长:泰夫林通过其职业等级获取专长。
*特殊攻击 (见上):黑暗。
*特性 (见上):对寒冷、电及火焰抗力5。
*天生使用语言:通用语,炼狱语。额外语言:龙语,矮人语,精灵语,侏儒语,地精语,半身人语,兽人语。
*天赋职业:游荡者。
*等级调整+1。
!!!植物滋长(Plant Growth)
|变化系|
|''等级:''德鲁伊3,植物3,巡林客3|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''见正文|
|''目标或区域:''见正文|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''无|
|选择不同的版本会让植物滋长产生不同的效果。|
|过度生长(Overgrowth):此效果将影响一个远距离内(400英尺+40英尺/施法者等级)的普通植物(草地,灌木,矮树丛,爬行植物,蓟类,树,藤蔓植物)。受影响的植物变得粗壮并过度增长。植物相互纠结形成灌木丛或树丛,生物要通过就必须劈开植物或强行穿过。生物速度会降至5英尺,大型或更大体型的生物为10尺。要本法术生效,施法区域中必须有灌木丛和树。|
|根据你的选择,施法区域可以是:半径为100英尺的圆形,半径为150英尺的半圆,或半径为200英尺的四分之一圆。|
|在施法区域中,你可以指定某一区域不受法术影响。|
|//丰沃(Enrichment)://此效果以半英里内的植物为目标,它们在下一年可能的产量会比正常水平提升1/3。|
|植物滋长可以反制植物凋零术(diminish plants)。|
|本法术对植物生物不起作用。|
''植物类(Plant):''这一类型由植物类的生物组成。注意通常的植物,比如在田野或者果园中种植的植物,缺少感知和魅力属性(参见上文“空属性”),不是生物而是物体,即使它们是活着的。

//特征://植物具有下列特征。

*d8生命骰。
*基本攻击奖励等于3/4生命骰数总和(类似于牧师)。
*擅长的豁免检定:强韧。
*技能点数等于每个生命骰(2+智力调整值,最少为1),第一个生命骰的技能点数为它的四倍,前提是此植物有智力属性。但是,绝大多数植物没有心智,也不会获得技能和专长。

//特性://植物拥有下列特性(除非生物描述中另有说明)。

*低光视觉。
*无心智:没有智力值,因此免疫所有影响心灵(mind*affecting)的效果(魅惑[charm]、胁迫[compulsion]、魅影幻觉[phantasm]、心灵幻觉[pattern]、以及士气效果[morale effect])。
*对毒素、睡眠效果、麻痹、变形和震慑免疫。
*不受重击。
*仅熟练使用它的天生武器。
*不熟练使用任何盔甲。
*植物需要呼吸和进食,但不需要睡眠。

''伏波铠甲:''这件+1全身铠甲装饰有波浪和鱼的图案。穿戴此盔甲进行游泳检定时视为未穿盔甲。穿戴者可以在水下呼吸并可以和水栖生物交谈。

中等防护系灵光;CL11;制造魔法武器和防具,行动自如(freedom of movement),水中呼吸(water breathing),巧言术(tongues);价格24650金币;制造花费17150金币+600经验值。
!!! 近程射击(POINT BLANK SHOT)[一般专长]

''效果:''使用远程武器攻击30英尺内的目标时,攻击检定与伤害值皆可有+1加值。

''特殊:''战士可以选择本专长作为其战士奖励专长。
!!!毒击术(Poison)
|死灵系|
|''等级:''牧师 4,德鲁伊 3|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的活体生物|
|''持续时间:''立即;见正文|
|''豁免:''强韧通过则无效;见正文|
|''法术抗力:''有|
|如同一些自然界有毒性的掠食者一样,你通过一次成功的近战接触攻击向目标体内注入一种剧毒。这种毒立即造成1d10点暂时体质伤害,并且1分钟后再造成1d10点暂时体质伤害。每一次的伤害都可以通过成功的强韧豁免(DC=10+1/2你的施法者等级+你的感知调整值)来抵消。|
''毒素(Poison,特异能力):''毒素会对一个强韧豁免失败的对手造成初始伤害,例如属性伤害(见属性值减少)或一些其他效果。一分钟后需要再次进行豁免检定(无论第一次检定的结果如何)用来免遭后继伤害,除非另有说明。生物的描述文字会给出具体细节。

具有毒素攻击的生物对它自身及同类生物的毒素免疫。对抗毒素攻击的强韧豁免DC等于10+1/2毒素攻击生物的种族HD+它的体质调整值(具体DC将在生物说明中给出)。

武器上或物品上的一剂毒素只能对单体目标起作用。在武器成功击中目标或物品被接触前,有毒的武器或物品上的毒素都将保留有效(除非在目标接触前毒素就被擦拭掉)。涂在物品上或暴露在自然环境中的任何毒素无论如何都能保持毒性,直到被接触或使用。

成功的豁免将避免伤害(伤害无效)。

尽管可能有超自然能力和类法术毒素,但毒素效果几乎都是特异能力。

根据毒素传递的方式,毒素将被分成四种基本的类型,如下。

''接触(Contact):''仅仅碰到这类毒素就要做豁免检定。它能被主动的通过武器或接触攻击传递。就算生物有足够的伤害减免可以免受这次攻击的伤害,该毒素依然能发挥作用。一个涂上接触毒素的箱子或其它东西可以当作陷阱的部件。

''摄入(Ingested):''在战斗状况下无法使用摄入毒素。投毒者可以给昏迷者喂毒,或试着欺骗受害者吃下或喝下有毒的东西。刺客和其他人物倾向于在战斗外使用摄入毒素。

''吸入(Inhaled):''吸入性毒气通常装在易碎的小瓶或类似的容器中。这些容器可以当作射程增量10尺的远程武器扔出。当撞到坚硬的表面(或被猛烈撞击)时,容器释放出毒气。一剂毒气占据10尺立方的空间。在这个区域内的每个生物都要做豁免检定(屏住呼吸是没用的,毒气可通过鼻黏膜、泪管或身体其它部分起作用)。

''伤口(Injury):''这种毒必须通过伤口传递。如果生物有足够的伤害减免避免遭受这次攻击的伤害,那么毒素不起作用。通过武器、针或者类似东西造成伤害的陷阱有时会包含伤口性毒素。

各种毒素的特点在表:毒素中作了总结。

//类型://毒素传递的方式(触碰、摄入、吸入或伤口性)和避免毒素伤害的强韧豁免检定DC。

//初始伤害://人物未通过豁免检定后立刻受到的伤害。属性伤害是暂时的,如果标上星号(*)则是永久的属性吸取。麻痹状态持续2d6分钟。

//后继伤害://中毒1分钟之后第二次豁免检定失败所受到的伤害数。昏迷状态持续1d3小时。标上星号的属性伤害是永久的。

//价格://一剂(一瓶)毒素的价格。使用毒素不能少于一剂,否则无效。购买和拥有毒药都是非法的,甚至在大城市都只能从特殊的渠道获得。

!!!! 使用毒素的危险(Perils of Using Poison)

当人物将毒素涂在武器上或用于其它用途时他有5%的几率自己接触到毒素。此外,当人物使用淬毒武器在攻击掷骰中投出自然骰1,他必须通过一个DC 15的反射豁免,否则就会意外的毒到自己。

!!!! 毒素免疫(Poison Immunities)

具有天生毒素攻击的生物免疫自己的毒素。无生命生物(构装生物和不死生物)和没有新陈代谢的生物(例如元素生物)总是免疫毒素。泥形生物、植物生物和某些种类的外界生物也免疫毒素,但是有可能调制出特殊的毒素专门伤害它们。

 

表格:毒素

|!	毒素	 |!	类型	 |!	初始伤害	 |!	后继伤害	 |!	价格	 |
|^	耐萨瑞毒(Nitharit)	 |^	接触 DC 13	 |^	0	 |^	3d6 体质	 |^	650 金币	 |
|^	幻叶余烬(Sassone leaf residue)	 |^	接触 DC 16	 |^	2d12 生命值	 |^	1d6 体质	 |^	300 金币	 |
|^	烈赤根糊(Malyss root paste)	 |^	接触 DC 16	 |^	1 敏捷	 |^	2d4 敏捷	 |^	500 金币	 |
|^	贴内根(Terinav root)	 |^	接触 DC 16	 |^	1d6 敏捷	 |^	2d6 敏捷	 |^	750 金币	 |
|^	黑莲汁(Black lotus extract)	 |^	接触 DC 20	 |^	3d6 体质	 |^	3d6 体质	 |^	4,500 金币	 |
|^	龙胆汁(Dragon bile)	 |^	接触 DC 26	 |^	3d6 力量	 |^	0	 |^	1,500 金币	 |
|^	条纹毒蕈(Striped toadstool)	 |^	摄入 DC 11	 |^	1 感知	 |^	2d6 感知 + 1d4 智力	 |^	180 金币	 |
|^	砒霜(Arsenic)	 |^	摄入 DC 13	 |^	1 体质	 |^	1d8 体质	 |^	120 金币	 |
|^	原质苔(Id moss)	 |^	摄入 DC 14	 |^	1d4 智力	 |^	2d6 智力	 |^	125 金币	 |
|^	腐精油(Oil of taggit)	 |^	摄入 DC 15	 |^	0	 |^	昏迷	 |^	90 金币	 |
|^	巫妖之尘(Lich dust)	 |^	摄入 DC 17	 |^	2d6 力量	 |^	1d6 力量	 |^	250 金币	 |
|^	暗掠者粉末(Dark reaver powder)	 |^	摄入 DC 18	 |^	2d6 体质	 |^	1d6 体质 + 1d6 力量	 |^	300 金币	 |
|^	魔地尘(Ungol dust)	 |^	吸入 DC 15	 |^	1 魅力	 |^	1d6 魅力 + 1 魅力*	 |^	1,000 金币	 |
|^	狂雾(Insanity mist)	 |^	吸入 DC 15	 |^	1d4 感知	 |^	2d6 感知	 |^	1,500 金币	 |
|^	焦引熏烟(Burnt othur fumes)	 |^	吸入 DC 18	 |^	1 体质*	 |^	3d6 体质	 |^	2,100 金币	 |
|^	黑蛇毒(Black adder venom)	 |^	伤口 DC 11	 |^	1d6 体质	 |^	1d6 体质	 |^	120 金币	 |
|^	小蜈蚣毒(Small centipede poison)	 |^	伤口 DC 11	 |^	1d2 敏捷	 |^	1d2 敏捷	 |^	90 金币	 |
|^	血根草(Bloodroot)	 |^	伤口 DC 12	 |^	0	 |^	1d4 体质 + 1d3 感知	 |^	100 金币	 |
|^	卓尔毒(Drow poison)	 |^	伤口 DC 13	 |^	昏迷	 |^	昏迷 2d4 小时	 |^	75 金币	 |
|^	绿血油(Greenblood oil)	 |^	伤口 DC 13	 |^	1 体质	 |^	1d2 体质	 |^	100 金币	 |
|^	青嘶泣(Blue whinnis)	 |^	伤口 DC 14	 |^	1 体质	 |^	昏迷	 |^	120 金币	 |
|^	中型蜘蛛毒(Medium spider venom)	 |^	伤口 DC 14	 |^	1d4 力量	 |^	1d4 力量	 |^	150 金币	 |
|^	暗菁华露(Shadow essence)	 |^	伤口 DC 17	 |^	1 力量*	 |^	2d6 力量	 |^	250 金币	 |
|^	翼龙毒(Wyvern poison)	 |^	伤口 DC 17	 |^	2d6 体质	 |^	2d6 体质	 |^	3,000 金币	 |
|^	大型蝎子毒(Large scorpion venom)	 |^	伤口 DC 18	 |^	1d6 力量	 |^	1d6 力量	 |^	200 金币	 |
|^	巨型黄蜂毒(Giant wasp poison)	 |^	伤口 DC 18	 |^	1d6 敏捷	 |^	1d6 敏捷	 |^	210 金币	 |
|^	死刃夜露(Deathblade)	 |^	伤口 DC 20	 |^	1d6 体质	 |^	2d6 体质	 |^	1,800 金币	 |
|^	紫虫毒(Purple worm poison)	 |^	伤口 DC 24	 |^	1d6 力量	 |^	2d6 力量	 |^	700 金币	 |
|^	*永久属性吸取,而非暂时属性伤害	 |^		 |^		 |^		 |^		 |


!!!极冰射线(Polar Ray)
|塑能系[寒冷]|
|''等级:''术士/法师 8|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''射线|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''有|
|从你手中喷射出一道由冻气和寒冰组成的蓝白色射线。你必须做一次成功的远程接触攻击才能用此射线对目标造成伤害。射线造成1d6点/施法者等级(最高25d6)的寒冷伤害。|
|//器材://一小块锥形或棱柱形的白瓷|
!!!变形万物(Polymorph Any Object)
|变化系|
|''等级:''术士/法师 8,诡术 8|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个生物,或体积最大为100立方英尺/每等级的一个非魔法物体|
|''持续时间:''见正文|
|''豁免:''强韧通过则无效(物体);见正文|
|''法术抗力:''可(物体)|
|这个法术作用类似于变形术(polymorph),只是它可以把一个物品或生物变成其它东西。这个法术的持续时间取决于这种变化到底有多大。持续时间按下表计算。|

|!	被变化的目标是:	 |!	持续时间因子^^1^^	 |
|^	同一大类(动物,植物,矿物)	 |^	+5	 |
|^	同一小类(哺乳动物,菌类,金属等等)	 |^	+2	 |
|^	相同尺寸	 |^	+2	 |
|^	有关联(树枝和树木,狼皮和狼等等)	 |^	+2	 |
|^	相同或更低的智力值	 |^	+2	 |

|^	1 //把所有可用的值加起来。然后在下表中查找最终结果。//	 |^		 |

|!	持续时间因子	 |!	持续时间	 |!	例子	 |
|^	0	 |^	20 分钟	 |^	石头变成人	 |
|^	2	 |^	1 小时	 |^	木偶变成人	 |
|^	4	 |^	3 小时	 |^	人变成木偶	 |
|^	5	 |^	12 小时	 |^	蜥蜴变成刺尾狮	 |
|^	6	 |^	2 天	 |^	绵羊变成羊毛外套	 |
|^	7	 |^	1 周	 |^	鼩鼱变成刺尾狮 	 |
|^	9或更高	 |^	永久	 |^	刺尾狮变成鼩鼱	 |

|和变形术不同的是,变形万物能让生物获得它新形态的智力值。如果它的原始形态没有感知或魅力值,那么它将获得新形态的这些属性。|
|在新形态下受到的伤害会导致被变形生物受伤或死亡。一般情况下,在新形态下受到的伤害会因为物理形态的变化而改变。|
|一个非魔法物品无法通过这个法术变成魔法物品。魔法物品不会被这个法术影响。|
|这个法术无法制造贵重物质,如铜、银、宝石、丝绸、黄金、白金、秘银、精金等。它也不能复制出寒铁的特殊能力来突破某些生物的伤害减免。|
|这个法术还可以用来复制以下法术的效果:恶意变形术(baleful polymorph),变形术(polymorph),石化术(flesh to stone),解除石化(stone to flesh),化泥为石(transmute mud to rock),化金为木(transmute metal to wood),化石为泥(transmute rock to mud)。|
|//奥术材料成分://水银,树胶和烟尘。|
魔法可以使生物或人物改变他们的外形--有时会违背他们的意愿,但通常都能获得好处。变形生物保留自己的意识,但具有新形体。

法术变形术(polymorph)定义了一般的变形效果。

除非另有规定,否则生物可以变形成同类生物的形体,或者变成一个异怪、动物、龙、精类、巨人、类人生物、魔法兽、人形怪物、魔法兽、泥形怪物、植物类生物、虫类的形体。大部分能造成变形效果的法术和特殊能力都有对新形体的生命骰有上限要求。

变形中的生物获得它们新形体的力量、敏捷以及体质属性,同时还获得了新形体的体型、特殊攻击、移动能力(飞行速度上限120尺,非飞行速度上限60尺)、天生盔甲加值、天生武器、种族技能加值,以及其他肉体方面的特性,比如外貌和肢体数量等。它们依然保留原有的职业和等级、智力、感知、魅力、生命值、基本攻击加值、基本豁免加值,以及阵营。

如果新形体能穿戴或者持有原有装备,那么变形中的生物继续穿戴或持有那些装备。

否则装备将融入新形体中,并且在变形期间内失去作用。

!!!变形术(Polymorph)
|变化系|
|''等级:''术士/法师4|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的自愿生物|
|''持续时间:''1分钟/等级(可解消)|
|''豁免:''无|
|''法术抗力:''无|
|''本法术的效果如同变身术(alter self),只是你可以将一个自愿的生物变成另一个活体生物的形态。新的生物形态可以与目标生物属于同种种类,也可以是下列生物种类中的一种:''异怪(aberration),动物(animal),龙(dragon),精类(fey),巨人(giant),类人生物(humanoid),魔法兽(magical beast),人形怪物(monstrous humanoid),泥形怪物(ooze),植物(plant),或虫类(vermin)。新生物形态的生命骰数量不能超过你的施法者等级(或受术者的HD,取其低者),在15级时达到最高15 HD。你不能使目标生物变形为比超微型(Fine)更小的体型,也不能把它变成虚体或气体形态。目标生物的生物种类和亚种(如果有的话)将会变化符合新形态。|
|在变化过程中,目标生物会恢复损失的生命值,数量如同它休息了一整晚(但是这样的医治效果不会恢复暂时属性伤害,也没有其他任何休息一整晚会提供的好处;另外变回原形也不会进一步医治目标生物)。如果被杀,目标生物回复到原来的形态,当然它还是死的。|
|目标生物将获得新形态的力量、敏捷和体质,但是保留它自己的智力、感知和魅力。目标生物同时获得新形态所有的特异能力特殊攻击,但是不会获得新形态任何的特异能力特质,也不会获得新形态任何的超自然能力或类法术能力。|
|虚体生物和气态生物都免疫变形术的影响,一个亚种为变形生物的生物可以通过1个标准动作变回原本的形态。|
|//材料成分://1个空的茧|
!!Pony, War(矮种战马 )

''中型动物''

|''生命骰:'' 2d8+4 (13 hp)|
|''先攻权:'' +1|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 13 (+1敏捷,+2天生),接触11,措手不及12|
|''基本攻击/擒抱:'' +1/ +3|
|''攻击:'' 蹄踢 +3 近战 (1d3+2)|
|''全回合攻击:'' 2 蹄踢 +3 近战 (1d3+2)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+5,反射+4,意志+0|
|''属性:'' 力量15,敏捷13,体质14,智力2,感知11,魅力4|
|''技能:'' 聆听+5,侦察+5|
|''专长:'' 坚忍|
|''环境:'' 温带平原|
|''组织:'' 被驯养|
|''挑战等级:'' 1/ 2|
|''进化:'' -|
|''等级调整:'' -|

矮种战马被驯养得更有力量且更具攻击性,且与[[轻型战马|Horse(马 )]]类似。

!!!战斗
矮种战马在载着骑手时依然可以战斗,但骑手除非通过骑术检定否则将不能同时战斗。

''负重能力:''对矮种战马而言100磅为轻载;101-200磅为中载;201-300磅为重载。矮种战马可以拖动1500磅重的东西。
!!Pony(矮种马 )

''中型动物''

|''生命骰:'' 2d8+2 (11 hp)|
|''先攻权:'' +1|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 13 (+1敏捷,+2天生),接触11,措手不及12|
|''基本攻击/擒抱:'' +1/ +2|
|''攻击:'' 蹄踢 -3 近战 (1d3*)|
|''全回合攻击:'' 2 蹄踢 -3 近战 (1d3*)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+4,反射+4,意志+0|
|''属性:'' 力量13,敏捷13,体质12,智力2,感知11,魅力4|
|''技能:'' 聆听+5,侦察+5|
|''专长:'' 坚忍|
|''环境:'' 温带平原|
|''组织:'' 单独|
|''挑战等级:'' 1/ 4|
|''进化:'' -|
|''等级调整:'' -|


这里列出的数据以肩高5尺以下的小型马为基准。除此之外,矮种马在其他任何方面都与轻型马类似,而且载着骑手时无法战斗。

!!!战斗
*未受战斗训练的矮种马通常宁可逃跑也不会使用其蹄踢攻击。它的蹄踢攻击被视为次要攻击且只附加其力量加值的一半在伤害骰上。

''负重能力:''对矮种马而言75磅为轻载;76-150磅为中载;151-225磅为重载。矮种马可以拖动1125磅重的东西。
!!Porpoise(海豚 )

''中型动物''

|''生命骰:'' 2d8+2 (11 hp)|
|''先攻权:'' +3|
|''速度:'' 游泳80尺 (16格)|
|''防御等级:'' 15 (+3敏捷,+2天生),接触13,措手不及12|
|''基本攻击/擒抱:'' +1/ +1|
|''攻击:'' 挥击 +4 近战 (2d4)|
|''全回合攻击:'' 挥击 +4 近战 (2d4)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' -|
|''特性:'' 盲视120尺,闭气,昏暗视觉|
|''豁免:'' 强韧+4,反射+6,意志+1|
|''属性:'' 力量11,敏捷17,体质13,智力2,感知12,魅力6|
|''技能:'' 聆听+8*,侦察+7*,游泳+8|
|''专长:'' 武器娴熟|
|''环境:'' 温带水域|
|''组织:'' 单独,成对,或成群 (3-20)|
|''挑战等级:'' 1/ 2|
|''进化:'' 3-4HD (中型);5-6HD (大型)|
|''等级调整:'' -|


海豚是天性爱玩、友善且乐于助人的哺乳动物。普通的海豚有4到6尺长,110到160磅重。这里列出的数据可以用在任何类似体型的小型鲸鱼上。

!!!战斗

''盲视 (Ex):''海豚可以通过其他大多数生物都无法听到的高频声波来“看见”东西,使它能定位120尺范围内的物体和生物。沉默术可以抵消此效果,并且能迫使海豚只依赖其和人类相近的视觉。

''闭气 (Ex):''在可能遇溺之前,海豚可以摒住呼吸达6 x 其体质值的轮数。

''技能:''在进行游泳检定做出特殊动作或躲避危险时,海豚可获得+8的种族加值。它可以在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。*在进行侦察及聆听检定时海豚可获得+4的种族加值。如果盲视失去作用的话,海豚会失去这些加值。
''Portable Hole(携带式次元洞)'': 相位蜘蛛以苍天为丝、星光为线,取其网纺线,制成此布环。打开时,洞口直径6英尺,折起时大小如同手帕。将布环摊开于任何平面,会开启深10英尺的异次元空间。只要提起布环,便可带走整个次元洞,并可折叠起来。此时洞口关闭,但内容物仍然存在。

洞内的空气是在洞口打开时流入,可供一个中型或两个小型生物呼吸10分钟。(见第三章有关窒息的说明)。即使洞内已经填满物品,次元洞也不具任何重量。每个次元洞打开的异次元空间都不相同。如果将“次元袋”放入“携带式次元洞”,会撕开星界裂隙。此时“次元袋”和“携带式次元洞”会被吸入虚空而永久消失。如果将“携带式次元洞”放入“次元袋”,会打开星界之门。此时“次元袋”、“携带式次元洞”和半径10英尺内所有生物会被拉入星界,而且“次元袋”和“携带式次元洞”会一起摧毁。

Moderate conjuration; CL 12th; Craft Wondrous Item, plane shift; Price 20,000 gp.
''猛扑(Pounce,特异能力):''具有这种特殊能力的生物,在它展开冲锋的时候可以附带全力攻击动作。如果它同时还有耙抓能力(rake),则还要包括耙抓攻击。

!!! 猛力攻击(POWER ATTACK)[一般专长]

''先决条件:''力量13。

''效果:''当你动作时,在所有攻击检定之前,你可以选择让所有近战攻击减去特定数值,再将该数值加到所有近战伤害掷骰上。该数值不能超过你的基本攻击加值。攻击减值和伤害加值将持续到下轮动作之前。

''特殊:''如果你用双手武器攻击,或双手挥舞一把单手武器,伤害应加上两倍的攻击检定上减去的数值。在使用轻型武器时不能将猛力攻击中得到的加值加到伤害上(除了徒手击打或天生武器攻击之外),尽管攻击检定上的减值依然有效。(通常双头武器视为一把单手武器加一把轻型武器。如果你选择如同双手武器般使用双头武器,在一轮中仅用一头攻击,则其视为一把双手武器。)

战士可以选择本专长作为其战士奖励专长。
!!!真言术:盲(Power Word Blind)
|惑控系(胁迫) [影响心灵]|
|''等级:''术士/法师 7, 战争 7|
|''法术成分:''言语|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个200或更少生命值的生物|
|''持续时间:'' 见正文|
|''豁免:''无|
|''法术抗力:''可|
|你仅发出一个威力无比的词就能让你选定的一个生物目盲,不管它是否能听见那个词。该法术的持续时间和目标的当前总生命值相关。任何当前具有201或者更多生命值的生物都不受真言术:盲影响。|

|!	生命值	 |!	持续时间	 |
|^	50或更少	 |^	永久	 |
|^	51–100	 |^	1d4+1 分钟	 |
|^	101–200	 |^	1d4+1 轮	 |

!!!真言术:死(Power Word Kill)
|惑控系(胁迫) [死亡,影响心灵]|
|''等级:''术士/法师 9, 战争 9|
|''法术成分:''言语|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个100或更少生命值的活物|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''可|
|你仅发出一个威力无比的词就能立即杀死你选定的一个生物,不管它是否能听见那个词。任何当前具有101或者更多生命值的生物都不受真言术:死影响。|
!!!真言术:震(Power Word Stun)
|惑控系(胁迫) [影响心灵]|
|''等级:''术士/法师 8, 战争 8|
|''法术成分:''言语|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个150或更少生命值的生物|
|''持续时间:'' 见正文|
|''豁免:''无|
|''法术抗力:''可|
|你仅发出一个威力无比的词就能让你选定的一个生物震慑,不管它是否能听见那个词。该法术的持续时间和目标的当前总生命值相关。任何当前具有151或者更多生命值的生物都不受真言术:震影响。|

|!	生命值	 |!	持续时间	 |
|^	50或更少	 |^	4d4 轮	 |
|^	51–100	 |^	2d4 轮	 |
|^	101–150	 |^	1d4 轮	 |
''强力冲锋(Powerful Charge,特异能力):''具有这种特殊能力的生物,在它展开冲锋的时候,除了通常的优势和劣势之外,还可以造成额外的伤害。造成额外伤害的数目会在生物的描述中给出。

!!!祈祷术(Prayer)
|惑控系(胁迫) [影响心灵]|
|''等级:''牧师 3, 圣武士 3|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''40英尺|
|''区域:''以你为中心40英尺爆发范围内所有盟友和敌人|
|''持续时间:'' 1 轮/每等级|
|''豁免:''无|
|''法术抗力:''可|
|你将神之恩宠带给你自己和你的盟友,同时将厌恶带给你的敌人。你和你的每个盟友在攻击判定、武器伤害判定、技能检定上都获得+1幸运加值,同时你的每个敌人都会在这类判定上获得-1减值。|
!!! 精准射击(PRECISE SHOT)[一般专长]

''先决条件:''近程射击。

''效果:''当你使用远程武器射向或掷向与队友近战的对手时,你的攻击检定不会受-4减值。

''特殊:''战士可以选择本专长作为其战士奖励专长。
!!!魔法伎俩(Prestidigitation)
|共通系|
|''等级:''吟游诗人 0,术士/法师 0|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''10英尺|
|''目标,效果,或区域:''见正文|
|''持续时间:'' 1小时|
|''豁免:''见正文|
|''法术抗力:''不可|
|魔法伎俩是新手施法者用来练习的小把戏。每次施放它,一个魔法伎俩能让你做一种简单的魔法效果达1小时。这种魔法效果微弱且作用有限。它可以缓慢提升1磅物品。它也可以每轮把一英尺见方内的物品染色、清洁或弄脏一次。它可以改变让一磅无生命物质变冷、变热或者加点味道。它不能造成伤害,也无法对施法者的专注造成影响。魔法伎俩可以创造物品,但是它们看起来是非常粗糙的假货。用魔法伎俩创造的物品极其不结实,无法用作工具、武器或者法术成分。最后,魔法伎俩无法模仿其他法术效果。对物品的任何实质性改变(仅仅除了移动、清洁或者弄脏)都只能持续1小时。|
!!!虹光法球(Prismatic Sphere)
|防护系|
|''等级:''保护 9,术士/法师 9,太阳 9|
|''法术成分:''言语|
|''距离:''10英尺|
|''效果:''以你为中心的10英尺半径球形|
|该法术作用类似虹光法墙(prismatic wall),只是你制造出来的是一个固定的闪着微光的不透明球体,多彩光线围绕着你,在所有形式的攻击中保护你。这个球体能闪耀出视觉光谱内的一切色彩光芒。|
|这个法球对少于8HD的生物所造成的的目盲效果持续2d4x10分钟。|
|你可以进入和离开虹光法球,也可以停留在它附近而不受伤害。一旦你身处其中,任何尝试将物体(包括法术)射穿法球的尝试都会被阻止。尝试攻击你或穿越法球的生物会在同时受到所有色彩的效果。|
|通常情况下,只有上半个法球是存在的,因为你是在法球中心,所以下半个法球通常会被你所站的地面所排除。|
|法球的色彩具有和虹光法墙(prismatic wall)色彩同样的效果。|
|虹光法球可以被魔法恒定术(permanency)恒定。|
!!!虹光喷射(Prismatic Spray)
|塑能系|
|''等级:''术士/法师 7|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''60英尺|
|''区域:''锥形爆发区域|
|''持续时间:''立即|
|''豁免:''见正文|
|''法术抗力:''可|
|这个法术能让你手中喷出七道闪烁不定,互相混杂的多彩光束。每道光束具有不同的威力。法术区域内8或更少HD的生物会自动目盲2d4轮。区域内的每个生物都会随机的被一道或多道光束击中,每道光束都有不同的额外效果。|


|!	1d8	光束颜色	 |!	效果	 |
|^	1	红色	 |^	20点火焰伤害(反射减半) points fire damage (Reflex half)	 |
|^	2	橙色	 |^	40点强酸伤害(反射减半) points acid damage (Reflex half)	 |
|^	3	黄色	 |^	80点电击伤害(反射减半) points electricity damage (Reflex half)	 |
|^	4	绿色	 |^	毒(被杀;强韧通过则部分有效,只受到1d6点体质伤害)Poison (Kills; Fortitude partial, take 1d6 points of Con damage instead)	 |
|^	5	蓝色	 |^	变成石头(强韧通过则无效)Turned to stone (Fortitude negates)	 |
|^	6	青色	 |^	疯狂,如同精神错乱(insanity)法术(意志通过则无效)Insane, as insanity spell (Will negates)	 |
|^	7	紫色	 |^	传送到其他位面(意志通过则无效)Sent to another plane (Will negates)	 |
|^	8	被两道光线击中;重新投掷两次,忽视任何为8的结果。	 |<|
!!!虹光法墙(Prismatic Wall)
|防护系|
|''等级:''术士/法师 8|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''宽每等级4英尺,高每等级2英尺的墙|
|''持续时间:'' 10分钟/等级(可解消)|
|''豁免:''见正文|
|''法术抗力:''见正文|
|虹光法墙制造出一堵竖直的不透明墙——一个闪着微光的多彩光之平面,它能在任何形式的攻击中保护你。 这堵墙有七种色彩,每种都具有独特的能力和作用。这堵墙是固定的,你可以穿过它,也可以停留在它附近而不受伤害。但是在法墙20英尺内的其它任何不足8HD的生物如果看这堵墙就会被这些色彩所目盲2d4轮。|
|这堵墙的最大面积是宽每施法者等级4英尺,高每施法者等级2英尺。在具象化时通过被生物占据的空间的虹光法墙会瓦解,同时该法术浪费掉。|
|墙的每种色彩都有特殊效果。下表给出了墙的七种色彩,它们出现的次序,它们对那些试图攻击你或穿过墙的生物的效果,以及能抵消每种色彩的法术。|
|这堵墙可以被摧毁,按照一定的顺序一道色彩接一道色彩的被不同的法术所摧毁;即要能影响第二种色彩必须首先将第一种色彩摧毁,并依次类推。抹消权杖(rod of cancellation)或法师裂解术(mage’s disjunction)可以摧毁虹光法墙,但是反魔场(antimagic field)无法穿过它。解除魔法(Dispel magic)和高等解除魔法(greater dispel magic)无法解除这堵墙和它后面的一切东西。法术抗力对虹光法墙有抵抗作用,但是每显示一种色彩都必须重复进行一次施法者等级检定。|
|虹光法墙可以被魔法恒定术(permanency)所恒定。|


|!	色彩	 |!	顺序	 |!	色彩效果	 |!	可被下列魔法效果抵消	 |
|^	红色	 |^	第一	 |^	阻止非魔法远程武器。	 |^	冰锥术(Cone of cold)	 |
|^		 |^		 |^	造成20点火焰伤害(反射减半)。	 |^		 |
|^	橙色	 |^	第二	 |^	阻止魔法远程武器。	 |^	造风术(Gust of wind)	 |
|^		 |^		 |^	造成40点强酸伤害(反射减半)。	 |^		 |
|^	黄色	 |^	第三	 |^	阻止毒素、毒气和石化。	 |^	解离术(Disintegrate)	 |
|^		 |^		 |^	造成80点电击伤害(反射减半)。	 |^		 |
|^	绿色	 |^	第四	 |^	阻止喷涂武器。	 |^	穿墙术(Passwall)	 |
|^		 |^		 |^	毒(被杀;强韧通过则部分有效,只受到1d6点体质伤害)。	 |^		 |
|^	蓝色	 |^	第五	 |^	阻止预言系法术和精神攻击。	 |^	魔法飞弹(Magic missile)	 |
|^		 |^		 |^	变成石头(强韧通过则无效)。	 |^		 |
|^	青色	 |^	第六	 |^	阻止所有法术。	 |^	昼明术(Daylight)	 |
|^		 |^		 |^	意志豁免,否则疯狂(如同精神错乱(insanity)法术)	 |^		 |
|^	紫色	 |^	第七	 |^	摧毁所有法术和效果的能量场。^^1^^	 |^	解除魔法(Dispel magic)	 |

|1 //紫色效果让其他六种色彩的效果有些多余,但之所以在此包含这前六种效果是因为某些魔法物品一次能创造出一种色彩的虹光效果,而且法术抗力有可能将某些色彩无法起效(见前)。//|
!!!燃火术(Produce Flame)
|塑能系 [火]|
|''等级:''德鲁伊1,火 2|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''0英尺|
|''效果:''你掌心的火焰|
|''持续时间:''1分钟/等级(可解消)|
|''豁免:''无|
|''法术抗力:''可|
|在你打开的手掌中出现如火把般明亮的火焰。这火焰即不会伤害你也不会伤害你的装备。|
|除了制造光明外,这个火焰可以被投出去或者用来接触敌人。你可以用一个近战接触攻击来攻击一个敌人,造成的火焰伤害为1d6+每施法者等级1点(最多+5)。你也可以将这个火焰象投掷武器一样投出至多120英尺。当这么做时,你需要用一个远程接触攻击(没有距离减值)进行攻击,造成的伤害和近战相同。一旦你将火焰投出去,一股新的火焰会出现在你手中。每次攻击都会使剩余的持续时间缩短1分钟。如果一次攻击会将剩余持续时间降低到0分钟或更短,那么法术在攻击结束后结束。|
|此法术在水下无法作用。|
!!!预置幻影(Programmed Image)
|幻术系(虚假幻觉)|
|''等级:''吟游诗人 6,术士/法师 6|
|''效果:''视觉幻象,尺寸不能超过一个边长20英尺立方体+每等级一个边长10英尺立方体(可变)|
|''持续时间:''永久直到被触发,之后每等级1轮|
|这个法术作用类似无声幻影(silent image),只是这个法术的幻象在特定条件达到时可以活动。这个幻象包括视觉、听觉、嗅觉和温度,也可以有条理的说话。|
|在施放这个法术的时候你要设定一个触发条件(可以是一个词)。这个用来触发幻术的事件可以很普通,如果愿意也可以特别指定,但是必须基于一个可听到、可触觉、可嗅觉或者可视觉的触发条件。这个触发条件不能基于其它无法用感觉正常感觉的条件,例如阵营。(更多细节见魔嘴术(magic mouth)。)|
|//材料成分://一撮羊毛和价值25金币的翡翠粉。|
!!!投影术(Project Image)
|幻术系(幽影幻觉)|
|''等级:''吟游诗人 6,术士/法师 7|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''一个幽影复制品|
|''持续时间:'' 1轮/等级(可解消)|
|''豁免:''意志通过则不信(如果发生交互)|
|''法术抗力:''不可 |
|汲取阴影位面的能量,你制造出一个你自己的半真实幻象。这个投射出来的镜像看起来、听起来、闻起来都很像你,但是触摸不到。投射出来的镜像会模拟你的行动(包括说话),除非你指引它做些其他行动(需要一个移动动作)。|
|你可以通过它的眼睛观察,也可以通过它的耳朵听,就如同你在它所在的地方一样。在你的回合内你可以从它的感觉来切换回你自己的感觉,或者反过去,这些都是一个自由动作。当你使用它的感觉时,你的躯体视作目盲和耳聋。|
|如果你愿意,你施展的任何法术距离为接触或更远的法术都可以以投射镜像为源发点进行计算,而非从你本身。除了幻术系法术外,这个投射镜像不能施展任何法术在它自己身上。即便源发点是从投射镜像开始计算,施展的法术依然能正常影响其他目标。|
|物品会被投射镜像所影响,就如同它们通过了它们的意志豁免一样。|
|你必须始终和你的投射镜像之间维持一条效果线。如果你的效果线被阻断,那么法术终止。如果你使用次元门(dimension door),传送术(teleport),异界传送(plane shift),或者类似能打断你效果线的法术,即便是片刻时间,这个法术都会终止。|
|//材料成分://你的一个小复制品(一个人偶),需要花费5个金币制造。|
''俯卧(Prone):''人物卧在地上。倒地的进攻者在近战攻击掷骰上有-4减值,并且不能使用远程武器(除了弩)。倒地的防御者在对抗远程武器时防御等级有+4加值,但在防卫近战攻击时防御等级有-4减值。

起立是一个移动等效动作,并且会引发借机攻击。

 
!!!防护箭矢(Protection from Arrows)
|防护系|
|''等级:''术士/法师 2|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触的生物|
|''持续时间:'' 1小时/等级或直到耗散|
|''豁免:''意志通过则无效(无害)|
|''法术抗力:''可(无害)|
|受防护的生物获得抵抗远程武器的能力。受术者对远程武器获得10/魔法的伤害减免。(这个法术不会让你获得伤害具有类似伤害减免生物的能力。)一旦这个法术防护掉了总数为每施法者等级10点的伤害(最多100点),这个法术耗散。|
|//器材://一小片乌龟或海龟壳。|
!!!防护混乱(Protection from Chaos)
|防护系 [秩序]|
|''等级:''牧师 1,秩序 1,圣武士 1,术士/法师 1|
|这个法术作用类似防护邪恶(protection from evil),只是它的偏斜加值和抗性加值只对混乱生物的攻击起效,也只有混乱召唤生物无法接触受术者。|
!!!防护能量伤害(Protection from Energy)
|防护系|
|''等级:''牧师 3,德鲁伊3,机运 3,保护 3,巡林客2,术士/法师 3|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触的生物|
|''持续时间:'' 10分钟/等级或直到耗散|
|''豁免:''强韧通过则无效(无害)|
|''法术抗力:''可(无害)|
|防护能量伤害能提供暂时的对一种能量的免疫力,能量类型由你在施法时指定(强酸,寒冷,电击,火焰,或音波)。当这个法术吸收了每施法者等级12点的能量伤害时(在10级时达到最多120点),法术耗散。|
|注意:防护能量伤害覆盖(而非叠加)了抵抗能量伤害(resist energy)。如果一个人被防护能量伤害和抵抗能量伤害所同时防护,那么防护能量伤害会吸收伤害,直到它的能力消失。|
!!!防护邪恶(Protection from Evil)
|防护系 [善良]|
|''等级:''牧师 1,善良 1,圣武士 1,术士/法师 1|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触的生物|
|''持续时间:''1分钟/等级(可解消)|
|''豁免:''意志通过则无效(无害)|
|''法术抗力:''不可;见正文|
|这个法术能让一个生物在邪恶生物的攻击中获得防护,也可以防护精神控制,以及对召唤生物获得防护。它能在受术者身边1英尺处制造出一道魔法屏障。这个魔法屏障随着受术者移动,具有以下三种主要效果。|
|首先,该受术者AC获得+2偏斜加值,在豁免上获得+2抗性加值。所有这些加值都只对邪恶生物发起的攻击或效果有效。|
|第二,这个魔法屏障能阻止任何占据受防护者的尝试(例如魔魂壶(magic jar)的攻击),也能阻止任何尝试精神控制的尝试(包括能使施法者控制受术者的惑控系(魅惑)和惑控系(胁迫)效果,例如支配人类(dominate person))。这个防护并不能预防此类效果使其无法针对受保护的生物,但是在防护邪恶效果的持续时间内它能压制此类效果。如果防护邪恶在精神控制效果结束前结束,那么控制者又可以精神控制被控制的生物。和此类似的是,这个屏障能阻止尝试进行占据的生命力,但是无法驱除在施法前已经占据了的生命力。这第二项效果和阵营无关,总是起效。|
|第三,这个法术能阻止召唤生物进行的肢体接触。因此此类生物的天生武器攻击会失败,如果攻击需要接触被防护的生物,那么它会被弹回去。善良召唤生物免疫此效果。如果被防护的生物对被阻拦的生物进行攻击,或者尝试用魔法屏障逼近被阻拦的生物,那么此种防护召唤生物接触的保护会终止。可以用法术抗力来突破这种防护从而接触被防护的生物。|
|//奥术材料成分://一点银粉和你围绕着欲防护生物在地板(或地面)上绘制的一个三英尺直径圆环。|
!!!防护善良(Protection from Good)
|防护系 [邪恶]|
|''等级:''牧师 1,邪恶 1,术士/法师 1|
|这个法术作用类似防护邪恶(protection from evil),只是它的偏斜加值和抗性加值只对善良生物的攻击起效,也只有善良召唤生物无法接触受术者。|
!!!防护秩序(Protection from Law)
|防护系 [混乱]|
|''等级:''混乱 1,牧师 1,术士/法师 1|
|这个法术作用类似防护邪恶(protection from evil),只是它的偏斜加值和抗性加值只对守序生物的攻击起效,也只有守序召唤生物无法接触受术者。|
!!!防护法术(Protection from Spells)
|防护系|
|''等级:''魔法 8, 术士/法师 8|
|''法术成分:''言语,姿势,材料,器材|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''至多每四等级一个接触的生物|
|''持续时间:'' 10分钟/等级|
|''豁免:''意志通过则无效(无害)|
|''法术抗力:''可(无害)|
|受术者在对抗法术和类法术能力(但不包括超自然能力和特异能力)时豁免获得+8抗性加值。|
|//材料成分://一颗至少价值500金币的钻石,它必须打碎并撒在目标身上。|
|//器材://每个获得防护的生物需要一颗价值1,000金币的钻石。每个目标都必须在法术期间内携带此宝石。如果某个受术者丢失了此宝石,那么此法术不再影响它。|
''Protection(防护):''提供持续防护,使穿戴者防御等级具有+1到+5偏斜加值。

施法者等级:5。先决条件:“锻造戒指”,“虔诚护盾”,制造者等级至少须达加值的三倍。交易价格:2000金币(+1加值),8000金币(+2加值),18000金币(+3加值),32000金币(+4加值),50000金币(+5加值)。
!!!高等窥视魔眼(Prying Eyes, Greater)
|预言系|
|''等级:''术士/法师 8|
|这个法术作用类似于窥视魔眼(prying eyes),只是这些眼睛能看到它们所在位置的一切事物,如同它们具有120英尺范围的真知术(true seeing)一样。因此,它们可以在黑暗区域中以全速运动。同时,一个高等窥视魔眼的最大侦察调整值为+25而非+15。|
!!!窥视魔眼(Prying Eyes)
|预言系|
|''等级:''术士/法师 5|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1分钟|
|''距离:''一英里|
|''效果:''十个或更多漂浮的魔眼|
|''持续时间:'' 1小时/等级;见正文(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|你创造出一组半真实的可见魔法小球(称之为“魔眼”),数量为1d4加你施法者等级。根据你施法时的指引,这些魔眼能够移开并观察周围,然后返回。每个魔眼都能在全方向上看120英尺(普通视觉)。|
|尽管魔眼个体非常脆弱,但是它们非常小,很难被发现。所有魔眼都是一个超微型(Fine)构装体,大小相当于一个小苹果,有1点生命值,AC 18(体型+8),可以以30英尺完美机动力飞行,在躲藏上有+16调整值。它的侦察调整值等于你的施法者等级(最多+15),幻觉、黑暗、雾气以及其他能影响到你接受周围视觉信息的情况都能影响到魔眼。试图穿越黑暗的魔眼必须摸索着找到通路。|
|当你制造出这些魔眼时,你要特别指定你希望它们遵循的命令,这个命令长度不得超过二十五个字。任何你已经掌握的知识同样会被这些魔眼所知。|
|为了报告它们的发现,魔眼必须返回到你的手中。它们会在你的脑海中重现在它存在期间内看到的一切。一个魔眼需要用1轮时间来重现一个小时的记录影像。在重现完它的发现后,这颗魔眼会消失。|
|如果一个魔眼离开你超过1英里,它会立即消失。但是你和这些魔眼之间的联系无法让你得知这些魔眼是否因为离开了法术范围或其他事件而已经被摧毁。|
|这些魔眼会存在至多每施法者等级1小时,或者直到它返回到你身边。解除魔法(Dispel magic)能够摧毁这些魔眼。在区域型解除魔法中,需要为每个魔眼单独进行判定。当然,如果一个魔眼进入了黑暗中,它有可能因为撞到了墙或类似障碍物而把自己弄碎。|
|//材料成分://一把水晶弹子。|
!!Pseudodragon(伪龙)

''超小型龙类''

|''生命骰:'' 2d12+2(15hp)|
|''先攻权:'' +2|
|''速度:'' 15尺(3格),飞行60尺(良好)|
|''防御等级:'' 18(+2体型,+2敏捷,+4天生),接触14,措手不及16|
|''基本攻击/擒抱:'' +2/-8|
|''攻击:'' 螯刺+4近战(1d3-2外加毒素)|
|''全回合攻击:'' 螯刺+4近战(1d3-2外加毒素)及啮咬-1近战(1)|
|''面宽/触及:'' 2-1/2尺/0尺(尾巴5尺)|
|''特殊攻击:'' 毒素|
|''特性:'' 盲感60尺,黑暗视觉60尺,对睡眠及麻痹免疫,昏暗视觉,法术抗力19,心灵感应60尺|
|''豁免:'' 强韧+4,反射+5,意志+4|
|''属性:'' 力量6,敏捷15,体质13,智力10,感知12,魅力10|
|''技能:'' 交涉+2,躲藏+20*,聆听+9,搜索+6,察言观色+7,侦察+9,生存+1(+3追踪)|
|''专长:'' 警觉,武器娴熟|
|''环境:'' 温带森林|
|''组织:'' 单独,成对,或成群(3-5)|
|''挑战等级:'' 1|
|''宝物:'' 无|
|''阵营:'' 总是中立善良|
|''进化:'' 3-4HD(超小型)|
|''等级调整:'' +3|


伪龙身长约1尺,尾巴有2尺长。它重约7磅。

伪龙可以通过心灵感应进行交流,并且能发出动物的鸣叫声。

!!!战斗
伪龙能饯行凶猛的啮咬攻击,但是它主要的武器是长有螯刺的尾巴。

''毒素 (Ex):''伤口,强韧豁免检定DC 14,初始伤害昏睡1分钟,后续伤害昏睡1d3小时。该豁免检定DC基于体质调整值且包括+2的种族加值。

''盲感 (Ex):''伪龙可以通过非视觉手段 (基本上是听觉和嗅觉,但是也能通过震动或其他环境因素)察觉60尺范围内的生物。伪龙所看不见的对手对它而言仍然处于全隐蔽状态下。

''心灵感应 (Su):''伪龙可以通过心灵感应与60尺范围内会说通用语或木族语的生物交流。

''技能:''伪龙所拥有的变色能力使其在进行躲藏检定时可获得+4的种族加值。*在森林或树丛区域时,此加值可提升为+8。 
''心灵异能(Psionics,类法术能力):''心灵感应、精神战斗和心灵力量--心灵异能是各种精神能力的总称,很多生物掌控着这种能力。它们是类法术能力,独自产生于生物的内心--不需要外界的魔法力量或任何仪式。每个心灵异能生物的描述都给出了它独心灵异能的细节。

心灵异能攻击常常允许用成功的意志检定来进行抵抗。不过并非所有心灵异能攻击都是精神战斗。一些心灵异能生物可以利用心灵异能重塑自己的形体,治疗自己的伤口,或进行远距离传送。一些心灵异能生物能看见过去和未来,以及此刻远方发生的事,还可以阅读他人的思想。心灵异能通常可以任意使用。


!!!净化食粮(Purify Food and Drink)
|变化系|
|''等级:''牧师 0,德鲁伊0|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''10英尺|
|''目标:''1立方英尺/等级的被污染食物和饮水|
|''持续时间:''立即|
|''豁免:''意志通过则无效(物体)|
|''法术抗力:''可(物体)|
|这个法术能把变质、腐臭、有毒或遭受其他污染的食物和水净化为可食用和饮用状态。这个法术不能阻止之后的自然腐败或变质。邪水和类似意义的食物和饮料被净化食粮处理后会失去作用,但是这个法术对任何类型生物或魔法药剂都无效。|
|//注意://每加仑水重约8磅。一立方英尺水大约为8加仑,重60磅。|
!!Purple Worm(紫虫)

''巨型魔法兽''

|''生命骰:'' 16d10+112(200hp)|
|''先攻权:'' -2|
|''速度:'' 20尺(4格),掘穴20尺,游泳10尺|
|''防御等级:'' 19(-4体型,-2敏捷,+15天生),接触4,措手不及19|
|''基本攻击/擒抱:'' +16/+40|
|''攻击:'' 啮咬+25近战(2d8+12)|
|''全回合攻击:'' 啮咬+25近战(2d8+12)及螯刺+20近战(2d6+6外加毒素)|
|''面宽/触及:'' 20尺/15尺|
|''特殊攻击:'' 精通攫抓,囫囵活吞,毒素|
|''特性:'' 颤动感知60尺|
|''豁免:'' 强韧+17,反射+8,意志+4|
|''属性:'' 力量35,敏捷6,体质25,智力1,感知8,魅力8|
|''技能:'' 聆听+18,游泳+20|
|''专长:'' 无畏一击,顺势斩,精通冲撞,猛力攻击,专攻武器(啮咬),专攻武器(螯刺)|
|''环境:'' 地底|
|''组织:'' 单独|
|''挑战等级:'' 12|
|''宝物:'' 无钱币,50%工艺品(只有石制品),无物品|
|''阵营:'' 总是中立|
|''进化:'' 16-32HD(巨型);33-48HD(超巨型)|
|''等级调整:'' -|


成熟紫虫的身体直径约5尺,长越80尺,重约40000磅。它的尾端长有毒刺。

!!!战斗
在战斗中紫虫会蜷曲成直径20尺的圈形,啮咬并螯刺任何它能触及的目标。

''精通攫抓 (Ex):''使用此能力之前,紫虫必须通过其啮咬攻击击中对手。然后它就可以通过一个即时动作尝试展开擒抱,该工作不会引发借机攻击。如果它成功将对手定身,那么就可以在下一轮尝试囫囵活吞对手。

''毒素 (Ex):''伤口,强韧豁免检定DC 25,初始伤害1d6点力量伤害,后续伤害2d6点力量伤害。该豁免检定DC基于体质调整值。

''囫囵活吞 (Ex):''紫虫可以通过一个成功的擒抱检定尝试活吞一个被擒抱的体型比它小一级的对手。一旦被吞下,对手会因紫虫的胃而每轮受到2d8+12点钝击伤害及8点酸伤害。被吞下的生物可以通过使用轻型挥砍或穿刺武器对胃 (AC 17)造成25点伤害而逃脱。一旦生物脱出之后,胃的肌肉活动会将伤口合起来;因此其他被囫囵活吞的生物必须再以上述方法逃脱。巨型紫虫的胃部可以容纳2个大型、8个中型、32个小型、128个超小型、512个微型或更小的生物。

''技能:''在进行游泳检定来做出特殊动作或躲避危险时,紫虫可获得+8的种族加值。它可在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。
!!!烟火术(Pyrotechnics)
|变化系|
|''等级:''吟游诗人 2,术士/法师 2|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''远距(400英尺+40英尺/每等级)|
|''目标:''一个火源,至多为一个边长20英尺立方体|
|''持续时间:'' 1d4+1轮,或在生物离开烟云后1d4+1轮;见正文|
|''豁免:''意志通过则无效或强韧通过则无效;见正文|
|''法术抗力:''可或不可;见正文|
|烟火术能把一团火焰转变为一道夺目的焰火,或者转化为一团令人窒息的厚重烟云,这取决于你选择的功效。|
|焰火:这道焰火炽热而猛烈,爆发出一道短暂的多彩闪光。这个效果会导致在火源周围120英尺内的生物会目盲1d4+1轮(意志通过则无效)。这些生物必须要和受影响的火焰之间有视觉线。法术抗力能够避免目盲。|
|烟云:一股翻腾的烟雾从火源中喷涌而出,构成一团令人窒息的烟云。这团烟云向各个方向扩散20英尺,持续至少每施法者等级1轮。所有视觉,甚至黑暗视觉,都无法穿透这团烟云。所有烟云中的生物在力量和敏捷上会受到-4减值(强韧通过则无效)。在烟雾消失后,或者在生物离开烟云区域后,这些效果依然会持续1d4+1轮。法术抗力对此无效。|
|//材料成分://这个法术使用一个火源,它会被立即熄灭。一团大到超出20英尺立方体的火焰只有部分会熄灭。魔法火焰不会熄灭,但是如果使用火系生物作为火源,那么它会受到每施法者等级1点的伤害。|
''蚺蛇(Python):''这支权杖较一般的权杖稍长,大约四英尺长,十磅重。攻击时可当作+2木棍。如果把权杖往地上丢(标准动作),它会在该轮结束时,化成一只二十五英尺长的超大蟒蛇(见《怪物图鉴》),此蟒蛇完全听从持用者指挥(变为蟒蛇型态时,失去权杖型态在攻击及伤害的+2增强加值)。持用者随时可将蟒蛇回复至权杖状态(整轮动作),若距离持用者100英尺以上,超大蟒蛇会自动回复至权杖状态。如果超大蟒蛇死亡,也会回复至权杖状态,且三天之内不能再使用此功能。只有善良阵营人物才能使用“蚺蛇权杖”的功能。

施法者等级:10。先决条件:“制造权杖”,“制造魔法武器及防具”,“变形他人”,制造者必须为善良阵营。交易价格:13000金币
!!!灭火术(Quench)
|变化系|
|''等级:''德鲁伊3|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''区域或目标:''每等级一个边长20英尺的立方体(可变)或一个火系魔法物品|
|''持续时间:''立即|
|''豁免:''无货意志通过则无效(物品)|
|''法术抗力:''不可或可(物品)|
|灭火术通常用于扑灭森林火灾和其他火灾。它会熄灭区域内所有非魔法火焰。这个法术同时也会解除掉区域内的所有火焰法术,只是你需要做一个解除检定(1d20+1每施法者等级,最多+15)来对抗每个法术以便解除它。解除此类法术的DC是11+该火焰法术的施法者等级。|
|灭火术区域内的所有元素(火)生物都会受到每施法者等级1d6的伤害(最多15d6,无豁免)。|
|作为替代用法,你可以将此法术单独作用于一件用来创造或控制火焰的魔法物品。这个物品会失去所有火系魔法能力1d4小时,除非它成功通过了意志豁免。(神器对这个效果免疫。)|
!!! 即时备战(QUICK DRAW)[一般专长]

''先决条件:''基本攻击加值+1。

''效果:''你拔取武器的动作视为即时动作,而非移动动作。你可以以一个移动动作拔取一把藏着的武器(见技能“手上功夫”)

选择了本专长的人物可以以其完整的正常攻击频率投掷武器(就如同使用弓的人物一般)。

''正常:''若没有本专长,你可以以一个移动动作拔取武器,或作为移动的一部分以一个即时动作(只要基本攻击加值达到+1或更高)拔取武器。若没有本专长,你可以以一个标准动作拔取一把藏着的武器。

''特殊:''战士可以选择本专长作为其战士奖励专长。
!!! 法术瞬发(QUICKEN SPELL)[超魔专长]

''效果:''搭配本专长时,施展法术视为即时动作。在同一轮中,你可以进行另一个行动,甚至施展另一个法术。每轮只能施展一个瞬发法术。施法时间超过一整轮的法术,不可搭配本专长。瞬发的法术需占用高于原本四个等级的法术位。施展瞬发的法术不会引发借机攻击。

''特殊:''本专长不能用于任何自发施展的法术(包括术士法术、吟游诗人法术和自发施展的牧师或德鲁伊法术),因为将超魔专长搭配于一个自发施展的法术将自动使施法时间增加成为一个整轮动作。
!!!狂暴术(Rage)
|惑控系(胁迫) [影响心灵]|
|''等级:''吟游诗人 2,术士/法师 3|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''每三等级一个自愿的活物,任意两者不得超过30英尺|
|''持续时间:'' 专注+1轮/等级(可解消)|
|''豁免:''无|
|''法术抗力:''可 |
|每个受影响的生物在力量和体质上得到+2士气加值,意志豁免得到+1士气加值,AC受到-2减值。此效果其他部分与野蛮人的狂暴技能相同,除了在狂暴结束时目标生物不会疲乏。|
!!!虹彩图纹(Rainbow Pattern)
|幻术系(心灵幻觉)[影响心灵]|
|''等级:''吟游诗人 4, 术士/法师 4|
|''法术成分:''言语(仅吟游诗人),姿势,材料,器材;见正文|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''20英尺半径扩散范围内彩色光|
|''持续时间:''专注+1轮/等级(可解消)|
|''豁免:''意志通过则无效|
|''法术抗力:''可|
|一个由多种色彩交织而成的彩虹般的图纹使它范围内的生物陷入着迷状态。虹彩图纹可使HD总数不超过24的多个生物陷入着迷。HD最少的生物首先受到影响。相等HD的生物中,最靠近法术源起点的生物首先受到影响。意志豁免失败而受到影响的生物将因这个图纹而陷入着迷。|
|用一个简单的手势(一个自由动作),你可以使此虹彩图纹以最高每轮30英尺的速度移动(移动它的源起点)。所有着迷的生物会跟随着移动的图纹,试图进入或保持在图纹效果范围内。受到限制或离开图纹的着迷生物仍然会试图跟随着它。如果图纹将把受它影响的生物带入危险区域,所有着迷的生物将得到第二次豁免。如果图纹的光芒被完全阻挡,看不到它的生物将不再受到影响。|
|此法术不会影响无视力的生物。|
|言语成分:一个法师或术士不需要发声来施展此法术,但是一个吟游诗人必须歌唱、演奏音乐或朗诵韵文来作为言语成分。|
|材料成分:一块磷。|
|//器材://一块水晶棱镜。|
!!!死者复活(Raise Dead)
|咒法系(医疗)|
|''等级:''牧师 5|
|''法术成分:''言语,姿势,材料,法器|
|''施法时间:''1分钟|
|''距离:''接触|
|''目标:''接触的死亡生物|
|''持续时间:''立即|
|''豁免:''无;见正文|
|''法术抗力:''可(无害)|
|你恢复一个已死生物的生命。你可以复活一个死亡时间不超过每施法等级1天的生物。另外,这个生物的灵魂必须是自由且愿意复活的。如果该生物的灵魂拒绝复活,这个法术不会生效;所以,一个愿意复活的生物无需进行豁免。|
|死而复生是一个痛苦的体验。此法术的目标生物复活时失去一个等级(或1个生命骰),如同它因等级吸取而失去了一个等级或HD一样。如果该生物是1级的,它改为失去2点体质属性(如果这将使它的体质属性降到0或更低,它将不能复活)。这种等级/HD或体质的损失不会因任何方式恢复。一个死亡时拥有已准备好的法术的角色复活时有50%几率失去任何准备的法术,还要加上因失去一个等级而损失的法术。一个不需要准备法术施法的生物(比如一个术士)有50%几率失去任何未使用的法术位如同它已经被用于施法一样,加上因失去一个等级而损失的法术位。|
|一个复活的生物拥有等于其现有HD的生命值。所有因伤害降到0的属性恢复到1。普通的毒素和疾病在复活的过程中会被治愈,但是魔法疾病和诅咒不会消失。虽然此法术会愈合致命的伤口并修复大多数损伤,但是该生物复活时身体必须是完整的。否则,该生物复活时失去的身体部分依然不会恢复。该生物的装备和物品不会被这个法术影响。|
|一个被转化为不死生物或被死亡效果杀死的生物不能被这个法术复活。构装生物,元素生物,异界生物,和不死生物无法复活。这个法术无法复活因年老而死亡的生物。|
|//材料成分://至少价值5,000金币的钻石。|
''耙抓(Rake,特异能力):''具有这种特殊能力的生物会在它擒抱对手时获得额外的天生武器攻击。正常情况下怪物在擒抱时只能使用它的天生武器之一来展开攻击,但具有耙抓能力的怪物往往会多两次额外的爪抓攻击,这种额外攻击仅可以用来针对被它擒抱的对手。耙抓攻击不会受到通常擒抱中使用天生武器攻击的-4减值。

具有耙抓能力的怪物在使用耙抓之前必须已处于擒抱状态,它不能在同一回合内开始擒抱并进行耙抓。

!!Rakshasa(邪兽鬼)

''中型异界生物 (本地)''

|''生命骰:'' 7d8+21(52hp)|
|''先攻权:'' +2|
|''速度:'' 40尺(8格)|
|''防御等级:'' 21(+2敏捷,+9天生),接触12,措手不及19|
|''基本攻击/擒抱:'' +7/+8|
|''攻击:'' 爪抓+8近战(1d4+1)|
|''全回合攻击:'' 2爪抓+8近战(1d4+1)及啮咬+3近战(1d6)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 侦测思想,法术|
|''特性:'' 变换外形,伤害减免15/善良和穿刺,黑暗视觉60尺,法术抗力27|
|''豁免:'' 强韧+8,反射+7,意志+6|
|''属性:'' 力量12,敏捷14,体质16,智力13,感知13,魅力17|
|''技能:'' 唬骗+17*,专注+13,交涉+7,易容+17(+19表演)*,威吓+5,聆听+13,潜行+13,表演(演讲)+13,察言观色+11,法术辨识+11,侦察+11|
|''专长:'' 警觉,战斗施法,闪避|
|''环境:'' 温暖的沼泽|
|''组织:'' 单独|
|''挑战等级:'' 10|
|''宝物:'' 标准钱币,双倍工艺品,标准物品|
|''阵营:'' 总是守序邪恶|
|''进化:'' 视人物职业而定|
|''等级调整:'' +7|


接近观察邪兽鬼会发现它的手心是人类的手背。

邪兽鬼的身高与体重与人类相同。

邪兽鬼会说通用语,炼狱语和地底通用语。

!!!战斗
在被邪兽鬼视为不光彩的近战中,它会使用其利爪和有力的啮咬进行攻击。而只要可能的话,它就会使用它的其他能力来避免这样的遭遇。

''侦测思想 (Su):''邪兽鬼能够持续地使用侦测思想,其效果如同名法术 (施法等级18;通过DC 15的意志豁免检定则无效)。它能以一个即时动作抑制或恢复此能力。该豁免检定DC基于魅力调整值。

''法术:''邪兽鬼可以如等级7的术士一样施法。
//典型术士已知法术 (6/ 7/ 7/ 5;豁免DC 13 + 法术等级)://

|0级 - 侦测魔法,光亮术,法师之手,传讯术,提升抗力,疲劳之触;|
|1级 - 魅惑人类,法师护甲,魔法飞弹,护盾术,无声幻影;|
|2级 - 熊之坚韧,隐形术,强酸箭;|
|3级 - 加速术,暗示术。|

''变换外形 (Su):''邪兽鬼可以通过一个标准动作变成任何类人生物形态或变回自己的原形。在类人生物形态下,邪兽鬼失去其爪抓和啮咬攻击 (但它通常为自己配备有武器和盔甲)。邪兽鬼会保持在一个形态直到它选择变换为止。外形的改变无法被解除,但如果被杀的话,邪兽鬼会变回原形。真知术可以显露其原形。

''技能:''在进行唬骗和易容检定时邪兽鬼可获得+4的种族加值。*当变换外形时,邪兽鬼进行易容检定可再额外获得+10的环境加值。如果能够读取对手的思想,邪兽鬼在进行唬骗和易容检定时所获得的环境加值还可以再增加+4。

!!!扮演邪兽鬼人物

邪兽鬼人物角色拥有以下种族特性。

*+2力量,+4敏捷,+6体质,+2智力,+2感知,+6魅力。
*中型体型。
*邪兽鬼的基本陆地速度为40尺。
*黑暗视觉60尺。
*种族生命骰:邪兽鬼拥有7个异界生物等级,这使它拥有7d8的生命骰,+7的基本攻击加值,以及强韧+5、反射+5、意志+5的基本豁免检定加值。
*种族技能:邪兽鬼的异界生物等级使它拥有等于10 * (8 + 智力调整值)的技能点数。其本职技能为唬骗,易容,聆听,潜行,表演,察言观色和侦察。邪兽鬼在进行唬骗和易容检定时可获得+4的种族加值,而且可以通过使用变换外形 (易容检定+10)及侦测思想 (唬骗和易容检定+4)获得额外的加值。
*种族专长:邪兽鬼的异界生物等级使它拥有三项专长。
*+9天生防御加值。
*天生武器:啮咬 (1d6)和2 爪抓 (1d4)。
*侦测思想 (Su):豁免检定DC等于13 + 人物的魅力调整值。
*法术:邪兽鬼人物可以如等级7的术士一样施法。如果人物获得额外的术士等级的话,这些等级可以和邪兽鬼的对已知法术、每日法术数量及其他基于施法等级的基本施法能力叠加。邪兽鬼人物同样的可以使用其种族施法等级和职业等级的和来决定其魔宠的能力。
*特性 (见上):变换外形,伤害减免15/ 善良和穿刺,法术抗力等于27 + 职业等级。
*天生使用语言:通用语,炼狱语。额外语言:木族语,地底通用语。
*天赋职业:术士。
*等级调整+7。

''Ram(冲撞):''此戒指装饰华丽,由坚硬金属(通常是铁或铁合金)铸成,形似攻城槌?的槌头(或公羊头)。

穿戴者可命令此戒指发出一股如同攻城槌?的力量,隐约出现槌头或羊头的形状,击打单一目标。消耗1发可造成1d6点伤害,消耗2发造成2d6点伤害,消耗3发(最多3发)造成3d6点伤害。此功能属于远程攻击,最远可达50英尺,不会因距离增加而遭受减值。

这股冲力相当大,可以将敌人从矮墙或其他掩蔽物中推出。如果目标在穿戴者30英尺范围内,会遭到冲撞(攻城槌?为力量值25,大型)。如果消耗2发,攻城槌的冲撞有+1加值,如果消耗3发有+2加值。

除了攻击敌人之外,“攻城槌戒指”还可以用来撞门,效果如同力量值25的人物。如果消耗2发,则如同力量值27的人物。消耗3发,力量值为29。

新铸的“攻城槌戒指”共有50发,消耗完毕就失去魔力,成为非魔法物品。

施法者等级:9。先决条件:“锻造戒指”,“蛮力术”、“心灵遥控”。交易价格:8600金币。
''阵营:''任意

''生命骰:''d8

 
!!!!本职技能
巡林客的本职技能(和各技能的关键属性)为:攀爬(力量),专注(体质),手艺(智力),驯养动物(魅力),医疗(感知),躲藏(敏捷),跳跃(力量),知识(地下城)(智力),知识(地理)(智力),知识(自然)(智力),聆听(感知),潜行(敏捷),专业(感知),骑术(敏捷),搜索(智力),侦察(感知),生存(感知),游泳(力量),绳技(敏捷)。

''1级人物起始技能点:''(6+智力修正)x4

''升级技能点数:''6+智力修正。

 

 

''表:巡林客'' 

|!		|!		|!		|!		|!		|!		|!	-每日法术-	|<|<|<|
|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!	特殊	|!	1级	|!	2级	|!	3级	|!	4级	|
|^	1 	|^	+1	|^	+2	|^	+2	|^	+0	|^	第一宿敌,追踪,野性认同	|^	-	|^	-	|^	-	|^	-	|
|^	2	|^	+2	|^	+3	|^	+3	|^	+0	|^	战斗流派	|^	-	|^	-	|^	-	|^	-	|
|^	3	|^	+3	|^	+3	|^	+3	|^	+1	|^	耐久	|^	-	|^	-	|^	-	|^	-	|
|^	4	|^	+4	|^	+4	|^	+4	|^	+1	|^	动物伙伴	|^	0	|^	-	|^	-	|^	-	|
|^	5	|^	+5	|^	+4	|^	+4	|^	+1	|^	第二宿敌	|^	0	|^	-	|^	-	|^	-	|
|^	6	|^	+6/+1	|^	+5	|^	+5	|^	+2	|^	增强战斗流派	|^	1	|^	-	|^	-	|^	-	|
|^	7	|^	+7/+2	|^	+5	|^	+5	|^	+2	|^	穿林	|^	1	|^	-	|^	-	|^	-	|
|^	8	|^	+8/+3	|^	+6	|^	+6	|^	+2	|^	快速追踪	|^	1	|^	0	|^	-	|^	-	|
|^	9	|^	+9/+4	|^	+6	|^	+6	|^	+3	|^	反射闪避	|^	1	|^	0	|^	-	|^	-	|
|^	10	|^	+10/+5	|^	+7	|^	+7	|^	+3	|^	第三宿敌	|^	1	|^	1	|^	-	|^	-	|
|^	11	|^	+11/+6/+1	|^	+7	|^	+7	|^	+3	|^	精通战斗流派	|^	1	|^	1	|^	0	|^	-	|
|^	12	|^	+12/+7/+2	|^	+8	|^	+8	|^	+4	|^		|^	1	|^	1	|^	1	|^	-	|
|^	13	|^	+13/+8/+3	|^	+8	|^	+8	|^	+4	|^	伪装	|^	1	|^	1	|^	1	|^	-	|
|^	14	|^	+14/+9/+4	|^	+9	|^	+9	|^	+4	|^		|^	2	|^	1	|^	1	|^	0	|
|^	15	|^	+15/+10/+5	|^	+9	|^	+9	|^	+5	|^	第四宿敌	|^	2	|^	1	|^	1	|^	1	|
|^	16	|^	+16/+11/+6/+1	|^	+10	|^	+10	|^	+5	|^		|^	2	|^	2	|^	1	|^	1	|
|^	17	|^	+17/+12/+7/+2	|^	+10	|^	+10	|^	+5	|^	视线躲藏	|^	2	|^	2	|^	2	|^	1	|
|^	18	|^	+18/+13/+8/+3	|^	+11	|^	+11	|^	+6	|^		|^	3	|^	2	|^	2	|^	1	|
|^	19	|^	+19/+14/+9/+4	|^	+11	|^	+11	|^	+6	|^		|^	3	|^	3	|^	3	|^	2	|
|^	20	|^	+20/+15/+10/+5	|^	+12	|^	+12	|^	+6	|^	第五宿敌	|^	3	|^	3	|^	3	|^	3	|


!!!!职业特性
以下是巡林客的职业特性。

''武器和防具擅长:''巡林客擅长使用所有的简单武器和军用武器,也擅长使用轻甲和盾牌(除了塔盾)。

''宿敌(Favored Enemy,特异能力):''1级时,巡林客可以从表:巡林客宿敌中选择一类生物作为宿敌。在对此类生物使用唬骗、聆听、察言观色、侦察,及生存检定时巡林客有+2加值。同时在对此类生物的伤害检定上也有+2加值。

5级和之后每5级(10,15,20级),巡林客可以从宿敌表中多选择一类生物作为宿敌。另外,每次增加宿敌时,巡林客对自己的一种宿敌(包括本次刚选择的)的加值可以增加2点。

如果巡林客选择类人生物或者异界生物作为宿敌,那么他必须选择生物的亚种,如表中所指。如果某种特定生物同时属于两类宿敌类型,巡林客的加值无法叠加,只能使用较高的值作为加值。

 

''表:巡林客宿敌''

|!	种类(亚种)	|!	种类(亚种)	|
|^	异怪类(Aberration)	|^	类人生物类(爬虫)(Humanoid (reptilian))	|
|^	动物类(Animal)	|^	魔法兽类(Magical beast) 	|
|^	构装体类(Construct)	|^	人形怪物类(Monstrous humanoid)	|
|^	龙类(Dragon) 	|^	泥形怪物类(Ooze)	|
|^	元素类(Elemental)	|^	异界生物类(气)(Outsider (air))	|
|^	精类(Fey)	|^	异界生物类(混乱)(Outsider (chaotic))	|
|^	巨人类(Giant)	|^	异界生物类(土)(Outsider (earth)) 	|
|^	类人生物类(水栖)(Humanoid (aquatic))	|^	异界生物类(邪恶)(Outsider (evil)) 	|
|^	类人生物类(矮人)(Humanoid (dwarf)) 	|^	异界生物类(火)(Outsider (fire)) 	|
|^	类人生物类(精灵)(Humanoid (elf)) 	|^	异界生物类(善良)(Outsider (good))	|
|^	类人生物类(地精)(Humanoid (goblinoid)) 	|^	异界生物类(守序)(Outsider (lawful))	|
|^	类人生物类(豺狼人)(Humanoid (gnoll)) 	|^	异界生物类(本地)(Outsider (native))	|
|^	类人生物类(侏儒)(Humanoid (gnome))	|^	异界生物类(水)(Outsider (water)) 	|
|^	类人生物类(半身人)(Humanoid (halfling)) 	|^	植物类(Plant)	|
|^	类人生物类(人类)(Humanoid (human)) 	|^	不死生物类(Undead)	|
|^	类人生物类(兽人)(Humanoid (orc)) 	|^	虫类(Vermin)	|

 

''追踪(Track):''巡林客获得追踪(Track)作为奖励专长。

''野性认同(Wild Empathy,特异能力):''巡林客可以改善动物的态度。该能力类似在改善人的态度时所做的交涉检定。巡林客投一个1d20,再加上他的巡林客等级和魅力修正来决定野性认同的结果。

一般家畜开始时的态度是冷淡(indifferent),野外生物则通常是不友善(unfriendly)。

要使用野性认同, 巡林客和动物必须能够互相仔细查看,即两者必须在普通环境下彼此相距30尺以内。一般通过这种方式感化一个动物需要1分钟时间,不过和感化人类似,有可能需要更多和更少的时间。

巡林客可以通过该能力感化一个智力为1或2的魔法兽, 不过在检定中要受到-4减值。

''战斗流派(Combat Style,特异能力):''2级时,巡林客必须选择在两种战斗流派中选择一种:箭术还是双武器格斗。该选择会对角色的职业特性产生影响,但不会限制他对专长的选择或者他的特殊能力。

如果巡林客选择箭术,那么他将视为获得速射专长,即使他没达到该专长的正常要求。

如果巡林客选择双武器格斗,那么他将视为获得双武器战斗专长,即便他没达到该专长的正常前提条件。

流派选择带来的好处只有在他穿着轻甲或者不穿甲时才能使用。当他穿中甲或重甲时他将失去所有战斗流派带来的好处。

''耐久(Endurance):''巡林客在三级时获得耐久(Endurance)作为奖励专长。

''动物伙伴(Animal Companion,特异能力):''4级时,巡林客可以在以下列表中选择一名动物伙伴:獾(badger),骆驼(camel),凶暴鼠(dire rat),狗(dog),骑乘用犬(riding dog),鹰(eagle),猎鹰(hawk),马(horse,轻或重型),猫头鹰(owl),矮种马(pony),蛇(snake,小型或中型蝰蛇(viper)),狼(wolf)。如果战役在一个水生环境中展开,她还可以选择以下生物作为德鲁伊伙伴:鳄鱼(crocodile),海豚(porpoise),中型鲨鱼(Medium shark),乌贼(squid)。该动物伙伴是巡林客的忠诚同伴,在巡林客的冒险旅途中会一直将其当作自己的同类。

该能力和德鲁伊的同名能力相同,除了巡林客的实效德鲁伊等级为他巡林客等级的一半。巡林客也可以像德鲁伊一样从扩展列表中选择动物伙伴,只是此时他的实效德鲁伊等级为他巡林客等级的一半。和德鲁伊一样,他不能选择那些会让他实效德鲁伊等级降低到1以下的动物作为伙伴。

''法术:''从4级开始,巡林客可以施展少量神术,见巡林客法术列表。巡林客必须提前选择并准备法术(见后)。

要准备施展某个法术,巡林客的感知值必须达到10+法术等级。对抗巡林客法术的难度等级等于10+法术等级+巡林客感知调整。

和其他施法者一样,巡林客每天可以使用的法术有限。他的基本每日法术分配可见表:巡林客。另外,如果有较高的感知值,他还可以获得额外奖励每日法术。如果表:巡林客中指出巡林客在给定的法术等级上有0个法术,那么他只能获得高感知值提供的额外法术。和牧师不同,巡林客没有领域法术或神授力量。

巡林客准备法术和施法方式和牧师相同,但是不能放弃一个准备好的法术将其转化为治疗类法术。巡林客可以准备并施展任何巡林客法术列表上的法术,只要他可以施展此等级法术即可,但是他依然必须选择在每日冥想期间准备的法术。

直到3级为止,巡林客都没有施法者等级。在4级或者更高等级,他的施法者等级视为他巡林客等级的一半。

''精通战斗流派(Improved Combat Style,特异能力):''6级时,巡林客在他选择的战斗流派(箭术或双武器格斗)上获得了提高。如果在2级时他选择了箭术,那么此时他将视为获得多重射击(Manyshot)专长,即便没达到该专长的正常前提条件。

如果2级时选择了双武器格斗,那么此时视为他获得精通双武器战斗专长,即便没达到该专长的正常前提条件。

和之前一样,流派选择带来的好处只有在他穿着轻甲或者不穿甲时才能使用。当他穿中甲或重甲时他将失去所有战斗流派带来的好处。

''穿林(Woodland Stride,特异能力):''7级起巡林客可以以正常速度通过任何矮树丛(例如自然的荆棘丛,石南丛,茂密的灌木丛,以及其他类似地形),并且不会受到伤害或者其他损失。

但是用魔法生成或加强的这类地形还是会阻碍他的行动。

''快速追踪(Swift Tracker,特异能力):''8级起,巡林客可以以正常速度进行追踪而不用受到正常的-5减值。在以双倍速度移动时进行追踪只受-10减值(正常减值为-20)。

''反射闪避(Evasion,特异能力):''9级时巡林客可以以高超的敏捷避开魔法攻击和特殊攻击。有些攻击效果若通过反射检定可以减少一半伤害,如果巡林客遭到此类攻击,在通过反射检定后他将不受伤害。巡林客只有在穿轻甲或不穿甲时才可以进行反射闪避。无助状态下的巡林客不能进行反射闪避。

''战斗流派纯熟(Combat Style Mastery,特异能力):''11级时,巡林客在他选择的战斗流派(箭术或双武器格斗)上获得了进一步提高。如果在2级时他选择了箭术,那么此时他将视为获得增强精确射击专长(Improved Precise Shot),即便没达到该专长的正常前提条件。

如果2级时选择了双武器格斗,那么此时视为他获得高等双武器战斗专长(Greater Two-Weapon Fighting),即便没达到该专长的正常前提条件。

和之前一样,流派选择带来的好处只有在他穿着轻甲或者不穿甲时才能使用。当他穿中甲或重甲时他将失去所有战斗流派带来的好处。

''伪装(Camouflage,特异能力):''13级或更高等级的巡林客可以在任何自然地形下使用躲藏技能,即使该地形没有提供掩蔽或隐蔽物。

''视线躲藏(Hide in Plain Sight,特异能力):''17级或更高等级的巡林客在任何自然地形中使用躲藏技能,即使正在被注意到也可以。
!!! 快速装填(RAPID RELOAD)[一般专长]

选择一种十字弓(手弩,轻弩或重弩)

''先决条件:''擅长武器(已选择的弩类型)。

''效果:''装填你已选择的那类弩改为即时动作(手弩,轻弩)或是移动动作(重弩)。装填弩仍会引发借机攻击。

如果你在本专长中选择的是手弩或轻弩,你可以在整轮动作中象使用弓一样射击多次。

''正常:''没有本专长的人物要以一个移动动作来装填手弩或轻弩,或以一个整轮动作来装填重弩。

''特殊:''你可以多次选择快速装填。你每次选择本专长,它必须用于新的弩类型。

战士可以选择本专长作为其战士奖励专长。

!!! 快速射击(RAPID SHOT)[一般专长]

''先决条件:''敏捷13、近程射击。

''效果:''你使用远程武器时,每轮可以多攻击一次。这次攻击以最高的基本攻击加值计算,但该轮内所有攻击检定(额外的这次和正常的那些)均有-2减值。你必须在全力攻击时使用本专长。

''特殊:''战士可以选择本专长作为其战士奖励专长。

选择了箭术战斗流派的2级巡林客在穿着轻甲或不穿甲时视为具有本专长,即使他不具备先决条件。

''Rapier of Puncturing(穿刺细剑):''
这把+2血光细剑允许使用者通过一次接触攻击对目标造成1d6点由失血导致的体质伤害。免疫重击的生物同样免疫此武器造成的体质伤害。

强烈死灵系灵光;CL13;制造魔法武器和防具,重伤术(harm);价格50320金币;制造花费25320金币+2000经验值。
!!Rast(炭渣怪)

''中型异界生物 (跨位面,火系)''

|''生命骰:'' 4d8+7(25hp)|
|''先攻权:'' +5|
|''速度:'' 5尺(1格),飞行60尺(良好)|
|''防御等级:'' 15(+1敏捷,+4天生),接触11,措手不及14|
|''基本攻击/擒抱:'' +4/+6|
|''攻击:'' 爪抓+6近战(1d4+2);或啮咬+6近战(1d8+3)|
|''全回合攻击:'' 4爪抓+6近战(1d4+2);或啮咬+6近战(1d8+3)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 麻痹凝视,精通攫抓,吸血|
|''特性:'' 黑暗视觉60尺,飞行,对火焰免疫,易受寒冷伤害|
|''豁免:'' 强韧+5,反射+5,意志+5|
|''属性:'' 力量14,敏捷12,体质13,智力3,感知13,魅力12|
|''技能:'' 躲藏+8,聆听+8,潜行+8,侦察+8|
|''专长:'' 精通先攻,健壮|
|''环境:'' 火元素位面|
|''组织:'' 单独,成对,或成群(3-6)|
|''挑战等级:'' 5|
|''宝物:'' 无|
|''阵营:'' 通常是中立|
|''进化:'' 5-6HD(中型);7-12HD(大型)|
|''等级调整:'' -|


炭渣怪身上随处可见10到15只爪子,但是它同时只能使用其中4只。

炭渣怪的体型与大型犬相近,并且有一颗和身体一样大的头。它重约200磅。

!!!战斗
炭渣怪会麻痹尽可能多的敌人,然后攻击其他还能行动的幸存者。炭渣怪可以进行爪抓或啮咬攻击,但是在同一轮中不能无法同时进行这两种攻击。

''麻痹凝视 (Su):''麻痹1d6轮,30尺,通过DC 13的强韧豁免检定则无效。该豁免检定DC基于魅力调整值。

''精通攫抓 (Ex):''使用此能力之前,炭渣怪必须通过其啮咬攻击击中对手。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。

''吸血 (Ex):''炭渣怪可以从被擒抱的对手身上吸血,将对手定身的每一轮都可造成1点体质伤害。

''飞行 (Su):''炭渣怪可以通过一个即时动作开始或结束飞行。炭渣怪一旦失去此能力就会掉落下来,而且每轮只能做出一个动作 (不是移动动作就是攻击动作)。 

!!Rat(鼠 )

''超小型动物''

|''生命骰:'' 1/4 d8 (1 hp)|
|''先攻权:'' +2|
|''速度:'' 15尺 (3格),攀爬15尺,游泳15尺|
|''防御等级:'' 14 (+2体型,+2敏捷),接触14,措手不及12|
|''基本攻击/擒抱:'' +0/ -12|
|''攻击:'' 啮咬 +4 近战 (1d3-4)|
|''全回合攻击:'' 啮咬 +4 近战 (1d3-4)|
|''面宽/触及:'' 2-1/2尺/ 0尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+2,反射+4,意志+1|
|''属性:'' 力量2,敏捷15,体质10,智力2,感知12,魅力2|
|''技能:'' 平衡+10,攀爬+12,躲藏+16,潜行+12,游泳+10|
|''专长:'' 隐秘,武器娴熟|
|''环境:'' 任意|
|''组织:'' 一大群 (10-100)|
|''挑战等级:'' 1/ 8|
|''进化:'' -|
|''等级调整:'' -|

这些杂食性的啮齿动物几乎可以在任何地方繁衍。

!!!战斗
鼠通常会选择逃跑。啮咬仅作为它们的最后手段。

''技能:''在进行躲藏及潜行检定时鼠可获得+4的种族加值,进行平衡、攀爬及游泳检定时可获得+8的种族加值。鼠可以在攀爬检定中总是取10,即使在很匆忙或受到威胁时也一样。

在进行攀爬和游泳检定时鼠使用其敏捷调整值代替力量调整值进行检定。

在进行游泳检定做出特殊动作或躲避危险时,鼠可获得+8的种族加值。它可以在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。
!!Raven(渡鸦 )

''超小型动物''

|''生命骰:'' 1/4 d8 (1 hp)|
|''先攻权:'' +2|
|''速度:'' 10尺 (2格),飞行40尺 (普通)|
|''防御等级:'' +4 (+2体型,+2敏捷),接触14,措手不及12|
|''基本攻击/擒抱:'' +0/ -13|
|''攻击:'' 爪抓 +4 近战 (1d2-5)|
|''全回合攻击:'' 爪抓 +4 近战 (1d2-5)|
|''面宽/触及:'' 2-1/2尺/ 0尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉|
|''豁免:'' 强韧+2,反射+4,意志+2|
|''属性:'' 力量1,敏捷15,体质10,智力2,感知14,魅力6|
|''技能:'' 聆听+5,侦察+7|
|''专长:'' 警觉,武器娴熟|
|''环境:'' 温带森林|
|''组织:'' 单独|
|''挑战等级:'' 1/ 6|
|''进化:'' -|
|''等级调整:'' -|

这些羽毛乌亮的鸟类约2尺长,翼展约4尺。它们使用其双爪同时进行攻击。

这里列出的数据可以用在大多数体型类似的非掠食性鸟类上。
!!Ravid(独爪蜃)

''中型异界生物 (跨位面)''

|''生命骰:'' 3d8+3(16hp)|
|''先攻权:'' +4|
|''速度:'' 20尺(4格),飞行60尺(完美)|
|''防御等级:'' 25(+15天生),接触10,措手不及25|
|''基本攻击/擒抱:'' +3/+4|
|''攻击:'' 尾击+4近战(1d6+1外加正能量);或尾触+4近战接触(正能量)|
|''全回合攻击:'' 尾击+4近战(1d6+1外加正能量)及爪抓+2近战(1d4外加正能量);或尾触+4近战接触(正能量)及爪触+2近战接触(正能量)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 正能量打击,活化物体|
|''特性:'' 黑暗视觉60尺,飞行,对火焰免疫|
|''豁免:'' 强韧+4,反射+3,意志+4|
|''属性:'' 力量13,敏捷10,体质13,智力7,感知12,魅力14|
|''技能:'' 逃脱术+6,躲藏+6,聆听+7,潜行+6,侦察+7,生存+7,绳技+0(+2捆绑)|
|''专长:'' 精通先攻,多重攻击|
|''环境:'' 正能量位面|
|''组织:'' 单独(1外加至少1活化物体)|
|''挑战等级:'' 5|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 4HD(中型);5-9HD(大型)|
|''等级调整:'' -|

独爪蜃是来自于正能量位面的生物。这种奇特的生物能通过触碰来注入能量在生物身上,并且能活化无生命的物体使其围绕在它身边。来到物质界的独爪蜃会无目的地漫游,身边跟随着那些被它们活化了的物体。

独爪蜃约7尺长,重约75磅。

!!!战斗
独爪蜃只会因自卫而战斗。独爪蜃本身并不十分强,但是它身边总会有至少一个活化物体在保护它。

''正能量打击 (Su):''独爪蜃可以通过接触攻击或在爪抓或尾击攻击命中目标时向目标注入正能量。这种能量会使活着的生物感到刺痛,对不死生物 (哪怕是虚体生物)则能造成2d10点伤害。

''活化物体 (Su):''每轮一次,独爪蜃可以使其周围20尺范围内的任何一件物品活化,就好像施加了活化物体法术一样 (施法等级20)。被活化的物品会尽一切可能来保护独爪蜃,但独爪蜃还没有聪明到能对它们下达特定命令的地步。

''飞行 (Su):''独爪蜃可以通过一个即时动作开始或结束飞行。独爪蜃一旦失去此能力就会掉落下来,而且每轮只能做出一个动作 (不是移动动作就是攻击动作)。

''专长:''独爪蜃虽然不具备拥有三个天生武器的条件,但是它仍然拥有多重攻击专长。
!!!衰弱射线(Ray of Enfeeblement)
|死灵系|
|''等级:''术士/法师 1|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''射线|
|''持续时间:''1分钟/等级|
|''豁免:''无|
|''法术抗力:''可|
|一条闪烁的射线从你的手中射出。你必须进行一次成功的远程接触攻击以击中目标。目标受到1d6+1每两施法等级(最多1d6+5)的力量减值。目标的力量属性不能降低到1以下。|
!!!力竭射线(Ray of Exhaustion)
|死灵系|
|''等级:''术士/法师 3|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''射线|
|''持续时间:''1分钟/等级|
|''豁免:''强韧通过则部分有效;见正文|
|''法术抗力:''可|
|一条黑色的射线从你的手指射出。你必须进行一次成功的远程接触攻击以击中一个目标。|
|在法术持续时间内,目标立刻变为力竭(exhausted)状态。一次成功的强韧豁免意味着该生物只会变为疲乏(fatigued)。|
|一个已经处于疲乏状态的生物将变为力竭。|
|此法术对于已经力竭的生物没有效果。与正常的力竭或疲乏不同,此效果在此法术持续时间结束后终止。|
|//材料成分://一滴汗。|
!!!冰冻射线(Ray of Frost)
|塑能系 [寒冷]|
|''等级:''术士/法师 0|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''射线|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''可|
|一条由寒气和冰屑组成的射线从你的指尖射出。你必须进行一次成功远程接触攻击以对一个目标造成伤害。此射线将造成1d3点寒冷伤害。|
''射线(Rays,超自然能力或类法术能力):''这类特殊攻击类似于远程接触攻击。射线攻击命中需要进行一次成功的远程接触攻击投骰,该攻击无视对手的盔甲、天生防御以及盾牌,并使用生物的远程攻击加值。射线攻击不存在射程增量。生物的描述会给定最大射程、影响、以及所需要的豁免。射线攻击永远不会受到射程惩罚。即便射线击中目标,通常也允许目标做一次豁免检定(强韧或意志)。射线攻击不允许反射豁免,但是如果一个人物的敏捷加值对AC的奖励很高,在一开始想用射线击中他就会很难。
!!!阅读魔法(Read Magic)
|预言系|
|''等级:''吟游诗人 0,牧师 0,德鲁伊0,圣武士 1,巡林客1,术士/法师 0|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''距离:''个人|
|''目标:''你|
|''持续时间:'' 10分钟/等级|
|如同字面所示,你可以解读物品——书,卷轴,武器等等——上的用其它方式无法解读的魔法文字。这样的解读通常不会释放这些文字中包含的魔法,虽然解读一张被诅咒的卷轴等情形可能会产生此结果。此外,一旦曾经施放这个法术并解读了某段魔法文字,之后就可理解同一段文字而不必再次求助于阅读魔法。你可以以每分钟1页(250个词)的速度来阅读。成功的通过一次DC 13的辨识法术检定后,本法术可以使你能够鉴别守卫刻文(glyph of warding)魔法;成功的通过一次DC 16的辨识法术检定后,你能够鉴别高等守卫刻文(greater glyph of warding)魔法;成功的通过一次辨识法术检定(DC 10+法术等级)后,你能够鉴别各种徽记(symbol)法术。|
|阅读魔法可以被魔法恒定术(permanency)所恒定。|
|//器材://一块透明的水晶或矿物棱柱。|
!!!动物缩小术(Reduce Animal)
|变化系|
|''等级:''德鲁伊2,巡林客3|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''一个自愿的动物,体型为小型,中型,大型或超大型|
|''效果:''1小时/等级(可解消)|
|''豁免:''无|
|''法术抗力:''可|
|本法术的效果类似人类缩小术(reduce person),除了它只作用于一个单独的自愿的动物。此动物的天然攻击所造成的伤害也会随之降低以合乎它的新体型。|
!!!群体人类缩小术(Reduce Person, Mass)
|变化系|
|''等级:''术士/法师 4|
|''目标:''每等级一个人形生物,任何两者之间距离不得超过30英尺|
|本法术效果类似人类缩小术(reduce person),只是它可以作用于多个生物。|
!!!人类缩小术(Reduce Person)
|变化系|
|''等级:''术士/法师 1|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1轮|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''1个类人生物|
|''效果:''1分钟/等级(可解消)|
|''豁免:''强韧无效|
|''法术抗力:''可|
|本法术会立即缩小一个类人生物,使之高度、长度和宽度降低到原本的一半,并使其重量降低到原本的1/8。这种缩小效果使此生物的体型降低一个等级。体型缩小后,目标生物的敏捷属性得到+2体型加值,力量属性得到-2体型减值(最低1),并由于他的体型在攻击和AC得到+1加值。|
|一个体型缩小为超小型的小体型类人生物占据2-1/2英尺长宽的空间,天然触及距离为0英尺(这意味着它必须进入一个攻击目标的格子才能攻击它)。一个体型缩小为中型的大体型类人生物占据5英尺长宽的空间,天然触及距离为5英尺。本法术不会改变目标生物的移动速度。|
|所有目标生物穿着和携带的装备都会同样的被本法术缩小。|
|近战和弹射武器造成较少的伤害。其它魔法效果不会被本法术影响。任何缩小的装备离开缩小的生物的掌握(包括弹射和投掷武器)立刻会回到它的正常大小。这意味着投掷武器将造成正常的伤害(弹射物造成的伤害取决于发射它们的武器的大小)。|
|多个缩小体型的魔法效果不会叠加。|
|人类缩小术反制并解除人类变巨术(enlarge person)。|
|人类缩小术可以被魔法恒定术(permanency)所恒定。|
|//材料成分:// 一撮铁粉。|
''镜映:''这种盾牌表面完全反光,看上去就像镜子。被启动后可以像法术反转(spell turning)一样把法术精确的反射到施法者身上,每天一次。

强烈防护系灵光;CL14;制造魔法武器和防具,法术反转(spell turning);价格+5加值。
!!!脱身术(Refuge)
|咒法系(传送)|
|''等级:''牧师 7, 术士/法师 9|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触的物品|
|''持续时间:''永久直到耗散|
|''豁免:''无|
|''法术抗力:''不可|
|你在某个特别准备的物品上赋予强大的魔力。这个物品将拥有将它的持有者立刻传送到你住所的能力,传送不限距离,但需要处于同一位面。此物品准备完毕后,你必须自愿的将它给予一个生物,同时告诉它使用此物品时所需要的指令字。要使用此物品,该生物需要说出指令字并同时破坏此物品(一个标准动作)。这样做了之后,该生物和所有它穿着和携带的物品(不超过该生物的最大负重)会立刻被传送到你的住所。其它生物都不会被传送(除了与此物品保持接触的魔宠之外)。|
|施放此法术时你可以改变它,使得当此物品被破坏并说出指令字时将你传送至此物品的持有者10英尺之内。你将会对脱身术生效时持有者所处的地点和环境有大致的认知,但是一旦你决定了如此改变此法术的效果,你无法决定自己是否会被传送。|
|//材料成分://一件特别准备的物品,需要价值1,500金币的宝石制作。|
!!!再生术(Regenerate)
|咒法系(医疗)|
|''等级:''牧师 7,德鲁伊9,医疗 7|
|''法术成分:''言语,姿势,法器|
|''施法时间:''3整轮|
|''距离:''接触|
|''目标:''接触的活物|
|''持续时间:''立即|
|''豁免:''强韧通过则无效(无害)|
|''法术抗力:''可(无害)|
|目标失去的身体部位(手指、脚趾、手、足、手臂、腿、尾甚至多头生物的头),断骨和损伤的内脏会重新长好。本法术施放后,如果失去的身体部位被接合在目标生物身上,再生只需要1轮就可完成,否则需要花费2d10轮重新长出新的部分。|
|再生术同时能治疗4d8+每施法等级1点(最高+35点)伤害,使目标摆脱疲乏和/或力竭状态,并清除目标受到的所有非致命伤害。本法术对无生命的生物(包括不死生物)无效。|
''Regeneration(再生):''这是一只白金戒指,穿戴者每小时可回复等同于人物等级的生命值(“医疗”技能无法协助此能力),每五分钟可回复等同于人物等级的淤伤伤害。如果穿戴者失去四肢、器官或其他肢体,此戒指可使其再生,效果如同“再生术”。不论回复生命值或再生,只有穿戴戒指时受到的伤害,才能回复或再生。

施法者等级:15。先决条件:“锻造戒指”,“再生术”。交易价格:90000金币。
''再生(Regeneration,特异能力):''具有这种能力的生物难以被杀死。对该生物造成的伤害被视为非致命伤害。该生物的非致命伤害会以每轮一定的速度自动得到恢复,具体数量在说明中给出。特定的攻击方式,通常是火焰或强酸,能对该生物造成正常伤害,这些正常伤害不会转变成非致命伤害,因此不会消失,详见生物的描述。因为非致命伤害而失去意识的再生生物可以被致命一击杀死。但这次攻击不能属于会自动转化成非致命伤害的类型。

再生对于不造成生命值伤害的攻击类型无效。它也不能恢复由饥饿、口渴或窒息造成的生命值减少。再生生物可以重新长出失去的部分肢体,或将撕裂的肢体重新接合;详见生物的说明。被截断的肢体若未接合到躯体上则会正常坏死。

生物必须有体质值才能有再生能力。
!!!转生术(Reincarnate)
|变化系|
|''等级:''德鲁伊 4|
|''法术成分:''言语,姿势,材料,法器|
|''施法时间:''10分钟|
|''距离:''接触|
|''目标:''接触的死亡生物|
|''持续时间:''立即|
|''豁免:''无;见正文|
|''法术抗力:''可(无害)|
|依靠本法术,你在另外一具躯体中复活一个已死的生物,前提是施放法术时此生物死亡不超过一周,并且此生物的灵魂是自由的且愿意复活。如果此生物的灵魂不愿复活,本法术不能生效;因此,一个愿意复活的生物不需要进行豁免。|
|由于该死亡生物在一个新的躯体中复活,它所有肉体上的病痛都会痊愈。该生物的遗体状况并不重要。只要该生物身体的一小部分仍然存在,它就能被转生,但是这部分必须是该生物死亡时身体的一部分。本法术会用附近自然中的物质为该生物的灵魂创造触一个全新的青年躯体。这个过程需要1个小时来完成。当这个躯体完成之后,该生物就会在这躯体中转生复活。|
|一个转生的生物拥有它之前生命中的记忆。它保留着之前所有的任何职业技能、专长和技能等级。它的职业,基本攻击加值、基本豁免加值、和生命值都没有变化。力量、敏捷和体质属性部分的由新的身体决定。首先去掉该生物的种族调整值(因为它不再是它之前的种族)之后在剩下的属性值上加上从下文中找到的种族调整值。该生物的等级(或生命骰)降低1。如果该生物是1级,它的新的体质属性降低2点。(如果这会使之体质属性降到0或者更低,该生物不能转生)。这样的等级或体质的损失不会因任何方式恢复。|
|可能这样的改变会使该生物的属性值很难适应它之前的职业。如果在这种情况下,它应该仔细考虑成为一个兼职角色。|
|对于一个人型生物来说,新的躯体由以下的表格决定。对于非人型生物,应该制作一个类似的同类生物的表格。|
|一个被转化为不死生物或被死亡效果杀死的生物不能被这个法术复活。构装生物,元素生物,异界生物,和不死生物无法转生。这个法术无法复活因年老而死亡的生物。|


|!	d%	 |!	肉身	 |!	力量	 |!	敏捷	 |!	体质	 |
|^	01	 |^	熊地精(Bugbear)	 |^	+4	 |^	+2	 |^	+2	 |
|^	02–13	 |^	矮人(Dwarf)	 |^	+0	 |^	+0	 |^	+2	 |
|^	14–25	 |^	精灵(Elf)	 |^	+0	 |^	+2	 |^	–2	 |
|^	26	 |^	豺狼人(Gnoll)	 |^	+4	 |^	+0	 |^	+2	 |
|^	27–38	 |^	侏儒(Gnome)	 |^	–2	 |^	+0	 |^	+2	 |
|^	39–42	 |^	地精(Goblin)	 |^	–2	 |^	+2	 |^	+0	 |
|^	43–52	 |^	半精灵(Half-elf)	 |^	+0	 |^	+0	 |^	+0	 |
|^	53–62	 |^	半兽人(Half-orc)	 |^	+2	 |^	+0	 |^	+0	 |
|^	63–74	 |^	半身人(Halfling)	 |^	–2	 |^	+2	 |^	+0	 |
|^	75–89	 |^	人类(Human)	 |^	+0	 |^	+0	 |^	+0	 |
|^	90–93	 |^	狗头人(Kobold)	 |^	–4	 |^	+2	 |^	–2	 |
|^	94	 |^	蜥蜴人(Lizardfolk)	 |^	+2	 |^	+0	 |^	+2	 |
|^	95–98	 |^	兽人(Orc)	 |^	+4	 |^	+0	 |^	+0	 |
|^	99	 |^	战蜥人(Troglodyte)	 |^	+0	 |^	–2	 |^	+4	 |
|^	100	 |^	其它	 |^	?	 |^	?	 |^	?	 |


|该转生的生物得到所有与其新形体相关的能力,包括移动方式和速度、天然装甲、天然攻击、特异能力等等。但是它不会自动获得使用新形体的语言的能力。|
|一个祈愿术(wish)或神迹术(miracle)能将一个转生的生物变回其最初的种族。|
|//材料成分://稀有的油和油膏,总价值1,000金币,将其涂在遗体的表面。|
!!Remorhaz(百足魔兽)

''超大型魔法兽''

|''生命骰:'' 7d10+35(73hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格),掘穴20尺|
|''防御等级:'' 20(-2体型,+1敏捷,+11天生),接触9,措手不及19|
|''基本攻击/擒抱:'' +7/+23|
|''攻击:'' 啮咬+13近战(2d8+12)|
|''全回合攻击:'' 啮咬+13近战(2d8+12)|
|''面宽/触及:'' 15尺/10尺|
|''特殊攻击:'' 精通攫抓,囫囵活吞|
|''特性:'' 黑暗视觉60尺,高温,昏暗视觉,颤动感知60尺|
|''豁免:'' 强韧+10,反射+6,意志+3|
|''属性:'' 力量26,敏捷13,体质21,智力5,感知12,魅力10|
|''技能:'' 聆听+8,侦察+8|
|''专长:'' 无畏一击,精通冲撞,猛力攻击|
|''环境:'' 寒冷的沙漠|
|''组织:'' 单独|
|''挑战等级:'' 7|
|''宝物:'' 无|
|''阵营:'' 通常是中立|
|''进化:'' 8-14HD(超大型);15-21HD(巨型)|
|''等级调整:'' -|


百足魔兽呈蓝白色,但它们身体产生的热量会脉动出红色的光芒。百足魔兽略长于20尺,体宽约5尺。它重约10000磅。

百足魔兽不会说话。

!!!战斗
百足魔兽躲藏在冰雪之下,当它们听到上方有动静时,就会从下方攻击并突袭猎物。

''精通攫抓 (Ex):''使用此能力之前,百足魔兽必须通过其啮咬攻击击中一个体型至少比它小一级的对手。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。如果它成功将对手定身,那么就可以在下一轮尝试囫囵活吞对手。

''囫囵活吞 (Ex):''百足魔兽的轮次开始时如果有一个被擒抱的对手处于其口部的话,它就可以通过一次成功的擒抱检定来吞下对手。一旦被吞下,对手因百足魔兽的胃而受到每轮2d8+12点钝击伤害外加8d6点酸伤害。被吞下的生物可以通过使用轻型挥砍或穿刺武器对胃 (AC 15)造成25点伤害而逃脱。一旦生物脱出之后,胃的肌肉活动会将伤口合起来;因此其他被囫囵活吞的生物必须再以上述方法逃脱。百足魔兽的胃部可以容纳2个大型、4个中型、8个小型、32个超小型、128个微型、或512个超微型或更小的生物。

''高温 (Ex):''百足魔兽发怒时身体会发出高温,任何触摸到其身体的东西都会受到8d6点火焰伤害。使用天生武器或徒手攻击百足魔兽的生物会受到此伤害,但使用近战武器攻击百足魔兽的生物不会因此而受伤。这高温能够熔化或烧焦武器;任何击中百足魔兽的武器都需要通过一个DC 18的强韧豁免检定以避免被摧毁。该豁免检定DC基于体质调整值。

''技能:''百足魔兽在进行聆听检定时可获得+4的种族加值。 
!!!移除目盲/耳聋(Remove Blindness/Deafness)
|咒法系(医疗)|
|''等级:''牧师 3,圣武士 3|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触的生物|
|''持续时间:''立即|
|''豁免:''强韧通过则无效(无害)|
|''法术抗力:''可(无害)|
|移除目盲/耳聋能够治愈目盲或者耳聋(依照你的选择),不论这目盲和耳聋的效果是魔法还是自然造成的。本法术不会恢复耳朵或眼睛失去的部分,但是能修复受损伤的部分。|
|移除目盲/耳聋反制并解除目盲/耳聋术(blindness/deafness)。|
!!!移除诅咒(Remove Curse)
|防护系|
|''等级:''吟游诗人 3,牧师 3,圣武士 3,术士/法师 4|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触的生物或物品|
|''持续时间:''立即|
|''豁免:''意志通过则无效(无害)|
|''法术抗力:''可(无害)|
|移除诅咒即刻移除一个物品或生物上的所有诅咒。移除诅咒不会消除来自于一面受诅咒的盾牌、武器、或一件铠甲的诅咒,但是本法术可以使受到这些诅咒物品折磨的生物可以卸下并摆脱它。某些特殊的诅咒不能被本法术消除,或者只能被某一等级以上的施法者抵消。|
|移除诅咒反制并解除降咒(bestow curse)。|
!!!移除疾病(Remove Disease)
|咒法系(医疗)|
|''等级:''牧师 3,德鲁伊 3,巡林客 3|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触的生物|
|''持续时间:''立即|
|''豁免:''强韧通过则无效(无害)|
|''法术抗力:''可(无害)|
|移除疾病治愈目标所患的所有疾病。本法术也能杀死寄生虫,包括绿色黏怪(green slime)等。某些特殊的疾病不能被本法术消除,或者只能被某一等级以上的施法者抵消。|
|//注意://由于本法术的持续时间为立即,它不能预防目标将来受到同样的疾病感染。|
!!!移除恐惧(Remove Fear)
|防护系|
|''等级:''吟游诗人 1, 牧师 1|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个生物加上每四级一个额外生物,任意两者之间不能超过30英尺|
|''持续时间:'' 10分钟;见正文|
|''豁免:''意志通过则无效(无害)|
|''法术抗力:''可(无害)|
|你将勇气注入目标的心中,使之10分钟内对抗恐惧效果时得到+4士气加值。如果受到本法术时目标已在恐惧效果影响下,在本法术的持续时间内那效果都会被压制。|
|移除恐惧反制并解除惊恐术(cause fear)。|
!!!移除麻痹(Remove Paralysis)
|咒法系(医疗)|
|''等级:''牧师 2,圣武士 2|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''至多四个生物,任意两者之间不能超过30英尺|
|''持续时间:''立即|
|''豁免:''意志通过则无效(无害)|
|''法术抗力:''可(无害)|
|你可以消除一个或多个生物受到的任何暂时性麻痹或相关魔法效果,包括食尸鬼之触或缓慢术(slow)。如果本法术被施展在一个生物身上,麻痹效果会被消除。如果被施展在两个生物身上,它们都能做一次额外的豁免检定以对抗受到的麻痹效果,并在此次检定中得到+4抗性加值。如果施展在三或四个生物身上,它们都能做一次额外的豁免检定以对抗受到的麻痹效果,并在此次检定中得到+2抗性加值。|
|本法术不会回复受属性减值、属性伤害、或属性吸取损失的属性值。|
!!!驱离金石(Repel Metal Or Stone)
|防护系 [土]|
|''等级:''德鲁伊 8|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''60英尺|
|''区域:''自你而起60英尺线形|
|''持续时间:'' 1轮/等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|和驱离木材(repel wood)相似,本法术制造出由你而起向前滚动的无形能量波。在法术路径上的所有的金属或石质物品都会被推离你直到法术距离的极限。被固定的直径大于3英寸的金属或石质物品和重量超过500磅的未固定物品不会受到影响。其他物体,包括活化物体、较小的大石块、穿着金属铠甲的生物也会被推离。被固定的直径3英寸或更小的物体会弯曲或破裂,碎片随着能量波移动。受本法术影响的物品以每轮40英尺的速度被驱离。|
|金属铠甲、剑等物品会被推离,同时会拖拽着它们的持有者。即使是包含金属部件的魔法物品也会被驱离,不过反魔场(antimagic field)能阻挡该效果。|
|这些能量波在法术持续时间内在设定的路径上卷动。在你施展本法术后,该路径就被设定,你可以离开或做其它事而不会干扰到本法术的力量。|
!!!驱离害虫(Repel Vermin)
|防护系|
|''等级:''吟游诗人 4,牧师 4,德鲁伊 4,巡林客 3|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''10英尺|
|''区域:''以你为中心的10英尺半径弥漫范围|
|''持续时间:'' 10分钟/等级(可解消)|
|''豁免:''无或意志通过则无效;见正文|
|''法术抗力:''可|
|一个隐形屏障使虫类生物无法靠近。生命骰少于你的等级的1/3的虫类生物无法穿越该屏障。|
|生命骰为你的等级的1/3或更多的虫类生物如果成功的通过一次意志检定则可穿越屏障。即使这样,穿越屏障也会给此虫类生物造成2d6伤害,并且穿过该屏障会造成令大多数虫类生物止步不前的痛苦。|
!!!驱离木材(Repel Wood)
|变化系|
|''等级:''德鲁伊 6, 植物 6|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''60英尺|
|''区域:''自你而起60英尺线形弥漫区域|
|''持续时间:''1分钟/等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|能量波由你开始沿着你所指定的方向向外卷动,使法术路径上所有的木质物品被推离你直到法术距离的极限。被固定住的直径大于3英寸的物品不受影响,但是未固定的物品会。固定住的直径3英寸或更小的物品会折断破裂,碎片随着能量波移动。受本法术影响的物品以每轮40英尺的速度被驱离。|
|木质盾牌、矛、木质的武器柄和箭与矢等物品会被推离,同时拖拽着它们的持有者。(被手持着的物品拖拽着的生物可以放开它。被盾牌拖拽着的生物可以以一个移动动作解下它并以一个即时动作丢弃它。)如果一把长矛被插在地上以防止它移动,它会折断。即使包含木质部件的魔法物品也会被驱离,不过反魔场(antimagic field)能阻挡该效果。|
|这些能量波在法术持续时间内在设定的路径上卷动。在你施展本法术后,该路径就被设定,你可以离开或做其它事而不会干扰到本法术的力量。|
''爬虫(Reptilian)亚种:''这类生物具有鳞壳并通常是冷血动物。爬虫亚种仅仅用来描述一些类人生物种族,而不是那些真正的爬行动物或怪物。

!!!排斥术(Repulsion)
|防护系|
|''等级:''牧师 7,保护 7,术士/法师 6|
|''法术成分:''言语,姿势,器材/法器|
|''施法时间:''1个标准动作|
|''距离:''至多10英尺/等级|
|''区域:''以你为中心的至多半径10英尺/等级弥漫区域|
|''持续时间:'' 1轮/等级(可解消)|
|''豁免:''意志通过则无效|
|''法术抗力:''可|
|一个隐形的移动魔法场包围着你并阻挡其它生物接近你。你在施法时决定魔法场的大小(受到你的施法等级限制)。任何魔法场内或试图进入的生物都必须进行一次豁免检定。如果失败,在法术持续时间内它不能朝你移动。试图离开的生物的行动不会受到影响。|
|它们可以与其他生物战斗、对你施展法术或使用远程武器攻击你。如果你向一个受影响的生物靠近,不会发生任何事。(该生物不会被强迫退后。)如果你进入生物的触及范围,那么它可以自由使用近战武器攻击你。如果一个被驱离的生物远离你之后重新试图接近你,如果它仍在法术区域内它仍然无法接近你。|
|//奥术器材://一对小铁棍,上面有两个犬科动物的小雕像,一黑一白,总价值50金币。|
!!!弹力法球(Resilient Sphere)
|塑能系 [力场]|
|''等级:''术士/法师 4|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''直径1英尺/等级的球形,以一个生物为中心|
|''持续时间:''1分钟/等级(可解消)|
|''豁免:''反射通过则无效|
|''法术抗力:''可|
|一个微微发亮的球形力场围绕着一个生物,前提是此力场的直径能够容纳该生物。在法术持续时间内此力场始终包围着它的目标。除了抹消权杖(rod of cancellation)、否定权杖(rod of negation)、解离术(disintegrate)或者目标型解除魔法(dispel magic)之外此力场球不会受到任何类型的伤害。以上效果会摧毁此力场球并且不会伤害到其中的生物。无论向内还是向外,没有任何东西能够穿越该力场球,进出都不可以,但其中的生物可以正常呼吸。|
|该生物可以行动,但是此力场球不会被它之外或之内的生物以物理方式移动。|
|//材料成分: //一块半球形的纯净水晶和一块形状相配的半球形树胶。|
!!!抵抗能量伤害(Resist Energy)
|防护系|
|''等级:''牧师 2,德鲁伊 2,火 3,圣武士 2,巡林客 1,术士/法师 2|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触的生物|
|''持续时间:'' 10分钟/等级|
|''豁免:''强韧通过则无效(无害)|
|''法术抗力:''可(无害)|
|''对以下五种能量类别之一的伤害,此防护法术给予一个生物一定的有限保护,能量类别由你选择:''强酸、寒冷、电击、火焰或音波。该目标生物得到对于选定能量形式的10点能量抗性,意味着每次它受到该类能量伤害(无论是来源于自然还是魔法)时,该生物的生命值受到的伤害降低10点。此能量抗性在第7级时增加为20点,第11级时达到最高,为30点。此法术也会保护目标生物的装备。|
|抵抗能量伤害只吸收能量伤害。目标仍然会受到其他负面效果的影响。|
|注意:防护能量伤害覆盖(而非叠加)了抵抗能量伤害(resist energy)。如果一个人被防护能量伤害和抵抗能量伤害所同时防护,那么防护能量伤害会吸收伤害,直到它的能力消失。|
拥有能量抗力(通常为特异能力)的生物在每一轮内都可以忽视对应类型的一定伤害(通常为强酸、寒冷、火焰或电击),但不是完全免疫。

每种能量抗力能力都描述了抵抗何种元素以及抵抗值的多少。伤害是来自普通能量还是魔法制造的能量没有差别。

当抗力完全的抵抗掉一次能量攻击,则这次攻击不会干扰施法。这项抗力不与由魔法产生的抗力累计。
!!!提升抗力(Resistance)
|防护系|
|''等级:''吟游诗人 0,牧师 0,德鲁伊0,圣武士 1,术士/法师 0|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触的生物|
|''持续时间:'' 1分钟|
|''豁免:''意志通过则无效(无害)|
|''法术抗力:''可(无害)|
|你将魔法能量注入目标来保护它避免伤害,它豁免得到+1抗性加值。|
|提升抗力可以被魔法恒定术(permanency)所恒定。|
|//奥术材料成分://一件模型斗篷。|
!!!高等复原术(Restoration, Greater)
|咒法系(医疗)|
|''等级:''牧师 7|
|''法术成分:''言语,姿势,经验值|
|''施法时间:''10分钟|
|本法术效果类似次等复原术(lesser restoration),只是它能消除被医治生物的所有负向等级。它还能回复目标生物被吸取的经验等级,使之回复到之前达到过的最高等级。只有该生物失去此等级的时间不超过每施法等级一周,此被吸取的经验等级才能回复。|
|高等复原术也能解除所有能对生物造成的属性减值的魔法效果,治疗目标受到的所有暂时属性伤害,并回复所有被吸取的属性值。它同时还能消除目标受到的任何疲乏或力竭效果,并且它还能移除所有形式的疯狂、困惑(confusion)、以及类似的精神效果。高等复原术不会回复因死亡造成的等级或体质属性的损失。|
|//消耗经验值://500点经验值。|
!!!次等复原术(Restoration, Lesser)
|咒法系(医疗)|
|''等级:''牧师 2,德鲁伊2,圣武士 1|
|''法术成分:''言语,姿势|
|''施法时间:''3轮|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:''立即|
|''豁免:''意志通过则无效(无害)|
|''法术抗力:''可(无害)|
|次等复原术能解除所有对目标属性值的造成减值的魔法效果,或治疗1d4点目标的一项属性所受到的暂时属性伤害。它也能清除角色的疲乏效果,或使之由力竭状态恢复到疲乏状态。它不能回复永久属性吸取。|
!!!复原术(Restoration)
|咒法系(医疗)|
|''等级:''牧师 4,圣武士 4|
|''法术成分:''言语,姿势,材料|
|本法术效果类似次等复原术(lesser restoration),只是它还能消除负向等级,并回复目标生物被吸取的一个经验等级。只有该生物失去此等级的时间不超过每施法者等级一天,此被吸取的经验等级才能回复。一个被复原术回复等级的角色的经验值为达到其之前经验等级所需要的最低经验值。|
|复原术能治疗目标受到的所有暂时属性伤害,并完全回复某个单独的属性上被永久吸取的属性值(如果多于一个属性被吸取,你可以从中选择一个属性回复)。它同时还能消除目标受到的任何疲乏或力竭效果。|
|复原术不会回复因死亡造成的等级或体质属性的损失。|
|//材料成分://撒在目标身上的价值100金币的钻石粉。|
''Restorative Ointment(卡夫统灵药)'': 一小罐软膏,直径三英寸、高一英寸,可以使用5次。吞服或涂在中毒处,可以解除毒性(如同“中和毒性”),涂在患病部位可以治病(如同“移除疾病”)。涂在伤口上,可以治愈1d8+5点伤害(如同“治疗轻伤”)。

Faint conjuration; CL 5th;Craft Wondrous Item, cure light wounds, neutralize poison, remove disease; Price 4,000 gp;Weight 1/2 lb.
!!!复生术(Resurrection)
|咒法系(医疗)|
|''等级:''牧师 7|
|''施法时间:''10分钟|
|本法术的效果类似死者复活(raise dead),只是你能够恢复任何已死生物的生命并完全回复它的力量。|
|该生物的遗体状况并不重要。只要该生物的身体的一小部分依然存在,它就能被复活,但是这部分必须是该生物死亡时身体的一部分。(被解离术(disintegrate)分解的生物的残渣算做是身体的一部分。)本法术只能复活不超过每施法等级10年之内死亡的生物。|
|本法术施放完成后,该生物立刻恢复它的全部生命值与健康活力,不会失去任何已准备的法术。但是,目标生物会损失一个经验等级,如果该生物为1级角色则损失2点体质属性。(如果这会使之体质属性降低到0或更低,该生物不能复活。)这样的等级或体质损失不会因任何方式恢复。|
|你可以复生被死亡效果杀死的生物或被变为不死生物并被摧毁的生物。你无法复活因年老而死的生物。构装生物、元素生物、异界生物以及不死生物无法被复生。|
|//材料成分://一捧圣水和价值至少10,000金币的钻石。|
''Returning(回力):''
只有能被投掷的武器才能具有此能力。回力武器被投出后,会在使用者下一次行动开始前回到他手中(因此使用者可以在这一轮再次使用回力武器)。

抓住飞回的武器是一个即时动作。如果使用者移动了或没有抓住,武器掉落在他被扔出的地方。

中等变化系灵光;CL7;制造魔法武器和防具,心灵遥控(telekinesis);价格+1加值。

!!!反重力(Reverse Gravity)
|变化系|
|''等级:''德鲁伊8,术士/法师 7|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''区域:''至多每两个等级一个边长10英尺的立方体(可变)|
|''持续时间:'' 1轮/等级(可解消)|
|''豁免:''无;见正文|
|''法术抗力:''不可|
|本法术使一个区域内的重力颠倒,使区域内所有未固定的物体和生物向上坠落并在1轮内到达此区域的顶部。如果在坠落过程中遇到任何固体(比如天花板),坠落的物体和生物会受到同样情况下正常坠落时所会受到的撞击。如果一个物体或生物到达了该区域的顶部并且没有撞击到任何固体,它将停留在那里并有些微的振荡直到法术结束。法术持续时间结束后,受影响的物体和生物会坠落下来。|
|如果有什么东西能够抓住,受法术影响时一个生物可以通过一次成功的反射豁免来保护自己。能够飞行或漂浮的生物可以避免自己坠落。|
|//奥术法术材料://一块磁石和铁屑。|
''犀牛革甲:''这件+2革甲由犀牛皮制成。除了AC有+2增强加值,防具检定减值-1外,穿戴者进行冲刺和骑乘冲刺攻击时会造成额外的2d6伤害。

中等变化系灵光;CL9;制造魔法武器和防具,公牛之力(bull’s strength);价格5165金币;制造花费2665金币+200经验值。
!!Rhinoceros(犀牛 )

''大型动物''

|''生命骰:'' 8d8+40 (76 hp)|
|''先攻权:'' +0|
|''速度:'' 30尺 (6格)|
|''防御等级:'' 16 (-1体型,+7天生),接触9,措手不及16|
|''基本攻击/擒抱:'' +6/ +18|
|''攻击:'' 抵撞 +13 近战 (2d6+12)|
|''全回合攻击:'' 抵撞 +13 近战 (2d6+12)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' 强力冲锋|
|''特性:'' 昏暗视觉|
|''豁免:'' 强韧+11,反射+6,意志+3|
|''属性:'' 力量26,敏捷10,体质21,智力2,感知13,魅力2|
|''技能:'' 聆听+14,侦察+3|
|''专长:'' 警觉,坚忍,强化天生攻击 (抵撞)|
|''环境:'' 温暖的平原|
|''组织:'' 单独或成群 (2-12)|
|''挑战等级:'' 4|
|''进化:'' 9-12HD (大型);13-24HD (超大型)|
|''等级调整:'' -|

犀牛因其坏脾气和不顾一切地冲锋入侵者而臭名昭著。

这里列出的数据以非洲黑犀牛为基准,它们有6到14尺长,肩高3到6尺,重可达6000磅。这些数据可以用在任何拥有类似体型及类似天生武器 (鹿角、牛角、獠牙或其他类似的)的食草动物上。

!!!战斗
当厌烦或恼火时,犀牛会低着头展开冲锋。

''强力冲锋 (Ex):''当犀牛冲锋时它可造成4d6+24点伤害。
!!! 快速骑乘攻击(RIDE-BY ATTACK)[一般专长]

''先决条件:''骑术级数1、骑乘战斗。

''效果:''骑乘冲刺时,你可以在正常移动与攻击之后再次移动(沿着冲刺的直线路径),但该轮的总移动距离不可超过骑乘速度的两倍。你和坐骑不会引发攻击目标的借机攻击。

''特殊:''战士可以选择本专长作为其战士奖励专长。

!! Ride(骑术)(敏捷)

如果你试图骑上一匹并没有按坐骑装备的生物,在骑术检定上要受到-5减值。

''检定:''一般的骑乘动作不需要检定。你可以毫无问题地上鞍,上坐骑,骑,下坐骑。

以下动作需要检定。


|!	任务 	|!	骑术DC	|!	任务 	|!	骑术DC	|
|^	用膝控制 	|^	5	|^	跳跃 	|^	15	|
|^	待在鞍上 	|^	5	|^	驱策坐骑 	|^	15	|
|^	和战马共同作战 	|^	10	|^	战斗中控制坐骑	|^	20	|
|^	掩蔽 	|^	15	|^	快速上下坐骑	|^	20^^1^^	|
|^	软着陆	|^	15	|^		|^		|
|^	1 //应用防具检定减值。//	|<|<|<|


 

//用膝控制://你可以通过膝来控制你坐骑以便在战斗中可以使用双手。在你回合开始时作骑术检定。如果检定失败,在该轮内你只能用一只手,因为你需要另外一只手来控制坐骑。

//待在鞍上://在你坐骑突然受惊时,或者你遭到伤害时,你可以立即反应过来避免从坐骑上坠落。这种用法不需要采取动作。

和战马共同战斗:如果你指引你经过战争训练的坐骑在战斗中攻击,你依然可以正常地做你自己的攻击。这种用法是一个自由动作。

//掩蔽://你可以滑下横靠着悬吊在坐骑旁,用坐骑来掩蔽自己。在使用坐骑掩蔽时不能攻击或施法。如果骑术检定失败,你将不能获得掩蔽效果。这种用法不需要动作。

//软着陆://当你从坐骑上摔下来的时候(例如它被杀或者它倒下等),你可以立即做出反应尝试不受伤害。如果骑术检定失败,你将受到1d6的坠落伤害。这种用法不需要动作。

//跳跃://你可以让你的坐骑跳跃过障碍物,这是它移动的一部分。使用你的骑术修正或者坐骑的跳跃修正中较低者来决定这个生物能跳多远。如果你的骑术检定失败,你就会在坐骑跳跃的时候摔下来,并受到跌落伤害(至少1d6)。这种用法不需要动作,但是是坐骑移动的一部分。

//驱策坐骑://你可以用一个移动动作来驱策你的坐骑让它速度更快。一次成功的骑术检定可以在一轮中让坐骑的速度提高10尺,但是会对坐骑造成1点伤害。你可以每轮都这么做,但是在连续的加速回合中,每次这么做都会对坐骑造成上一轮双倍的伤害(2点、4点、8点,依此类推)。

//战斗中控制坐骑://以一个移动动作,你可以尝试控制轻型马、矮种马、重型马,或者其他没有接受过战斗骑乘训练的坐骑。如果在骑术检定中失败,你在该轮内将无法作任何事。你不需要为战马或矮种战马作这项检定。

//快速上下坐骑://只要你在该轮内还有一个移动动作可用,你就可以尝试以一个自由动作来上下坐骑,该坐骑的体型上限是比你大一级。如果你骑术检定失败,上下坐骑是一个移动动作。你不能快速上下一个比你体型大一级以上的坐骑。

''动作:''可变。正常的上下坐骑是一个移动动作。其他检定是移动动作、自由动作、或不是单独动作,见前面的注解。

''特别:''如果你骑的是无鞍坐骑,你在骑术检定上受到-5减值。

如果你的坐骑有军用鞍座,在和待在鞍座上相关的骑术检定上你将获得+2环境加值。

骑术技能是骑射(Mounted Archery)、骑乘战斗(Mounted Combat)、快速骑乘攻击(Ride-By Attack)、奋力冲刺(Spirited Charge)和践踏(Trample)专长的先决条件。

如果你有动物亲和专长(Animal Affinity),在骑术检定上你将得到+2加值。   

''共效:''如果你在驯养动物(Handle Animal)上级数达到5或更高,你在骑术检定上获得+2加值。

!!!正气如虹(Righteous Might)
|变化系|
|''等级:''牧师 5,力量 5|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''个人|
|''目标:''你自己|
|''持续时间:'' 1轮/等级(可解消)|
|这个法术让你身体变大,你的高度翻倍,而你的重量增加到8倍。这变化使你的体型增大一级,并且在力量属性上得到+4体型加值,在体质属性上得到+2体型加值。你的天然护甲等级得到+2增强加值。你得到3/邪恶(如果你通常引导正能量)或3/善良(如果你通常引导负能量)的伤害减免。12级时此伤害减免变为6/邪恶或6/善良,15级时变为9/邪恶或9/善良(最高)。你的防御等级和攻击会随你的体型改变而变。本法术不会改变你的速度。你所占据的空间和触及范围由你的新体型决定。|
|如果空间不足以容纳体型的增长,你将达到可能达到的最大体积,之后进行一次力量检定(使用你增加后的力量值)以决定是否能突破限制。如果你失败,你将被限制住你体型的障碍包围住但不会受到伤害——本法术不会以增大体积的方式来挤压你。|
|所有你穿着和持有的装备都会同样的被本法术增大。近战和弹射武器造成更多的伤害。其他魔法物品的作用不会受到影响。任何增大的装备离开增大的生物的掌握(包括弹射和投掷武器)立刻会回到它的正常大小。这意味着投掷武器将造成正常的伤害(弹射物造成的伤害取决于发射它们的武器的大小)。|
|多个增大体型的魔法效果不会叠加。|
''Ring Gates(空间跳跃环)'': 此物品一定成对出现,皆为直径14英寸的铁环,两者相距须在100英里内才能发挥作用。穿过其中一个环的物品会从另一个环跑出来,每天传送的物品重量不能超过100磅(只有部分穿越的物品不列入计算)。此装置可以瞬间传送物品、书信,甚至跨区攻击。人物可以透过一个环取得另一环附近的物品,武器可以穿过环进行攻击。使用者也可以把头伸过去观察另一边的情况。施法者可以使法术穿过空间。小型人物可以进行“脱逃”检定(DC=13)以穿过环,超小型、微型、超微型生物可以直接穿过环。每个环都有进入侧和离开侧,各有相应符号标示。

Strong conjuration; CL 17th; Craft Wondrous Item, gate; Price 40,000 gp;Weight 1 lb. each.
''Robe of Blending(融和法袍)'': 穿上法袍便可发现其特殊能力,穿戴者和周围环境融为一体,“躲藏”检定有+10环境加值。穿戴者还可把容貌改成其他生物的样子,效果如同“变颜术”。原本熟识或友善的生物能看见穿戴者原来面貌。

Moderate illusion; CL 10th; Craft Wondrous Item, disguise self; Price 30,000 gp;Weight 1 lb.
''Robe of Bones(骸骨法袍)'':这是一种为死灵法师所准备的法袍。该法袍没有明显的外观特征。玩家如果仔细观察会发现上面有不死生物的装饰性刺绣,不过只有穿着该法袍的人才能看见刺绣并且辩识出是哪一种不死生物,并且激活它们。每一轮可以激活一个刺绣。被激活的刺绣会变成一个真正的不死生物(见下表)。骷髅或者僵尸不会受穿法袍者的控制,但是却可能被命令、喝斥、驱散或者毁灭。

全新的骸骨法袍上总是有下表所列不死生物各两个:

*小型地精骷髅
*中型人类骷髅
*中型狼骷髅
*小型地精僵尸
*中型人类僵尸
*中型狼僵尸

中级死灵系(邪恶),CL6,制造奇物,唤起死灵,2400GP,1磅
''Robe of Eyes(百眼法袍)'': 穿上前看起来很普通,穿上后袍面眼形花纹能使穿戴者同时看到四面八方,而且具有黑暗视觉能力(范围120英尺)。法袍可看见120英尺内所有隐形或灵体化物体。

穿戴者的“搜索”和“侦察”检定有+15环境加值。即使陷入措手不及,也保有敏捷值对防御等级的加值,而且不会遭夹击。穿戴者遭受凝视攻击时,无法移开目光或闭上眼睛。

直接朝法袍施展“光亮术”或“不灭明焰”会使穿戴者目盲1d3分钟,“昼明术”会使其目盲2d4分钟。

Moderate divination; CL 11th; Craft Wondrous Item, true seeing; Price 120,000 gp;Weight 1 lb.
''Robe of Scintillating Colors(虹光法袍)'': 穿戴者可以在服装上显像流动色调,各种色彩像走马灯般由上而下流动,像彩虹的眩目光芒。这会使附近的人晕眩,使穿戴者隐蔽,同时照亮周围环境。穿戴者说出指令一轮后,各种色彩才开始流动。

法袍在30英尺内造成的效果如同凝视攻击,看到的人会晕眩1d4+1轮(意志过则无效,DC=16),这属于影响心灵的效果。

持续闪耀的法袍每轮会加强穿戴者的隐蔽,对方失手几率从10%开始(四分之一隐蔽),每一轮增加10%,直到50%(完全隐蔽)。

法袍照亮半径30英尺的范围。

每天的使用总时间不能超过10轮。

Moderate illusion; CL 11th; Craft Wondrous Item, blur, rainbow pattern; Price 27,000 gp;Weight 1 lb.
''Robe of Stars(星光法袍)'': 通常是黑色或黑蓝色的袍子,绣以白色或银色星饰,具有三种功用:

*穿戴者可以带著所有的装备至星界旅行。
*穿戴者所有豁免检定有+1运气加值。
*穿戴者可以将胸前绣的星饰当作+5手里剑,最多六个。穿戴者视为擅长此武器。手里剑使用后就消失。

Strong varied; CL 15th; Craft Wondrous Item, magic missile, astral projection or plane shift; Price 58,000 gp; Weight 1 lb.

''Robe of the Archmagi(大法师法袍)'': 看起来像普通长袍,分为白(百分骰01-45,善良阵营)、灰(百分骰46-75,非善良非邪恶阵营)、黑(百分骰76-100,邪恶阵营)三种颜色。如果奥术释放者穿上,效用如下:

*防御等级有+5盔甲加值
*得到法术抗力18
*所有豁免检定有+4抗力加值
*如同具有“法术穿透”专长,以克服对方的法术抗力

如果邪恶阵营人物穿上白色“大法师法袍”,人物立刻承受三个负向等级,善良阵营人物穿上黑袍亦同。如果善良或邪恶阵营人物穿上灰色“大法师法袍”,或是中立阵营人物穿上白色或黑色“大法师法袍”,立刻承受两个负向等级。负向等级不会造成等级永久下降,但只要穿著袍,任何方式(包括“复原术”)都无法移除此负向等级。

Strong varied; CL 14th; Craft Wondrous Item, antimagic field, mage armor or shield of faith, creator must be of same alignment as robe; Price 75,000 gp;Weight 1 lb.
''Robe of Useful Items(杂货法袍)'': 看似不起眼的袍子,但穿上后会发现袍面有各种形状的补钉。只有穿戴者可以看见补钉,认出它们能变成什么物品,或将其取下。穿戴者每轮可以取下一块补钉,取下后即变成实物(如下述)。新制法袍具有下列补钉,每种两件。

*匕首
*牛眼提灯(装满且点燃)
*镜子(2英尺x4英尺的闪亮钢面镜)
*木杆(长度10英尺)
*麻绳(一捆50英尺)
*麻布袋
此外,还有4d4件其他物品:

|!	d%	 |!	物品	 |
|^	01–08	 |^	装有100GP的袋子	 |
|^	09–15	 |^	银柜(6*6*1ft.),价值500GP	 |
|^	16–22	 |^	铁门(10*10,一面被闩住,一面笔直放好,以铰链系住)	 |
|^	23–30	 |^	10颗宝石(100GP/颗)	 |
|^	31–44	 |^	长梯(24ft.	 |
|^		 |^	long)	 |
|^	45–51	 |^	骡	 |
|^		 |^	(附鞍囊)	 |
|^	52–59	 |^	未掩盖的陷阱(10ft.by 10 ft.by 10ft.)	 |
|^	60–68	 |^	治疗重伤药水	 |
|^	69–75	 |^	划艇(12 ft.long)	 |
|^	76–83	 |^	随机决定的次级卷轴	 |
|^	84–90	 |^	一对战犬(视同骑乘用犬)	 |
|^	91–96	 |^	窗户(2 ft.by 4 ft.,up to 2ft.deep)	 |
|^	97–100	 |^	多投两项物品	 |

同一物品可以存有多件。补钉一旦取下,就不能再补上。

Moderate transmutation; CL 9th; Craft Wondrous Item, fabricate; Price 7,000 gp;Weight 1 lb.
!!Roc(鹏鸟)

''巨型动物''

|''生命骰:'' 18d8+126(207hp)|
|''先攻权:'' +2|
|''速度:'' 20尺(4格),飞行80尺(普通)|
|''防御等级:'' 17(-4体型,+2敏捷,+9天生),接触8,措手不及15|
|''基本攻击/擒抱:'' +13/+37|
|''攻击:'' 爪抓+21近战(2d6+12)|
|''全回合攻击:'' 2爪抓+21近战(2d6+12)及啮咬+19近战(2d8+6)|
|''面宽/触及:'' 20尺/15尺|
|''特殊攻击:'' -|
|''特性:'' 昏暗视觉|
|''豁免:'' 强韧+18,反射+13,意志+9|
|''属性:'' 力量34,敏捷15,体质24,智力2,感知13,魅力11|
|''技能:'' 躲藏-3,聆听+10,侦察+14|
|''专长:'' 警觉,飞越攻击,钢铁意志,多重攻击,猛力攻击,攫取,空中横转|
|''环境:'' 温暖的山脉|
|''组织:'' 单独或成对|
|''挑战等级:'' 9|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 19-32HD(巨型);33-54HD(超巨型)|
|''等级调整:'' -|


鹏鸟的羽毛从头到尾不是深褐色就是金色的。这些庞然大物从喙到尾有30尺长,翼展约80尺宽。鹏鸟重约8000磅。

!!!战斗
鹏鸟从空中攻击,飞向地面用它强有力的爪子攫取猎物后将其带走,成为它自己或其雏鸟的大餐。单只鹏鸟通常会狩猎任何看起来能吃的中型或更大的生物。互为配偶的鹏鸟会一起攻击,并且会为保卫其巢穴或幼雏战斗至死。

''技能:''鹏鸟在进行侦察检定时可获得+4的种族加值。
''阵营:''任意

''生命骰:''d6

 
!!!! 本职技能
游荡者的本职技能(和各技能的关键属性)为:估价(智力),平衡(敏捷),唬骗(魅力),攀爬(力量),手艺(智力),文书解读(智力),交涉(魅力),解除装置(智力),易容(魅力),脱逃术(敏捷),伪造(智力),收集信息(魅力),躲藏(敏捷),威吓(魅力),跳跃(力量),知识(地区)(智力),聆听(感知),潜行(敏捷),开锁(敏捷),表演(魅力),专业(感知),搜索(智力),察言观色(感知),手上功夫(敏捷),侦察(感知),游泳(力量),翻滚(敏捷),使用魔法装置(魅力),绳技(敏捷)。

''1级人物起始技能点:''(8+智力修正)x4

''升级技能点数:''8+智力修正。

 

 

''表:游荡者''

|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!	特殊	|
|^	1	|^	+0	|^	+0	|^	+2	|^	+0	|^	偷袭+1d6,寻找陷阱	|
|^	2	|^	+1	|^	+0	|^	+3	|^	+0	|^	反射闪避	|
|^	3	|^	+2	|^	+1	|^	+3	|^	+1	|^	偷袭+2d6,陷阱感知+1	|
|^	4	|^	+3	|^	+1	|^	+4	|^	+1	|^	直觉闪避	|
|^	5	|^	+3	|^	+1	|^	+4	|^	+1	|^	偷袭+3d6	|
|^	6	|^	+4	|^	+2	|^	+5	|^	+2	|^	陷阱感知+2	|
|^	7	|^	+5	|^	+2	|^	+5	|^	+2	|^	偷袭+4d6	|
|^	8	|^	+6/+1	|^	+2	|^	+6	|^	+2	|^	精通直觉闪避	|
|^	9	|^	+6/+1	|^	+3	|^	+6	|^	+3	|^	偷袭+5d6,陷阱感知+3	|
|^	10	|^	+7/+2	|^	+3	|^	+7	|^	+3	|^	特殊能力	|
|^	11	|^	+8/+3	|^	+3	|^	+7	|^	+3	|^	偷袭+6d6	|
|^	12	|^	+9/+4	|^	+4	|^	+8	|^	+4	|^	陷阱感知+4	|
|^	13	|^	+9/+4	|^	+4	|^	+8	|^	+4	|^	偷袭+7d6,特殊能力	|
|^	14	|^	+10/+5	|^	+4	|^	+9	|^	+4	|^	-	|
|^	15	|^	+11/+6/+1	|^	+5	|^	+9	|^	+5	|^	偷袭+8d6,,陷阱感知+5	|
|^	16	|^	+12/+7/+2	|^	+5	|^	+10	|^	+5	|^	特殊能力 	|
|^	17	|^	+12/+7/+2	|^	+5	|^	+10	|^	+5	|^	偷袭+9d6	|
|^	18	|^	+13/+8/+3	|^	+6	|^	+11	|^	+6	|^	陷阱感知+6	|
|^	19	|^	+14/+9/+4	|^	+6	|^	+11	|^	+6	|^	偷袭+10d6,特殊能力	|
|^	20	|^	+15/+10/+5	|^	+6	|^	+12	|^	+6	|^	-	|

 

!!!! 职业特性
以下是游荡者的职业特性。

''武器和防具擅长:''游荡者擅长使用所有的简单武器,再加上手弩、细剑、闷棍、短弓和短剑。游荡者擅长穿着轻甲,但是不擅长使用盾牌。

''偷袭(Sneak Attack):''如果游荡者能在目标无法有效防卫自己的攻击时抓住时机,他就可以对目标的要害攻击并造成额外的伤害。

只要对方失去了AC上的敏捷加值(无论目标是否有敏捷加值),或者当游荡者夹击他的目标时,他的攻击就可以造成额外伤害。在一级时此额外伤害为1d6,之后每两个游荡者等级可以再增加1d6的伤害。如果游荡者在偷袭中造成重击,额外伤害不能翻倍。

远程攻击也可以造成偷袭,但目标必须在30尺内。

使用闷棍或徒手攻击时,游荡者可以在偷袭时造成非致命伤害而不是一般伤害。他不能在偷袭中用造成一般伤害的武器造成非致命伤害,即使使用通常的-4减值方式也不可以。

游荡者只能偷袭那些有明显身体结构的活物,不死生物、构装体、泥形怪物、植物类生物,以及虚体生物都没有可供偷袭的要害部位。任何免疫重击的生物也不会受到偷袭伤害。游荡者必须能够仔细观察目标找到要害部位,而且必须能接触到该部位。游荡者无法偷袭那些有隐蔽(concealment)的生物,也无法通过攻击那些无法接触要害生物的突出部位来造成偷袭。

''寻找陷阱(Trapfinding):''游荡者(也只有游荡者)可以用搜索技能来寻找那些难度等级在20以上的陷阱。

找到非魔法陷阱的DC至少为20,如果隐藏的比较好还会更高。找到魔法陷阱的DC等于25+制造此陷阱法术的法术等级。

游荡者(也只有游荡者)可以用解除装置技能来拆卸魔法陷阱。拆卸魔法陷阱的DC等于25+制造此陷阱法术的法术等级。

如果解除装置技能检定结果高过陷阱DC10或以上,游荡者可以研究此陷阱,看出它如何运作,还可以不拆卸而通过陷阱(连同队友)。

''反射闪避(Evasion,特异能力):''有些攻击效果若通过反射检定可以减少一半伤害,如果游荡者遭到此类攻击,在通过反射检定后他将不受伤害。游荡者只有在穿轻甲或不穿甲时才可以进行反射闪避。无助状态下的游荡者不能进行反射闪避。

''陷阱感知(Trap Sense,特异能力):''3级起,游荡者在躲避陷阱的反射豁免上有+1加值,对抗陷阱的攻击时AC有+1加值。在游荡者达到6级时这些加值提高到+2,9级时为+3,12级+4,15级+5,18级+6。

从不同职业上获得的陷阱感受可以累加。

''直觉闪避(Uncanny Dodge,特异能力):''4级起,游荡者在措手不及时或被不可见的攻击者攻击时依然保留AC上的敏捷加值。不过如果他不能动,他还是会丢掉AC上的敏捷加值。

如果游荡者已经由其他职业上获得了直觉闪避能力,那么他自动获得精通直觉闪避(见之后的说明)。

''精通直觉闪避(Improved Uncanny Dodge,特异能力):''8级起,游荡者不再受到夹击。

因此其他游荡者无法以夹击方式偷袭此游荡者,除非攻击者的游荡者等级比目标的游荡者等级高至少4级。

如果角色已经因为其他职业获得直觉闪避能力(见前),该角色在得到直觉闪避时自动获得精通直觉闪避,并且将所有获得直觉闪避职业的等级累加起来以决定夹击此角色所需的最低游荡者等级。

''特殊能力(Special Abilities):''10级时,以及之后每三级(13,16,19级),游荡者可以在以下特殊能力中选择一种。

//削弱攻击(Crippling Strike,特异能力)://有此能力的游荡者在偷袭时非常精确,以至于可以削弱并妨害到敌人。敌人每次受到偷袭的同时会受到2点力量伤害。属性恢复的速度为每天一点。

//防御翻滚(Defensive Roll,特异能力)://游荡者可以顺着致命打击进行翻滚来降低伤害。如果战斗中的伤害(武器或其他打击造成,不能是法术或特殊能力造成)可能会将游荡者的生命值伤害到0或0以下,他可以尝试顺着攻击来翻滚,该能力每天只能使用一次。要使用此能力,游荡者必须作一次反射豁免检定(DC等于伤害值)。如果豁免成功,那么他在这一击中只受到一半伤害,如果豁免失败,他会受到全部伤害。他必须觉察到这次攻击并能对其做出反应才能进行防御翻滚,如果他失去了AC上的敏捷加值,他就无法使用此能力。由于攻击并不是可以用反射豁免来降低一半伤害的,因此游荡者的反射闪避能力不能应用在防御翻滚上。

//精通反射闪避(Improved Evasion,特异能力)://有些攻击效果若通过反射检定可以减少一半伤害,如果游荡者遭到此类攻击,在通过反射检定后他将不受伤害,如果检定失败他也只受到一半伤害。

//乘势攻击(Opportunist,特异能力)://每轮一次,游荡者可以对刚刚被他人近战伤害到的敌人作一次借机攻击。该攻击计入游荡着每轮借机攻击中。即使有战斗反射专长,游荡者也不能每轮使用此能力一次以上。

//技能熟稔(Skill Mastery)://游荡者对某几种技能可以熟练的使用,即使在不利情况下也能如此。

获得此能力后,游荡者可以选择数量等于3+智力修正的技能。当使用这些技能做检定时,他可以取10,即便在压力下,或者周围有分心的事情导致正常情况下不能这样做的时候也可以。游荡者可以多次选择此特殊能力,每次选择的技能数一样多。

//心智灵活(Slippery Mind,特异能力)://此能力可以让游荡者从那些控制或强迫他的魔法效果中挣脱出来。如果有此能力的游荡者受到惑控系法术或效果影响并在豁免检定中失败,他可以在一轮后再次尝试检定,DC不变。在豁免检定上他只有这一次额外机会。

''专长(Feat):''游荡者可以直接选择一个额外专长来代替特殊能力。
Rope of Climbing(攀爬绳): 这是60英尺长的绳索,比魔杖细,但足以支撑3000磅重。说出指令后,绳索可往上、下、左、右任意方向钻,每轮10英尺,并自行绑在使用者指定的地方,也可自行松绑并回到原处。

利用指令可使此绳自行打结及解开。打结之后,绳上每隔一英尺就出现一个大结。打结会使长度减少为50英尺,但此时“攀爬”检定的DC下降为10。使用此绳功能时必须有人握住一端。

Faint transmutation; CL 3rd; Craft Wondrous Item, animate rope; Price 3,000 gp;Weight 3 lb.
''Rope of Entanglement(纠缠绳)'': 看起来和麻绳一样,长30英尺。说出指令后,绳索会向前方20英尺或上方10英尺进行纠缠,被纠缠的人通过DC=20的力量检定或者是DC=20的脱逃检定才可以摆脱纠缠状态。

此绳有5/挥砍的伤害减免,绳索的AC为22,生命值12点,硬度10,每五分钟会自行修复1点伤害。如果被切断(12点生命值皆失去),就完全毁损。

Moderate transmutation; CL 12th; Craft Wondrous Item, animate objects, animate rope, entangle; Price 21,000 gp; Weight 5 lb.
!!!魔绳术(Rope Trick)
|变化系|
|''等级:''术士/法师 2|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''一根接触的绳索,长度在5英尺到30英尺之间|
|''持续时间:''1小时/等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|当本法术被施展在一条5至30英尺长的绳索上的时候,绳的一端会向上升起直到整条绳索垂直于地面挂在空中,如同被系在较高的地方一样。事实上,绳子较高的一端系在一个多元宇宙外的异次元空间中。在此异次元空间内的生物会被隐藏起来,不会被外来的法术所影响(包括预言系法术),除非这些法术能够作用不同的位面。此空间能够容纳最多8个生物(任意体型)。空间内的生物可以把绳索拉回到此空间里,使这条绳索“消失”不见。在这种情况下,这条绳索算做是此空间所能容纳的8个生物中的1个。这条绳索能够支持16,000磅的重量。超过此重量的力量可以把这条绳索从此空间中扯下来。|
|法术和区域性效果都不能穿越此空间的边界。在此空间内的生物能够看到外面的景象,如同在绳索的位置有一个3英尺乘5英尺大小的窗口一样。这个窗口出现在主物质位面但是是隐形的,并且即使是能看到它的生物也不能通过它看到它之后的状况。当法术结束的时候,此空间内的所有东西都会掉出来。这条绳索一次只能爬一个人。魔绳术能让攀爬者抵达正常地区,只要攀爬者不要爬完全部路程抵达那个异次元空间即可。|
|注意:在已有的异次元空间中造出一个异次元空间或将一个异次元空间带入已有的异次元空间中是很危险的。|
|//材料成分://谷物粉末和一卷扭曲的羊皮纸。|
!!Roper(树绳妖)

''大型魔法兽''

|''生命骰:'' 10d10+30(85hp)|
|''先攻权:'' +5|
|''速度:'' 10尺(2格)|
|''防御等级:'' 24(-1体型,+1敏捷,+14天生),接触10,措手不及23|
|''基本攻击/擒抱:'' +10/+18|
|''攻击:'' 绞绳+11远程接触(攀附);或啮咬+13近战(2d6+6)|
|''全回合攻击:'' 6绞绳+11远程接触(攀附)及啮咬+13近战(2d6+6)|
|''面宽/触及:'' 10尺/10尺(绞绳60尺)|
|''特殊攻击:'' 攀附,绞绳,弱化|
|''特性:'' 黑暗视觉60尺,对电免疫,昏暗视觉,对寒冷抗力10,法术抗力30,易受火焰伤害|
|''豁免:'' 强韧+10,反射+8,意志+8|
|''属性:'' 力量19,敏捷13,体质17,智力12,感知16,魅力12|
|''技能:'' 攀爬+12,躲藏+10*,聆听+13,侦察+13|
|''专长:'' 警觉,精通先攻,钢铁意志,专攻武器(绞绳)|
|''环境:'' 地底|
|''组织:'' 单独,成对,或成群(3-6)|
|''挑战等级:'' 12|
|''宝物:'' 无钱币,50%工艺品(只有石制品),无物品|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 11-15HD(大型);16-30HD(超大型)|
|''等级调整:'' -|


树绳妖站立约9尺高,基部直径约3到4尺,顶端直径约为1尺。它重约2200磅。树绳妖的肤色和体温会随着周围的洞窟而改变。

树绳妖会说土族语和地底通用语。

!!!战斗
树绳妖通过站立不动并伪装成岩石来进行狩猎。此战术使它们通常能够突袭敌人。当猎物进入攻击范围之后,它会甩出绞绳进行攻击。近战时,它会使用有力的嘴巴啮咬对手。

''攀附 (Ex):''如果树绳妖的绞绳攻击击中对手,绞绳就会卷住对手的身体。这不会造成伤害,但是接下来的每一轮都可以把被卷住的对手拖近10尺 (不会引发借机攻击),除非对手通过一个DC 23的逃脱术检定或DC 19的力量检定而挣脱。该豁免检定DC基于力量调整值,而且逃脱术检定DC中包括了+4得种族加值。树绳妖将对手拖至自己10尺范围内之后就可以在该轮内以+4的攻击加值进行啮咬攻击。

绞绳有10点生命值,并且可以因成功的击破武器尝试而被攻击到。然而攻击树绳妖的绞绳不会引发借机攻击。如果其绞绳正攀附在一个目标身上时,树绳妖在进行抵抗击破武器尝试的对抗攻击检定时要受到-4的罚值。砍断绞绳不会对树绳妖本身造成伤害。

''绞绳 (Ex):''大多数与树绳妖的遭遇都是由它甩出有力而粘稠的绞绳开始的。树绳妖最多可以同时拥有6条绞绳,并且它们可以攻击50尺远 (无射程增量)。如果一条绞绳被砍断的话,树绳妖可以下一轮中以一个即时动作再长出一条新的。

''弱化 (Ex):''树绳妖的绞绳可以削弱对手的力量。任何被绞绳攀附上的生物都必须通过一个DC 18的强韧豁免检定,否则会受到2d8点力量伤害。该豁免检定DC基于体质调整值。

''技能:''*在岩石或冰冻区域内进行躲藏检定时,树绳妖可获得+8的种族加值。 
''支配(Rulership):''这支权杖看起来像是材料和手工至少价值5000金币的皇家仪杖。持用者启动功能后(标准动作),可以命令120英尺范围内的生物服从效忠。可支配的生物总数视生物的生命骰而定,生命骰总和不能超过300HD,且智力值达12的生物可进行意志检定(DC=16),通过则不受支配。被支配的生物视持用者为最高统治者,并服从命令,但若命令违反天性,此魔法就失效。权杖可以使用的时间总长500分钟,之后就化为尘土。使用时间不须连续。

施法者等级:20。先决条件:“制造权杖”,“集体魅惑”。交易价格:60000金币。
!!! 飞跑(RUN)[一般专长]

''效果:''你的奔跑时的移动速度为正常时的五倍(当穿着中甲、轻甲或未穿甲且负重不超过中载时)或四倍(当穿着重甲或负重为重载时)。助跑跳跃时(见跳跃技能的描述)你的跳跃检定获得+4加值。在奔跑时你的防御等级仍保留敏捷加值。

''正常:''奔跑时你的移动速度为正常时的四倍(当穿着中甲、轻甲或未穿甲且负重不超过中载时)或三倍(当穿着重甲或负重为重载时),并且你的防御等级失去敏捷加值。

!!Rust Monster(锈蚀怪)

''中型异怪''

|''生命骰:'' 5d8+5(27hp)|
|''先攻权:'' +3|
|''速度:'' 40尺(8格)|
|''防御等级:'' 18(+3敏捷,+5天生),接触13,措手不及15|
|''基本攻击/擒抱:'' +3/+3|
|''攻击:'' 触角接触+3近战(锈蚀)|
|''全回合攻击:'' 触角接触+3近战(锈蚀)及啮咬-2近战(1d3)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 锈蚀|
|''特性:'' 黑暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+2,反射+4,意志+5|
|''属性:'' 力量10,敏捷17,体质13,智力2,感知13,魅力8|
|''技能:'' 聆听+7,侦察+7|
|''专长:'' 警觉,追踪|
|''环境:'' 地底|
|''组织:'' 独行或成对|
|''挑战等级:'' 3|
|''宝物:'' 无|
|''阵营:'' 总是绝对中立|
|''进化:'' 6-8HD(中型);9-15HD(大型)|
|''等级调整:'' -|

锈蚀怪的表皮颜色各异,通常腹部呈黄色而背部呈绣红色。锈蚀怪灵敏的触角可以锈蚀接触到的金属。

典型的锈蚀怪身长5尺,高约3尺,重约200磅。

!!!战斗

锈蚀怪可以嗅到90尺范围内的金属物品。当锈蚀怪发现金属物品后,会冲向其位置,用触角发动攻击。这种锈蚀怪非常凶猛,在角色持有金属物品时可以追击相当的巨力,但通常在吃到刚锈蚀的金属后会停止攻击。

锈蚀怪会首先攻击较大的金属物品,由盔甲到盾牌再到其他物品。锈蚀怪喜欢含铁的物品 (铁或钢) 多过贵金属 (例如金或银),但如果有机会也会吃掉后者。

''锈蚀 (EX):''锈蚀怪可以用触角通过接触攻击让金属物品锈蚀,崩坏,并立即失去作用。锈蚀怪的接触可以立即销毁10立方英尺的金属。默发防具和武器,以及其他由金属制成的魔法物品必须通过DC 17的反射检定,否则将立刻毁坏。本能力豁免DC基于体质,并且包括+4的种族加值。

对锈蚀怪造成伤害的金属武器立即崩坏。0木制,石制,以及其他由非金属构成的武器不受影响。
!!!锈蚀爪(Rusting Grasp)
|变化系|
|''等级:''德鲁伊 4|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''一件非魔法的铁质物品(或者物品上从接触点开始3英尺内的部分),或一个铁质生物|
|''持续时间:'' 见正文|
|''豁免:''无|
|''法术抗力:''不可|
|你所触碰到的所有铁或铁合金物品都会立即被锈蚀迅速摧毁,变得疏松空洞而无用。如果这物体的体积大于3英尺半径,则会被锈蚀掉3英尺半径的大小。金属制成的魔法物品免疫本法术。|
|你可以通过一次成功的近战接触攻击在战斗中使用锈蚀爪。用这种方式使用锈蚀爪能锈蚀金属铠甲,立即降低由此铠甲提供的防御等级1d6点(最高不超过此铠甲所提供的防御等级)。|
|被一个对手使用着的武器更难被本法术击中。你必须对此武器进行一次成功的近战接触攻击。被击中的金属武器会被摧毁。|
|注意:攻击一个对手的武器会引发借机攻击。你必须接触到那个武器,而没有其他路可走。|
|攻击一个铁质生物时,每次成功的攻击,锈蚀爪立刻造成3d6+每施法等级1点(最高+15)的伤害。法术持续每施法等级1轮,每轮你能进行一次近战接触攻击。|
!!Sahuagin(沙华鱼人)

''中型人形怪物(水生)''

|''生命骰:'' 2d8+2(11hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格),游泳60尺|
|''防御等级:'' 16(+1敏捷,+5天生),接触11,措手不及15|
|''基本攻击/擒抱:'' +2/+4|
|''攻击:'' 爪抓+4近战(1d4+2);或三叉矛+4近战(1d8+3);或重弩+3远程(1d10/19-20)|
|''全回合攻击:'' 三叉矛+4近战(1d8+3)及啮咬+2近战(1d4+1);或2爪抓+4近战(1d4+2)及啮咬+2 近战 (1d4+1);或重弩 +3 远程 (1d10/ 19-20)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 血性狂暴,耙抓1d4+1|
|''特性:'' 盲感30尺,黑暗视觉60尺,对淡水过敏,强光暂盲,与鲨交谈,依赖于水|
|''豁免:'' 强韧+3,反射+4,意志+4|
|''属性:'' 力量14,敏捷13,体质12,智力14,感知13,魅力9|
|''技能:'' 驯养动物+4*,躲藏+6*,专业(猎人)+1*,骑术+3,侦察+6*,生存+1*|
|''专长:'' 强韧加强,多重攻击|
|''环境:'' 温暖的水域|
|''组织:'' 单独,成对,成队(5-8),巡逻队(11-20外加1等级3的尉官和1-2鲨鱼),一大群(20-80外加100%的非战斗人员,及每20成人1等级3的尉官和1等级4的酋长,以及1-2鲨鱼),或部落 (70-160外加100%的非战斗人员,每29成人1等级3的尉官,每40成人1等级4的酋长,此外还有9等级4的守卫,1-4等级3-6的次级女祭司,1等级7的女祭司,1等级6-8的男爵及5-8鲨鱼)|
|''挑战等级:'' 2|
|''宝物:'' 标准|
|''阵营:'' 通常是守序邪恶|
|''进化:'' 3-5HD(中型);6-10HD(大型);或视人物职业而定|
|''等级调整:'' +2(+3如果有4条手臂的话)|


大部分的沙华鱼人肤色为绿色,背部颜色较深而腹部较浅。有些还有深色的条纹、色带或斑点,但这些会随着年龄的增长而消褪。成年雄性沙华鱼人站立有6尺高,重约200磅。

沙华鱼人是水生精灵的天敌。这两族无法和平共存:它们之间的战争持续已久,持续的争端有时会妨碍航行和海运。沙华鱼人对梭螺鱼人的憎恨仅比对水生精灵的略少一点点。

沙华鱼人使用它们自己的语言,沙华鱼人语。因其较高的智力值,大多数沙华鱼人也会说两种额外语言,通常是通用语和水族语。

!!!战斗
沙华鱼人是野蛮的战士,从不请求或给予宽恕。游泳时,沙华鱼人可以像使用爪子或武器一样使用脚进行攻击。任意一群沙华鱼人中都会有半数装备捕网。

''盲感 (Ex):''沙华鱼人可以定为水下30尺范围内的生物。此能力只有在沙华鱼人处于水下时才会生效。

''血性狂暴:''每天一次,如果沙华鱼人在战斗中受伤就会在下一轮中进入狂暴状态,疯狂地爪抓啮咬对手直到对手或自己死亡为止。此时沙华鱼人体质+2,力量+2,同时防御等级受到-2的罚值。沙华鱼人不能自发结束狂暴。

''耙抓 (Ex):''攻击加值 +2 近战,伤害 1d4+1。沙华鱼人在水中战斗时也可获得两次耙抓攻击。

''对淡水过敏 (Ex):''完全浸入淡水中的沙华鱼人必须通过一个DC 15的强韧豁免检定否则就会变得疲乏。即使检定成功,处于淡水中的沙华鱼人每10分钟仍然需要再进行一次同样的豁免检定。

''强光暂盲 (Ex):''沙华鱼人如果突然暴露在强光下 (比如日光或昼明术效果)就会目盲1轮。接下来的轮次中,强光下的沙华鱼人会处于目眩状态。

''与鲨交谈 (Ex):''沙华鱼人可以通过心灵感应与150范围内的鲨鱼沟通。这种沟通仅限于传递非常简单的概念,比如“食物”、“危险”及“敌人”。沙华鱼人可以使用驯养动物技能来与鲨鱼作朋友并训练它们。

''依赖于水 (Ex):''沙华鱼人离开水之后能生存每2点体质值1小时的时间 (在此之后,请参照地下城主指南304页中的溺水规则)。

''技能:''在进行游泳检定来做出特殊动作或躲避危险时,沙华鱼人可获得+8的种族加值。它可在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。 

*在水下进行躲藏、聆听及侦察检定时沙华鱼人可获得+4的种族加值。
*处于家的50英里范围内进行生存和专业 (猎人)检定时沙华鱼人可获得+4的种族加值。
*与鲨鱼合作时沙华鱼人在驯养动物检定上可获得+4的种族加值。

!!!变种沙华鱼人
大约每200只沙华鱼人中有一只有4条手臂。这样的生物可以在耙抓和啮咬攻击之外进行4次爪抓攻击或使用额外的武器。

如果有水生精灵的社群位于沙华鱼人社群100英里范围内的话,大约每100只沙华鱼人中会有一只看起来酷似水生精灵。这种生物被叫做玛提林,它们拥有40尺的游泳速度,可以离开水面存活每点体质值1小时的时间,并且有对淡水过敏及对光线过敏 (在强光下处于目眩状态)的特性。玛提林没有天生攻击。除此之外它们与沙华鱼人相同。 

|!		|!	火炎怪(Flamebrother Salamander)	|!	平民火蜥蜴(Average Salamander)	|!	贵族火蜥蜴(Noble Salamander)	|
|!		|!	小型异界生物(外位面,火系)	|!	中型异界生物(外位面,火系)	|!	大型异界生物(外位面,火系)	|
|^	''生命骰:''	|^	4d8+8(26hp)	|^	9d8+18(58hp)	|^	15d8+45(112hp)	|
|^	''先攻权:''	|^	+1	|^	+1	|^	+1	|
|^	''速度:''	|^	20尺(4格)	|^	20尺(4格)	|^	20尺(4格)	|
|^	''防御等级:''	|^	19(+1体型,+1敏捷,+7天生)接触12,措手不及18	|^	18(+1敏捷,+7天生)接触11,措手不及17	|^	18(-2体型,+1敏捷,+8天生)接触10,措手不及17	|
|^	''基本攻击/擒抱:''	|^	+4/+1	|^	++9/+11	|^	+15/+25	|
|^	''攻击:''	|^	矛+6近战(1d6+1/x3额外1d6火焰)	|^	矛+11近战(1d8+3/x3额外1d6火焰)	|^	+3长矛+23近战(1d8+9/x3额外1d6火焰)	|
|^	''全回合攻击:''	|^	矛+6近战(1d6+1/x3额外1d6火焰)和尾击+4近战(1d4额外1d6火焰)	|^	矛+11近战(1d8+3/x3额外1d6火焰)和尾击+9近战(2d6+1额外1d6火焰)	|^	+3长矛+23近战(1d8+9/x3额外1d6火焰)和尾击+18近战(2d8+3额外1d6火焰)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	5尺/5尺(尾击10尺)	|^	10尺/10尺(尾击或长矛20尺)	|
|^	''特殊攻击:''	|^	紧勒1d4额外1d6火焰,高温,精通擒抱	|^	紧勒2d6+1额外1d6火焰,高温,精通擒抱	|^	紧勒2d8+3额外1d6火焰,高温,精通擒抱,类法术能力	|
|^	''特性:''	|^	黑暗视觉60尺,火焰免疫,畏寒	|^	伤害减免10/魔法,黑暗视觉60尺,火焰免疫,畏寒	|^	伤害减免15/魔法,黑暗视觉60尺,火焰免疫,畏寒	|
|^	''豁免检定:''	|^	强韧+6,反射+5,意志+6	|^	强韧+8,反射+7,意志+8	|^	强韧+12,反射+10,意志+11	|
|^	''属性:''	|^	力量12,敏捷13,体质14,智力14,感知15,魅力11	|^	力量14,敏捷13,体质14,智力14,感知15,魅力13	|^	力量22,敏捷13,体质16,智力16,感知15,魅力15	|
|^	''技能:''	|^	手艺(铁匠)+8,躲藏+12,聆听+11,潜行+6,侦察+11	|^	哄骗+11,手艺(铁匠)+19,交涉+3,易容+1(+3对表演),躲藏+11,恐吓+3,聆听+8,潜行+11,搜索+12,侦察+8	|^	哄骗+19,手艺(铁匠)+25,交涉+4,躲藏+15,恐吓+4,聆听+13,潜行+17,侦察+13	|
|^	''专长:''	|^	警觉,多重攻击	|^	警觉,多重攻击,猛力攻击	|^	警觉,顺势斩,强力顺势斩,多重攻击,猛力攻击,技能专攻(手艺[铁匠])	|
|^	''环境:''	|^	火元素位面	|^	火元素位面	|^	火元素位面	|
|^	''组织:''	|^	单独,成双,成群(3-5)	|^	单独,成双,成群(3-5)	|^	单独,成双或贵族团伙(9–14)	|
|^	''挑战等级:''	|^	3	|^	6	|^	10	|
|^	''宝物:''	|^	标准(不会燃烧的物品)	|^	标准(不会燃烧的物品)	|^	双倍标准(不会燃烧的物品)和+3长矛	|
|^	''阵营:''	|^	通常是任意邪恶	|^	通常是任意邪恶	|^	通常是任意邪恶	|
|^	''进化:''	|^	4–6HD(小型)	|^	8–14HD(中型)	|^	16–21HD(大型);22–45HD(巨型)	|
|^	''等级调整:''	|^	—	|^	—	|^	—	|


火蜥蜴会说火族语。所有贵族火蜥蜴和某些平民会说通用语。

!!!战斗
拥有伤害减免的火蜥蜴,它的天生武器在击破伤害减免时视为魔法武器。

''紧勒(特异):''火蜥蜴一次成功的擒抱攻击会自动造成尾击伤害(包括火焰伤害)。如果对方的体形比贵族火蜥蜴小两个等级,则它可以同时紧勒两个这种体型的对手。

''高温(特异):''火蜥蜴的浑身上下如此炽热仅简单的接触就可以造成火焰伤害。火蜥蜴的金属武器也会传到这种高温。

''精通擒抱(特异):''使用这项能力火蜥蜴必须先以尾击命中不大于其体形一级的生物,能以即时动作展开擒抱而不会受到借机攻击。如果成功通过擒抱检定将造成定身和紧勒。

''类法术能力:''(贵族火蜥蜴)施法者等级15。此项豁免DC基于魅力。

|//3/天// – 燃烧之手(DC 13),火球(DC 15), 炽炎法球(DC 14), 火墙术(DC 16); |
|//1/天// - 解除魔法,七级召唤怪物术(超大型火元素)。|

''技能:''火蜥蜴在手艺(铁匠)技能检定时获得+4种族加值。

''专长:''火蜥蜴虽然没有三个天生武器但依然获得多重攻击专长。 
''Salve of Slipperiness(滑溜软膏)'': 饮用者“脱逃”检定有+20加值,几乎不可能遭擒抱、捆绑、或束缚。类似蛛网(无论是否为魔法)或魔法绳等障碍都对饮用者无效。如果将此油倒在地板或阶梯上,效果等于长效的“油腻术”。正常情况下,需要8小时自然挥发,但可以用酒精溶液去除(例如葡萄酒)。

Faint conjuration; CL 6th; Craft Wondrous Item, grease; Price 1,000 gp.
!!!圣域术(Sanctuary)
|防护系|
|''等级:''牧师 1,保护 1|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触的生物|
|''持续时间:''1轮/每等级|
|''豁免:''意志,通过则无效|
|''法术抗力:''不可|
|任何尝试击打或其他直接性攻击被保护生物的人,甚至只是使用目标型法术,都必须进行一个意志豁免。如果豁免成功,该敌人可以正常攻击,并且不再被此次法术所影响。如果豁免失败,那么该敌人将无法完成此次攻击,他动作中的这一部分将丢失,在法术持续期间内他也不能直接攻击被保护的生物。那些并非针对受术者的攻击依然不受影响。这个法术不能让被保护的生物不被区域型或效果型法术所攻击或影响。受术者本人也不能攻击,否则就会打断这个法术,但是他可以使用非攻击性法术或其他行动。|
!!Satyr(半羊人)

''中型妖精''

|''生命骰:'' 5D6+5(22HP)|
|''先攻权:'' +1|
|''速度:'' 40英尺(8格)|
|''防御等级:'' 15(+1敏捷,+4天生),接触11,措手不及14|
|''基本攻击/擒抱:'' +2/+2|
|''攻击:'' 抵撞+2近战(1D6),或短弓+3远程(1D6/*3)|
|''全回合攻击:'' 抵撞+2近战(1D6),匕首-3近战(1D4/19-20),短弓+3远程(1D6/*3)|
|''面宽/触及:'' 5英尺/5英尺|
|''特殊攻击:'' 牧笛|
|''特性:'' 伤害减免5/寒铁,低光视力|
|''豁免:'' 强韧+2,反射+5,意志+5|
|''属性:'' 力量10,敏捷13,体质12,智力12,感知13,魅力13|
|''技能:'' 唬骗+9,交涉+3,易容+1(+3掩饰),隐藏+13,威吓+3,知识(自然)+9,聆听+15,潜行+13,表演(管乐)+9,侦察+15,生存+1(+3野外)|
|''专长:'' 机警,闪避,灵活移动|
|''环境:'' 温带森林|
|''组织:'' 单独,成双,成队(2-5)或成群(6-11)|
|''挑战等级:'' 2(无牧笛)或4(有牧笛)|
|''宝物:'' 标准|
|''阵营:'' 通常是混乱中立|
|''进化:'' 6-10HD(中型)|
|''等级调整:'' +2|


半羊人的头发是红色或棕色,而蹄和角是深黑色。

半羊人的身高和体重相当于半精灵。

半羊人讲木族语,并有许多会说通用语。


!!!战斗

半羊人敏锐的感觉让他在户外几乎不可能被突袭。相反,凭着他们天生的优雅与灵活,半羊人可以潜行到没有小心观察周围荒野的旅行者身边。一旦战斗展开,徒手的半羊人会以有力的抵撞进行攻击。预期到可能遇到麻烦的半羊人,会装备弓和匕首,并在敌人接近前就从躲藏处射箭削弱对手。

''牧笛(Su):''半羊人能用他们的牧笛演奏多种魔法旋律。通常一群半羊人中只有一个携带牧笛。演奏时,所有处于60英尺扩散范围内的生物(半羊人除外)都必须通过DC13的意志检定,否则会受到如“魅惑人类”“睡眠”“惊恐术”法术效果影响(施法等级10,半羊人可选择旋律和效果)。如果落入其它生物手中,牧笛会失去特殊能力。任何通过意志检定的生物,24小时内不受同样效果影响。本能力的豁免检定DC基于魅力。

''技能:''半羊人对“隐藏”“聆听”“潜行”“表演”和“侦察”技能检定具有+4种族加值。


!!!半羊人人物

半羊人人物拥有以下种族特性:

*+2敏捷,+2体质,+2智力,+2感知,+2魅力。
*中型体型。
*半羊人的陆地基本速度是40英尺。
*昏暗视觉。
*种族生命骰:半羊人起始拥有5个妖精等级,提供5D8生命骰,基本攻击加值+2,基本豁免加值“强韧+1,反射+4,意志+4”。
*种族技能:半羊人的妖精等级给予其8*(6+智力调整值)的技能点数。职业技能为“唬骗”“隐藏”“知识(自然)”“聆听”“潜行”“表演”和“侦察”。半羊人对“隐藏”“聆听”“潜行”“表演”和“侦察”技能检定具有+4种族加值。
*种族专长:半羊人的妖精等级给予其两个专长。半羊人获得“机警”作为奖励专长。
*+4天生防御加值。
*天生武器:抵撞(1d6)。
*特殊攻击(见上文):牧笛。
*特性(见上文):伤害减免5/寒铁。
*使用语言:木族。额外语言:通用,精灵,侏儒。
*天赋职业:吟游诗人。
*等级调整:+2。
''Scabbard of Keen Edges(利刃之鞘)'': 由皮革和银制成,可自由伸缩以配合小刀、匕首、剑或类似物品甚至是一把巨剑。说出指令后,“利刃之鞘”会对收入其内的刀刃施展“利刃术”,此功能每天可使用三次。

Faint transmutation; CL 5th; Craft Wondrous Item, keen edge; Price 16,000 gp;Weight 1 lb.
''Scarab of Protection(防护圣甲虫)'': 甲虫形的银制勋章,发出淡淡灵光。如果将它握在手中一轮,表面会浮现铭文,使用者可知道其防护功用。

圣甲虫持有者得到法术抗力15,还可吸收总数达十二次的能量吸取攻击或死亡效果(如“死亡一指”)。若一次攻击造成两个负向等级,则以两次计算。吸收十二次攻击后,圣甲虫就损毁化为粉末。

Strong abjuration and necromancy; CL 18th; Craft Wondrous Item, death ward, spell resistance; Price 38,000 gp.
''Scarab, Golembane(破魔圣甲虫)'': 甲虫花样的别针,穿戴者专注于侦测时可以侦测到60英尺内的魔像。穿戴者和魔像战斗时,武器或徒手攻击伤害不受魔像伤害减免能力所影响。圣甲虫对所有魔像都有效。

Moderate divination; CL 8th; Craft Wondrous Item, detect magic, creator must be at least 10th level; Price 2,500 gp.

!!!恐吓术(Scare)
|死灵系[恐惧,影响心灵]|
|''等级:''吟游诗人 2,术士/法师 2|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''每三等级一个活物,任意两者之间距离不得超过30英尺|
|''持续时间:''1轮/每等级或1轮;见惊恐术(cause fear)说明|
|''豁免:''意志,通过则部分生效|
|''法术抗力:''可|
|该法术作用类似惊恐术(cause fear),只是所有HD少于6的目标生物都会惊惧(frightened)。|
|//材料成分://一点从不死生物骷髅(skeleton)、僵尸(zombie)、食尸鬼(ghoul)、妖鬼(ghast)或木乃伊(mummy)身上取出的骨头。|
''灵敏嗅觉(Scent,特异能力):''这种特殊能力可以让生物察觉接近的敌人、嗅出隐藏的对手、或者凭借嗅觉展开追踪。具有灵敏嗅觉能力的生物能够辨识熟悉的气味,就像人类能认出熟悉的画面。

凭借嗅觉,生物可以发现30尺以内的敌人。如果对手在上风处,则距离增为60尺;若在下风处,则减为15尺。如果是强烈的气味,比如浓烟或者腐烂的垃圾味道,可在上述距离两倍之内闻到。某些无法抵挡的气味,比如臭鼬或穴居人的恶臭,则可在通常距离的三倍之内闻到。

具有灵敏嗅觉的生物无法确定气味来源的具体位置,只知道它存在于嗅觉范围内的某处。生物可以用一个移动动作来觉察到气味来源的方向。

只要生物进入气味源的5尺之内,它就能精确确定源头的位置。

一个具有追踪专长的灵敏嗅觉生物可以通过气味来追踪,这时它用感知(或生存)检定来找到或追踪气味。新鲜痕迹的通常DC是10(无论气味停留在什么表面)。该DC会因气味来源的强弱、生物的数量和痕迹新旧的差别在此基础上增加或减少。痕迹每经过1小时DC会增加2。除此之外,此能力的判定上都按照追踪专长的规则。地面状况和低能见度不会影响通过嗅觉来展开追踪的生物。

具有灵敏嗅觉能力的生物能辨认出常见气味,就象人类辨认出常见景象一样。

水,特别是流动的水,会把呼吸空气的生物所利用的痕迹毁掉。但是拥有这项能力的水中呼吸生物可以在水中使用它。

迷惑性的、强烈的气味能轻松的盖过目标气味。使用灵敏嗅觉能力侦测或者辨认生物会被这些气味的存在彻底扰乱,同时追踪时的生存检定基础DC将变为20而不是10。


!!!闪光图纹(Scintillating Pattern)
|幻术系(心灵幻觉)[影响心灵]|
|''等级:''术士/法师 8|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''20英尺半径扩散范围内多彩光芒|
|''持续时间:''专注+2轮|
|''豁免:''无|
|''法术抗力:''可|
|不协调的光芒组成扭曲的图纹,闪烁的色彩在空气中跃动,影响着在其内的生物。该法术影响生物的HD总数等于你的施法者等级(最多20)。HD最少的生物最先被影响;对于HD相等的生物来说,最靠近法术源发点的生物较先被影响。不足以影响一个生物的生命骰数被浪费了。对每个受术者来说,法术的影响和它的生命骰数有关。|
|//6或更少://昏迷1d4轮,之后震慑1d4轮,接下来困惑(confused)1d4轮。(对非活物来说,昏迷视同为震慑。)|
|//7到12://之后震慑1d4轮,接下来困惑(confused)1d4轮。|
|//13或更高://困惑(confused)1d4轮。|
|无视力的生物不受闪光图纹影响。|
|//材料成分://一块小水晶棱柱。|
!!!灼热射线(Scorching Ray)
|塑能系[火]|
|''等级:''术士/法师 2|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''一或多条射线|
|''持续时间:''立即|
|''豁免:''无None|
|''法术抗力:''可|
|你用炽热的射线冲击你的敌人。你可以发射一道射线,比3级每多四个等级还可以再加一道射线(11级时达到最多三道射线)。每道射线都需要一个远程接触攻击来命中,并且造成4d6的火伤害。|
|射线可以对准同一个目标发射,也可以瞄准不同目标,但是所有射线都必须瞄准彼此处在30尺之内的目标,而且必须同时发射。|
''Screaming Bolt(狂啸矢):''
这种+2弩矢发射时会发出狂啸,其飞行路径周围20英尺内的敌人必须进行DC14的意志豁免检定,失败则陷入战栗状态。这是一种影响心灵的恐惧效果。

微弱附魔系灵光;CL5;制造魔法武器和防具,丧志术(doom);价格267金币;制造花费128金币5银币+10经验值。
!!!障幕(Screen)
|幻术系(五官幻觉)|
|''等级:''术士/法师 8,诡术 7|
|''法术成分:''言语,姿势|
|''施法时间:''10分钟|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''区域:''30英尺边长立方体/每等级(可变)|
|''持续时间:''24小时|
|''豁免:''无或意志通过则不相信(如果有交互);见正文|
|''法术抗力:''不可|
|这个法术结合了多种要素创造出一道针对探知和直接观察的强力防护。当施放这个法术时,由你决定法术区域内哪些可以被观察,哪些不可以被观察。创造出的幻象必须以一般的条件进行设置。当条件设置好后,它们将不能被改变。|
|尝试探知这个区域将自动侦测到由你设定的幻象,这是没有豁免的。外观和声音将和创造出的幻象相适应。|
|在直接观测时,如果看到的事情让人不相信,那么允许进行豁免(按照正常幻术)。只要被隐藏的东西能保持不影响到被幻术影响的人,那么就算进入该区域也不会取消幻觉,也不是必然可以进行豁免。|
!!! 抄录卷轴(SCRIBE SCROLL)[制造物品专长]

''效果:''你可以将你所知晓的法术抄录至卷轴上。卷轴基本价格 = 所含法术等级 x 施法者等级 x 25金币。抄录卷轴时,你必须花的时间(以日为单位)相当于卷轴基本价格的1/1000(以金币为单位)。此外,你还需支付相当于基本价格1/25的经验值,以及相当于该价格一半的原料费用。

除了上述基本价格支出之外,如果卷轴中的法术带有昂贵的材料成分,或需要消耗经验值,则制造时还需要额外支付这些花费。

!!!高等探知(Scrying, Greater)
|预言系(探知)|
|''等级:''吟游诗人 6,牧师 7,德鲁伊 7,术士/法师 7|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''持续时间:''1小时/每等级|
|除了上面注明的之外,这个法术作用类似探知(scrying)。另外,以下所有法术都必然可以透过魔法感官来发挥作用:侦测混乱(detect chaos),侦测邪恶(detect evil),侦测善良(detect good),侦测守序(detect law),侦测魔法(detect magic),传讯术(message),阅读魔法(read magic),巧言术(tongues)。|
!!!探知(Scrying)
|预言系(探知)|
|''等级:''吟游诗人 3,牧师 5,德鲁伊 4,术士/法师 4|
|''法术成分:''言语,姿势,材料/法器,器材|
|''施法时间:''1小时|
|''距离:''见正文|
|''效果:''魔法感官|
|''持续时间:''1分钟/每等级|
|''豁免:''意志,通过则无效|
|''法术抗力:''可|
|你能看见和听见一些生物,不论他们和你有多少距离。如果目标成功地进行了一次意志豁免,那么这次探知尝试就失败了。豁免的难度与你对他的了解程度有关,也与你和他之间的物质联系程度有关。此外,如果目标在另一个位面,那么他在豁免上有+5加值。|

|!	了解程度	 |!	意志豁免修正	 |
|^	一无所知^^1^^	 |^	+10	 |
|^	二手信息(你曾经听说过受术者)	 |^	+5	 |
|^	直接信息(你曾经见过受术者)	 |^	+0	 |
|^	熟悉(你对受术者很了解)	 |^	–5	 |
|^	1 //如果你对某生物一无所知,那么你就必须有一些和它有关的联系物。//	 |<|

|!	联系	 |!	意志豁免修正	 |
|^	画像或图像	 |^	–2	 |
|^	所有物或衣物	 |^	–4	 |
|^	身体部分,如一缕头发或一点指甲等	 |^	–10	 |

|如果对方豁免失败,那么你能看见和听见目标及其身边环境(大约为目标各个方向10英尺)。如果目标移动了,那么魔法感官会跟随移动,最高速度为150英尺。|
|和所有预言系(探知)法术一样,魔法感官具有你的全部视觉灵敏度,包括魔法效果。另外,下列法术有每施法者等级5%的机会可以透过魔法感官运作:侦测混乱(detect chaos),侦测邪恶(detect evil),侦测善良(detect good),侦测守序(detect law),侦测魔法(detect magic),传讯术(message)。|
|如果对方豁免成功,那么在24小时内你不能尝试探知同一个目标。|
|//奥术材料成分://猎鹰、鹰、或大鹏的眼睛,加上硝酸,铜,锌。|
|//法师、术士、或吟游诗人器材成分://精良锻造并高度抛光的银镜,至少价值1,000金币。该镜子至少要2*4英尺大。|
|//牧师器材成分://价值至少100金币的圣水盆。|
|//德鲁伊器材成分://天然水池。|
!!!塑声术(Sculpt Sound)
|变化系|
|''等级:''吟游诗人 3|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''每等级一个生物或物品,任意两者之间不得超过30英尺。|
|''持续时间:''1小时/每等级(可解消)|
|''豁免:''意志,通过则无效(物品)|
|''法术抗力:''可(物品)|
|你改变了那个生物或物品所发出的声音。你能在空无一物的地方创造出声音,也能阻断声音,还能将一种声音转变成另外一种。所有被影响的生物和物品必须以同样的方式进行改变。一旦变化产生,你就不能更改它了。|
|你可以改变音质,但是不能创造出你所不熟悉的言语。|
|声音被显著改变的施法者无法施放具有言语成分的法术。|
!!Sea Cat(猫鱼)

''大型魔法兽''

|''生命骰:'' 6d10+18(51hp)|
|''先攻权:'' +1|
|''速度:'' 10尺(2格),游泳40尺|
|''防御等级:'' 18(–1体形,+1敏捷,+8天生),接触10,措手不及17|
|''基本攻击/擒抱:'' +6/+14|
|''攻击:'' 爪抓+9近战(1d6+4)|
|''全回合攻击:'' 2爪抓+9近战(1d6+4)以及啮咬+4近战(1d8+2)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 撕扯2d6+6|
|''特性:'' 黑暗视觉60尺,闭气,昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+8,反射+6,意志+5|
|''属性:'' 力量19,敏捷12,体制17,智力2,感知13,魅力10|
|''技能:'' 聆听+8,侦察+7,游泳+12|
|''专长:'' 警觉,坚忍,钢铁意志|
|''环境:'' 温带水域|
|''组织:'' 单独,成对,或成群(5–12)|
|''挑战等级:'' 4|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 7–9HD(大型);10–18HD(超大型)|
|''等级调整:'' —|


典型的猫鱼长12尺,重800磅。

!!!战斗
无论为了食物或保护地盘,猫鱼都会攻击视野中的对手,使用爪子和牙齿固定并撕碎它们的猎物。即使面对比它们大数倍的生物,它们也会展现出极大的勇气并奋战至死。一对或成群的猫鱼会一齐攻击,试图消耗对手直至它们之一将之解决。

''闭气(特异): ''在可能遇溺之前,猫鱼可以摒住呼吸6倍于它体质值的轮数。

''撕扯(特异):''若猫鱼的两次爪抓攻击都命中对手,则它可以抓住并撕裂对手的身体。这将自动造成额外2d6+6点伤害。

''技能: ''猫鱼在进行一些特殊动作或避免非致命伤害时,游泳检定有+8种族加值。即使分心或受到威胁,它的游泳检定也可以取10。它也可以在游泳时选择奔跑,并沿着直线运动。 
!! Search(搜索)(智力)

''检定:''通常你必须在你要搜索的物品或表面10尺距离内。下表给出了典型搜索任务的DC。

|!	任务	|!	搜索DC	|
|^	彻底搜索一个装满杂物的箱子来找到特定物品	|^	10	|
|^	察觉到一般的暗门或者一个简单的陷阱 	|^	20	|
|^	寻找一个有难度的非魔法陷阱(只有游荡者能做到)^^1^^ 	|^	21或更高	|
|^	寻找一个魔法陷阱(只有游荡者能做到)^^1^^ 	|^	25加上陷阱法术的等级	|
|^	察觉到较好掩饰的秘门 	|^	30	|
|^	寻找足迹 	|^	可变^^2^^	|
|^	1 //即便不是游荡者,矮人也能用搜索技能来找到建造在石头内部或表面的陷阱。//	|<|
|^	2 //成功的搜索检定能让你找到足迹或者生物通过留下来的简单的痕迹,但是不足以让你找到或追随它的路线。对应DC见追踪专长(Track)的说明。//	|<|


''动作:''搜索一个5乘5尺见方的区域或者边长5尺容积的货物需要一个整轮动作。

''特别:''精灵在搜索上有+2种族加值,半精灵有+1种族加值。精灵(但不能是半精灵)仅仅路过一个秘门或被遮盖起来的门且距离5尺之内时,即可以做一个搜索检定来找那个门。

如果你有调查员专长(Investigator),你在搜索检定上获得+2加值。

游荡者可以用一次成功的搜索检定来找到通过法术爆裂符文(explosive runes),火焰陷阱(fire trap),守卫结界(glyph of warding),魔法徽记(symbol),以及传送法阵(teleportation circle)创造出的魔法陷阱,并且可以尝试用解除装置技能来解除掉它们。要确定圈套术(snare)法术位置的DC是23。荆棘丛生(spike growth)和刺石术(spike stones)创造出的魔法陷阱能用搜索技能找到,但是无法用解除装置技能来解除它们。详见对应法术说明。

如果作用中的防护系法术彼此距离10尺以内,且时间达到或超过24小时,那么会创造出几乎不可见的能量波动。这种波动让你在用搜索检定来确定这些防护系法术位置时获得+4加值。

''共效:''如果你在搜索上级数达到5或更高,在你用生存(Survival)检定来找到或追随踪迹时获得+2加值。

如果你在知识(建筑和工程)(Knowledge (architecture and engineering))上级数达到5或更高,在你用搜索检定来寻找秘门或者隐藏房间时获得+2加值。

''限制:''任何人都可以使用搜索技能来找那些DC20或更低的陷阱,但是只有游荡者能用搜索技能来找到具有更高DC的陷阱。(例外:法术寻找陷阱(find traps)能让牧师象游荡者一样来使用搜索技能。)另外即便不是游荡者,矮人也能用搜索技能来找到建造在石头内部或表面的高难度陷阱(DC高于20的陷阱)。同时矮人的岩石熟悉能力(stonecunning)中在矮人的搜索检定上提供了+2种族加值。

!!!灼热光辉(Searing Light)
|塑能系|
|''等级:''牧师 3,太阳 3|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''射线|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''可|
|将神力聚焦在一起如同太阳的光束,你从你打开的手掌中放射出一道光的冲击。要击中目标,你必须进行一次成功的远程接触攻击。被这道光束击中的生物要受到每两个施法者等级1d8的伤害(最多5d8)。不死生物受到每施法者等级1d6的伤害(最多10d6),如果是特别会受到强光伤害的不死生物,它将受到每施法者等级1d8的伤害(最多10d8)。构装体或者非活化物品仅受到每两个施法者等级1d6的伤害(最多5d6)。|
!!!秘藏箱(Secret Chest)
|咒法系(召唤)|
|''等级:''术士/法师 5|
|''法术成分:''言语,姿势,器材|
|''施法时间:''10分钟|
|''距离:''见正文See text|
|''目标:''一个箱子加上至多每施法者等级1立方英尺的物品|
|''持续时间:''60天或直到耗散|
|''豁免:''无|
|''法术抗力:''不可|
|你可以将一个箱子藏在灵界位面长达60天,其间可以随意找回。该箱子可以包含至多每施法者等级1立方英尺的东西(箱子尺寸为3*2*2英尺,但是容量和箱子实际尺寸无关)。如果箱子里有任何活物,该法术有75%的机会失败。当箱子被藏好后,你可以通过集中精神(一个标准动作)来将它取回,它会出现在你身边。|
|这个箱子必须由名师特别为你精心打造,而且造价昂贵。箱子的造价不能低于5,000金币。当它被制造出来时,你必须做一个它的复制品(以同样材料制作,而且要精雕细琢),看起来是完美的缩小品。(复制品价值50金币。)你只能同时拥有一对这样的箱子——就算许愿术(wish)也不能让你拥有更多。箱子本身是没有魔法的,和普通箱子一样,可以装上合适的锁,或者加以防护等。|
|要藏起这个箱子,你要在同时接触箱子和复制品的时候施展这个法术。箱子会消失进入灵界位面。你需要用复制品来召回箱子。六十天后,每天增加5%的几率会让箱子无可挽回的消失。一旦箱子的小模型丢失或被毁,那么没有任何办法能把大箱子重新召唤回来,即使许愿术(wish)也不能,不过可以派异界远征队将其找回。|
|箱子内的活生物和正常情况一样需要吃睡和衰老,如果缺少食物、空气、饮水,或者其他赖以为生的东西,他们也会死去。|
|//器材成分://箱子和它的复制品。|
!!!秘密文页(Secret Page)
|变化系|
|''等级:''吟游诗人 3,术士/法师 3|
|''法术成分:''言语,姿势,材料|
|''施法时间:''10分钟 minutes|
|''距离:''接触|
|''目标:''接触的页面,尺寸最多3平方英尺|
|''持续时间:''永久|
|''豁免:''无|
|''法术抗力:''不可|
|秘密文页会改变页面的内容,让它们看起来是完全不同的东西。法术的内文甚至可以变得看起来是另一个法术。在秘密文页上可以施展爆裂神符(Explosive runes)和蛇纹法印(sepia snake sigil)。|
|单独的通晓语言(comprehend languages)法术无法揭示秘密文页的内容。你可以通过念出一个特别词语来显示原始内容。之后你可以细读实际内容,然后根据意愿将其返回到秘密文页状态。你也可以通过念两遍那个特殊词语来移除这个法术。侦测魔法(detect magic)能发现页面上有微弱的魔法,但是无法揭示实际内容。除非和通晓语言(comprehend languages)一起使用,否则真知术(true seeing)能发现隐藏内容的存在,但是不能显示其内容。秘密文页可以被解除,隐藏的文字可以被抹消术(erase)所毁掉。|
|//材料成分://鲱鱼鳞粉和鬼火(will-o’-wisp)精华。|
!!!庇护所(Secure Shelter)
|咒法系(创造)|
|''等级:''吟游诗人 4,术士/法师 4|
|''法术成分:''言语,姿势,材料,器材;见正文|
|''施法时间:''10分钟|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''20英尺方形建筑物|
|''持续时间:''2小时/每等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|你变出一幢坚固的小屋或农舍,它由施法处的常见材料所建造。地板平坦清洁而干燥。从各个方面来说这个小屋都很像一个正常的小屋,有一扇坚固的门,两扇百叶窗,以及一个小壁炉。|
|小屋本身没有热源或冷源(除了正常的隔热外)。因此,它必须和普通住所一样进行加热,但是过热反过来也会影响它和它的居民。但是在其他方面,小屋提供了相当大的安全保障——不管它的材料成分是什么,它总是和普通石制建筑一样结实。如同是石制的一样,小屋本身抗火。它也不会被普通箭石所伤(除了攻城器或巨人发出的那些)。|
|门、窗、甚至烟囱都对入侵有所防备,门窗被秘法锁(arcane lock)所锁住,烟囱则在顶端和最窄的烟道处安装有铁栅。另外,这三处区域被一个警报术(alarm)所保护。最后,在小屋的持续期间内可以变出一个隐形仆役(unseen servant)来为你提供服务。|
|庇护所带有一些简陋的家具——八个铺位,一个搁板桌,八张凳子,以及一个写字台。|
|材料成分:一个方形石片,碾碎的石灰,几粒沙子,一滴水,几片木头碎片。如果需要隐形仆役,那么必须再加上该法术的成分(线和一点木头)。|
|//器材成分://如果需要警报术,那么需要该法术的器材(银线和小铃铛)。|
''庇护(Security):''此权杖可创造一个无次元空间,如同世外桃源。除了持用者以外,最多还可以有199个生物进入,得到完全保护,可停留的时间为 200天除以生物数量。所以,单一生物(使用者本身)可停留200天,四个生物可停留50天,六十个生物则可停留三天,小数一律舍弃,因此101到200 个生物都只能停留一天。

在该空间中,生物不会老化,自然医疗速度变为两倍。水与食物(仅限水果与蔬菜)源源不绝,气候非常舒适。

使用此权杖时(标准动作),持用者和所有触碰权杖的生物都会一起传送。大群生物若牵在一起,或用其他方式连在一起围成一圈,也可一起传送。不愿被传送的生物可以做意志检定(DC=17)以抵销其效果,即使豁免检定成功,其他由该生物连入圈内连接的生物仍然可被传送。

如果时限已到或效果解除,所有生物会立刻传回原地。如果原有空间被其他生物占据,该生物会被移开直到空间足够为止。权杖使用者在时限结束前,可以随时解除效果。权杖每周只能使用一次。

施法者等级:20。先决条件:“制造权杖”,“异界之门”。交易价格:61000金币。
!!!识破隐形(See Invisibility)
|预言系|
|''等级:''吟游诗人 3,术士/法师 2|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''你自己|
|''持续时间:''10分钟/每等级(可解消)|
|你可以看到视野范围内任何隐形的物体或生物,那些灵化状态的事物也一样,如同它们是正常可见状态一样。在你看来,这类生物具有半透明的外形,你可以轻易区分出可见、隐形、灵化生物之间的差别。|
|这个法术不能觉察出是何种方法造成的隐形。它也不能看穿幻像或让你看透不透明的物品。对那些仅通过躲藏、隐蔽等方式来很难被看到的事物来说,这个法术也不能看穿它们。|
|识破隐形可以用魔法恒定术(permanency)恒定。|
|//材料成分://一撮滑石粉和少量银粉。|
''Seeking(寻踪):''
只有远程武器能具有此能力。武器攻击目标时没有失手几率,比如目标有掩蔽时。(使用者仍然需要瞄准目标所在的位置。例如,武器无法击中攻击者看不到的隐形敌人,哪怕他们就在附近。)

强烈预言系灵光;CL12;制造魔法武器和防具,真知术(true seeing);价格+1加值。

!!!伪装术(Seeming)
|幻术系(五官幻觉)|
|''等级:''吟游诗人 5,术士/法师 5|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''每两等级一个生物,任意两者之间距离不得超过30英尺。|
|''持续时间:''12小时(可解消)|
|''豁免:''意志通过则无效,或意志通过则不相信(如果有交互)|
|''法术抗力:''可或不可;见正文|
|该法术作用和变颜术(disguise self)类似,只是你同样可以改变其它人的外观。被影响的生物被杀后将恢复正常外观。|
|不自愿的目标可以通过意志豁免或法术抗力来抵消法术的效果。|
!!! 自救(SELF-SUFFICIENT)[一般专长]

''效果:''在医疗和生存检定上获得+2的加值。
!!!短讯术(Sending)
|塑能系|
|''等级:''牧师 4,术士/法师 5|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''10分钟 |
|''距离:''见正文|
|''目标:''一个生物|
|''持续时间:''1轮;见正文|
|''豁免:''无|
|''法术抗力:''不可|
|通过发送一小段信息(二十五个字或更短),你可以和你所熟识的一个生物进行联系。如果对方认识你,他会认出你来。他可以立刻回复一段类似的信息。智力值低至1的生物依然能明白短讯术,但是和正常情况一样,他的智力依然限制了他的反应。不论什么情况下,即便受术者接收到了短讯术,受术者依然没有义务必须据此行动。|
|如果上述生物和你不在一个位面,那么短讯术有5%的机会无法到达。(那些位面的当地情况有可能会让失败机会变得更大。)|
|//奥术材料成分://一小段细铜线。|
!! Sense Motive(察言观色)(感知)

''检定:''一次成功的检定可以让你避免被唬骗(见唬骗技能)。在“出事了”(即发生了些奇怪事情)的时候你还可以用此技能来做出判断,或者估计某人的可信任程度。

|!任务  |!	察言观色DC	|
|^	直觉 	|^	20	|
|^	觉察出惑控状态 	|^	25或15	|
|^	辨识密讯 	|^	可变	|


//直觉://这样使用技能需要从内心来对社会形势做出判断。你可以感觉从他人的行为上觉察出有些事情不对劲,例如你正在和一个江湖骗子交谈。另外,你也可以感觉到其他人是可信赖的。

//觉察出惑控状态://你可以发现他人的行为是受到了惑控效果的影响(即某种精神影响的效果),甚至对方自己都没有觉察到。通常DC是25,但是如果目标是被支配的(见支配人类(dominate person)),那么DC只有15,因为目标的行为会受到限制。

//辨识密讯://你可以用察言观色技能来辨识出用唬骗技能传递的密讯。在这种情况下,你的察言观色检定要和传递这条讯息人物的唬骗技能进行对抗。每遗漏一份和该讯息相关的信息,你都要在察言观色检定上受到-2减值。如果你成功4或者更少,那么你知道有些隐蔽的讯息被传递了,但是你无法知道任何实质性的细节。如果你超过DC5或更多,你将截获并理解该讯息。如果你失败4或者更少,你将无法察觉到有隐蔽讯息被传递。如果你失败5或更多,你推断出一些虚假信息。

''动作:''使用察言观色来获得信息通常至少需要1分钟,你也可以用一整个晚上来感受周围人们的情绪。

''重试:''不可,不过每当有针对你的唬骗检定时你都可以做一次察言观色检定。

''特别:''巡林客在用察言观色技能对付宿敌时有加值。

如果你有谈判专家专长(Negotiator),你在察言观色检定上获得+2加值。

''共效:''如果在察言观色上级数达到5或者更高,你在外交检定上获得+2加值。

!!!蛇纹法印(Sepia Snake Sigil)
|咒法系(创造)[力场] |
|''等级:''吟游诗人 3,术士/法师 3|
|''法术成分:''言语,姿势,材料|
|''施法时间:''10分钟|
|''距离:''接触|
|''目标:''接触到的一本书或书写作品|
|''持续时间:''永久,直到散发;直到释放或者1d4天加每等级一天;见正文|
|''豁免:''反射,通过则无效|
|''法术抗力:''不可|
|当你施放蛇纹法印时,在书、卷轴、地图等书写作品中文字中会出现一个小印记。包含这个印记的文字必须至少长二十五个词。当任何人读到这段包含印记的文字时,如果阅读者和印记之间有效果线,那么该蛇纹就会显现并攻击阅读者。|
|仅仅是看到这段有魔法的文字并不足以触发此法术;目标必须有意阅读它。目标可以进行一次豁免来避开蛇的攻击。如果豁免成功,蛇纹会在一道褐色闪光中消失,同时伴随着一团棕色烟雾和强烈响声。如果目标在豁免中失败,那么他就会被卷入一团散发着微光的琥珀色力场中动弹不得,直到被释放为止。在你的命令下,或者在1d4+每施法者等级1天后,目标就会被释放。|
|当被困在琥珀力场中时,目标不会衰老,不必呼吸,也不会饥饿、睡眠,或者重获得法术。他处在一种暂时的假死状态下,无法感觉到周围环境。由于力场不能保护任何物理伤害,因此他可以被外部力量所伤害(甚至被杀)。但是在法术结束之前,一个濒死的生物也不会损失生命值,同时也不会变得稳定。|
|隐藏的印记不会被任何普通观测手段侦测到,侦测魔法(detect magic)只能揭示出那段文字是有魔法的。|
|解除魔法(dispel magic)能将此印记移除。抹消术(erase)则会将整页文字毁掉。|
|蛇纹印记可以和其他隐藏或混淆文字的法术合并使用,例如秘密文页(secret page)。|
|//材料成分://价值500金币的琥珀粉末,任意一种蛇的一片鳞片,一撮蘑菇孢子。|
!!!隔离术(Sequester)
|防护系|
|''等级:''术士/法师 7|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''一个自愿的生物,或者接触到的物体(至多每等级一个2英尺边长的立方)|
|''持续时间:''1天/等级(可解消)|
|''豁免:''无 或意志,通过则无效(物体)|
|''法术抗力:''不可或可(物体)|
|此法术不光会保护目标,使其不会被预言系法术侦测或定位,还使其不会被看见(效果如同隐形术(invisibility)),但是可以通过触觉或其他装置来发现受术者。受此法术作用的生物会陷入昏睡,呈假死状态,直至法术结束或被解除。|
|注意:通过意志豁免的物体不会被隔离。但是如果用预言系法术来探知被隔离的生物或物体则无豁免。|
|//材料成分://一根石化蜥蜴的睫毛,透明胶、一杯白漆。|
''Serpentine Owl蛇纹石猫头鹰'':使用不同指令,可以将此塑像变为巨猫头鹰或角鹗。每天可使用一次,每次最多8小时。活化为巨猫头鹰三次之后,塑像就会失去魔力。猫头鹰和使用者可使用心灵感应进行沟通,使用者可知道其所见所闻(请留意其智力值限制)。

施法者等级:11。先决条件:“制造奇物”,“活化物体”。交易价格:9100金币。
!!!阴魂咒法术(Shades)
|幻术系 (Shadow)|
|''等级:''术士/法师 9|
|和幽影咒法术(shadow conjuration)一样,你可模拟术士或法师的咒法系法术,法术等级不超过8级。若受术者认为这只是幻术,则伤害性法术仅造成80%的伤害,非伤害性法术有80%的可能对它起作用。|
!!!高等幽影咒法术(Shadow Conjuration, Greater)
|幻术系(幽影幻觉)|
|''等级:''术士/法师 7|
|和幽影咒法术一样,你可模拟术士或法师的咒法系(创造)或咒法系(召唤)法术,法术等级不超过6级。若受术者认为这只是幻术,则伤害性法术仅造成60%的伤害,非伤害性法术有60%的可能对它起作用。|
!!!幽影咒法术(Shadow Conjuration)
|幻术系(幽影幻觉) (Shadow)|
|''等级:''吟游诗人 4, 术士/法师 4|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''见说明|
|''效果:''见说明|
|''持续时间:''见说明|
|''豁免:''意志,通过则不相信;可变;见说明|
|''法术抗力:''可;见说明|
|你利用幽影位面的物质塑造出几可乱真的幻象,对象可为生物,物体或力场。幽影咒法术可以模拟出术士和法师的咒法系(创造)或咒法系(召唤)法术,法术等级不高于3级。幽影咒法术对相信的生物可发挥全部力量,对不相信的生物则仅产生20%的效果。|
|与法术制造的物体、力场或生物发生互动的生物可以通过意志检定来识破幻觉。|
|伤害性法术可发挥全部力量,除非对方通过意志豁免。不相信的生物仅受到五分之一(20%)的伤害,若该法术有除了伤害以外的效果,则仅有20%的几率发生。不管是否通过意志豁免,对方都可对法术进行原有的豁免检定(法术抗力也有效),但是豁免DC为幽影咒法术的DC。此法术模拟出的任何法术都可以用法术抗力来对抗,不管被模拟的法术是否可用法术抗力。对于相信者来说,幽影物体或物质有全部正常效果,除非不相信。对于不相信者,它们仅有20%几率起作用。|
|幽影生物的生命值为正常值的五分之一(无论它是否被识破)。它可造成正常与原物相同的伤害,属性及弱点也一样。但对不相信者仅能造成20%的伤害,不造成伤害的特异能力仅有20%的几率施展成功。(对每个受影响者及每种效果分别投骰。)此外,幽影生物的AC加值也只有五分之一。|
|检定成功者看到的幽影咒法是模糊朦胧的透明影像。|
|物体可视作自动通过意志检定。|
!!!高等幽影塑能术(Shadow Evocation, Greater)
|幻术系(幽影幻觉) (Shadow)|
|''等级:''术士/法师 8|
|和幽影塑能术一样,你可模拟术士或法师的塑能系法术,法术等级不超过7级。若受术者认为这只是幻术,则伤害性法术仅造成60%的伤害。|
!!!幽影塑能术(Shadow Evocation)
|幻术系(幽影幻术) (Shadow)|
|''等级:''吟游诗人 5,术士/法师 5|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''见说明|
|''效果:''见说明|
|''持续时间:''见说明|
|''豁免:''意志,通过则不信(若发生互动)|
|''法术抗力:''可|
|你从幽影位面吸取能量,塑造出逼真的一个术士或法师的塑能系法术的幻象,法术等级不超过4级。(对于有多个适用等级的法术,你可选择对你来说最佳的等级)|
|幻象造出的伤害性法术可造成正常效果,除非受术者通过意志检定,不相信的生物只受到1/5的伤害。若该法术还有非伤害性效果,在生物不相信的情况下,仅产生1/5法术效果或仅有20%的几率发生。若被辨识出是幽影塑能术,则伤害性法术只造成20%的伤害。无论受术者是否通过意志检定,只要该法术允许,都可以对模拟出的法术进行豁免检定(或使用法术抗力),但是豁免DC由幽影塑能术决定,而非它本来的DC。|
|非伤害性法术造成正常效果,除非受术者不信。若受术者不信,则法术无效|
|所有物体都可视作自动通过意志检定。|
!!Shadow Mastiff(幽影獒犬)

''中型异界生物(跨位面)''

|''生命骰:'' 4d8+12(30HP)|
|''先攻权:'' +5|
|''速度:'' 50尺(10格)|
|''防御等级:'' 14(+1敏捷,+3天生),接触11,措手不及13|
|''基本攻击/擒抱:'' +4/+7|
|''攻击:'' 啮咬+7近战(1d6+4)|
|''全回合攻击:'' 啮咬+7近战(1d6+4)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 咆哮,摔拌攻击|
|''特性:'' 黑暗视觉60尺,融入阴影,灵敏嗅觉|
|''豁免:'' 强韧+7,反射+5,意志+5|
|''属性:'' 力量17,敏捷13,体质17,智力4,感知12,魅力13|
|''技能:'' 躲藏+8,聆听+8,潜行+8,侦察+8,生存+8*|
|''专长:'' 闪避,精通先攻,追迹|
|''环境:'' 阴影卫面|
|''组织:'' 单独,成对或成群(5-12)|
|''挑战等级:'' 5|
|''宝物:'' 无|
|''阵营:'' 总是中立邪恶|
|''进化:'' 5-6HD(中型);7-12HD(大型)|
|''等级调整:'' +3(作为部属)|


这个生物拥有大型狗一般的身体,光滑的外皮和长满尖牙的嘴. 

一只幽影獒犬的肩高略大于2尺,重约200磅. 

幽影獒犬不会说话,但可以理解通用语.

!!!战斗
幽影獒犬喜欢在阴影或黑暗环境下战斗,这样可以给予他们很多好处.

若有魔法光源抵消了幽影獒犬身边的阴影,它的智能足够让它离开光亮区域或退后并运用咆哮打击对手.他们知道应该先夺去附带有光亮术的物品或使之无力化. 

''咆哮(超自然):'' 当幽影獒犬嚎叫或吠叫,300尺半径范围内除了邪恶异界生物之外的所有生物必须通过一个DC13的意志豁免,否则就会陷入慌乱2d4轮.这是一个影响心灵的音波恐惧效果.无论是否通过豁免,被影响的生物都在24小时内对同一只幽影獒犬的咆哮免疫.该DC的关键属性是魅力.

''摔拌攻击(特异):'' 幽影獒犬若啮咬攻击命中对手,则它不需要作接触攻击或引发借机攻击就可以尝试以一个即时动作摔拌对手(+3检定调整).如果尝试失败,对手也无法反摔拌幽影獒犬. 

''融入阴影(超自然):''除了全光照环境外,幽影獒犬就可以消失在阴影中,并得到全掩蔽.人工光源,甚至光亮术和不灭明焰,都无法抵消这个能力.但昼明术可以.

''技能:'' *幽影獒犬使用嗅觉追迹时生存检定得到+4种族加值. 

!!!行影术(Shadow Walk)
|幻术系 (幽影幻觉)|
|''等级:''吟游诗人 5,术士/法师 6|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''被接触的一个生物/等级|
|''持续时间:''1小时/等级(可解消)|
|''豁免:''意志,通过则无效|
|''法术抗力:''可|
|要施展行影术,你必须处在阴影区域内。之后你和你接触到的生物会沿着一条盘旋的阴影物质道路进入幽影位面和物质位面的交界。这效果是非常大的幻像,但路径却近乎真实。你可以带领多个生物前往(数量受你等级所限),但相互之间必须有接触。|
|在阴影区域内,你的移动速度可达50英里/小时,这在幽影位面属于正常速度,而在物质位面则非常快。因此你可以用这个法术快速移动:进入幽影位面,迅速移动一段距离,再返回物质位面。|
|由于两位面之间一切都很模糊,你无法清楚地了解旅途中的一切,也无法准确确知旅行的终点。你无法精确了解移动距离,也无法进行侦察。法术结束后,你将出现在距离目标地点1d10x100英尺的地点,水平方向完全随机。若这会使你或同行者出现在固体物内,则你们会出现在同一方向的1d10x1,000英尺处。若这还是会使你们出现在固体物内,则你们会出现在最近的空地,但这会使所有人陷入疲乏状态(无豁免)。|
|行影术可以用以进入与幽影位面交界的其他位面,这需要穿越幽影位面并到达它与另一位面的交界处。穿越幽影位面需要1d4小时。|
|你施法时接触到的生物会随你一同进入幽影位面的边界。它们可以选择跟随你、在幽影位面游荡,或误返物质位面。(若它们失散或被你抛弃,后两者发生的几率相同。)不愿意随你进入幽影位面的生物可进行意志检定,成功则不受影响。|
''高等暗影:''躲藏检定时获得+15能力加值,其余和暗影一样。

中等幻术系灵光;CL15;制造魔法武器和防具,隐形(Invisibility);价格+33750金币。
''强化暗影:''躲藏检定时获得+10能力加值,其余和暗影一样。

中等幻术系灵光;CL10;制造魔法武器和防具,隐形(Invisibility);价格+15000金币。
''暗影:''这种盔甲是深黑色的,且会在穿戴者试图躲藏时让他变得朦胧,在进行躲藏检定时获得+5能力加值。(盔甲的防具检定减值仍然正常作用。)

微弱幻术系灵光;CL5;制造魔法武器和防具,隐形(Invisibility);价格+3750金币。
|!		|!	幽影 (Shadow)	|!	高等幽影(Greater Shadow)	|
|!		|!	中型不死生物 (虚体)	|!	中型不死生物(虚体)	|
|^	''生命骰:''	|^	3d12(19hp)	|^	9d12(58hp)	|
|^	''先攻权:''	|^	+2	|^	+2	|
|^	''速度:''	|^	飞行30尺(良好)(6格)	|^	飞行40尺(良好)(8格)	|
|^	''防御等级:''	|^	13(+2敏捷,+1偏斜),接触13,措手不及11	|^	14(+2敏捷,+2偏斜),接触14,措手不及12	|
|^	''基本攻击/擒抱:''	|^	+1/-	|^	+4/-	|
|^	''攻击:''	|^	虚体触碰+3近战(1d6力量)	|^	虚体触碰+6近战(1d8力量)	|
|^	''全回合攻击:''	|^	虚体触碰+3近战(1d6力量)	|^	虚体触碰+6近战(1d8力量)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	5尺/5尺	|
|^	''特殊攻击:''	|^	产生衍体,力量伤害	|^	产生衍体,力量伤害	|
|^	''特性:''	|^	黑暗视觉60尺,虚体特性,+2驱散抗力,不死生物特性	|^	黑暗视觉60尺,虚体特性,+2驱散抗力,不死生物特性	|
|^	''豁免检定:''	|^	强韧+1,反射+3,意志+4	|^	强韧+3,反射+5,意志+7	|
|^	''属性:''	|^	力量-,敏捷14,体质-,智力6,感知12,魅力13	|^	力量-,敏捷15,体质-,智力6,感知12,魅力14	|
|^	''技能:''	|^	躲藏+8*,聆听+7,搜索+4,侦察+7	|^	躲藏+14*,聆听+9,搜索+6,侦察+9	|
|^	''专长:''	|^	警觉,闪避	|^	警觉,闪避,灵活移动,跳跃攻击	|
|^	''环境:''	|^	任意	|^	任意	|
|^	''组织:''	|^	单独,成队(2-5),或成群(6-11)	|^	单独	|
|^	''挑战等级:''	|^	3	|^	8	|
|^	''宝物:''	|^	无	|^	无	|
|^	''阵营:''	|^	总是混乱邪恶	|^	总是混乱邪恶	|
|^	''进化:''	|^	4-9HD(中型)	|^	-	|
|^	''等级调整:''	|^	-	|^	-	|


幽影在黑暗或阴暗区域内很难被发现,但是在光线明亮处就十分显眼。

幽影有5到6尺高并且没有重量。

幽影说不出易理解的话语。

!!!战斗
幽影潜藏在黑暗之处,等待活着的猎物出现。

''力量伤害 (Su):''幽影的触碰会对活着的敌人造成1d6点力量伤害。生物的力量值一旦被幽影减少到0就会死亡。这属于负能量效果。

''产生衍体 (Su):''任何因力量被幽影减少到0而死亡的类人生物会在死亡1d4轮后变成受该幽影所控制的另一个幽影。

''技能:''幽影在进行聆听和侦察检定时可获得+2的种族加值,在进行搜索检定时可获得+4的种族加值。

*在阴暗区域内进行躲藏检定时幽影可获得+4的种族加值。在光亮区域内进行躲藏检定时会受到-4的罚值。

!!!高等幽影
尽管不会比普通的幽影更聪明,但高等幽影因其增强了的攻击伤害和打带跑的战术而更令人畏惧。

!!!!战斗

''力量伤害 (Su):''高等幽影的触碰能对活着的敌人造成1d8点力量伤害。
''生命骰:''d8。

!!!!先决条件

要具备影舞者,人物必须符合以下全部条件。

''技能:''潜行8级,躲藏10级,表演(舞蹈)5级。

''专长:''战斗反射,闪避,灵活移动。

!!!!本职技能
影舞者的本职技能如下(括号中为该技能的关键属性):平衡(敏捷),唬骗(魅力),解读文书(智力),交涉(魅力),易容(魅力),脱逃术(敏捷),躲藏(敏捷),跳跃(力量),聆听(感知),潜行(敏捷),表演(魅力),专业(感知),搜索(智力),手上功夫(敏捷),侦察(感知),翻滚(敏捷),绳技(敏捷)。

''升级技能点数:''6+智力调整值。

 
''表:影舞者''

|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!特殊能力 |
|^	1	|^	+0	|^	+0	|^	+2	|^	+0	|^	视线躲藏	|
|^	2	|^	+1	|^	+0	|^	+3	|^	+0	|^	反射闪避,黑暗视觉,直觉闪避	|
|^	3	|^	+2	|^	+1	|^	+3	|^	+1	|^	阴影幻术,召唤幽影	|
|^	4	|^	+3	|^	+1	|^	+4	|^	+1	|^	阴影跳跃20英尺	|
|^	5	|^	+3	|^	+1	|^	+4	|^	+1	|^	防御翻滚,精通直觉闪避	|
|^	6	|^	+4	|^	+2	|^	+5	|^	+2	|^	阴影跳跃40英尺,召唤幽影	|
|^	7	|^	+5	|^	+2	|^	+5	|^	+2	|^	心智灵活	|
|^	8	|^	+6	|^	+2	|^	+6	|^	+2	|^	阴影跳跃80英尺	|
|^	9	|^	+6	|^	+3	|^	+6	|^	+3	|^	召唤幽影	|
|^	10	|^	+7	|^	+3	|^	+7	|^	+3	|^	阴影跳跃160英尺,精通反射闪避	|

 

!!!!职业特性

下述均为影舞者进阶职业的职业特性:

''武器和防具擅长:''影舞者擅长木棒、弩(单手、轻型或重型)、匕首(任何类型)、飞镖、硬头锤、钉头锤、木棍、细剑、闷棍、短弓(一般和复合)和短剑。影舞者擅长使用轻型盔甲,但不擅长盾牌。

''视线躲藏(Hide in Plain Sight,超自然能力):''影舞者即使被人注视,也可以使用躲藏技能。只要距离阴影10呎内,即使没有任何实际掩体遮蔽,影舞者也可以从别人视线中隐藏自己。但是影舞者不能躲在自己的影子中。

''反射闪避(Evasion,特异能力):''2级开始,影舞者可快速闪避魔法和特殊攻击。有些攻击效果若通过反射豁免仍会造成一半伤害,此时影舞者若通过反射豁免,则完全不会受伤。影舞者只有在穿着轻型盔甲或未着盔甲时,才能做反射闪避。

''黑暗视觉(Darkvision,超自然能力):''2级开始,影舞者可以在黑暗中视物,如同永久处在黑暗视觉(darkvision)法术影响下一样。

''直觉闪避(Uncanny Dodge,特异能力):''2级开始,影舞者在措手不及时或被不可见的攻击者攻击时依然保留AC上的敏捷加值。不过如果他不能动,他还是会丢掉AC上的敏捷加值。

如果影舞者已经由其他职业上获得了直觉闪避能力,那么他自动获得精通直觉闪避(见之后的说明)。阴影幻术(Shadow Illusion,类法术能力):3级开始,影舞者可以创造出可见的幻影。此类法术能力的效果如同无声幻影(silent image)法术,每天可使用一次。

''召唤幽影(Summon Shadow,超自然能力):''3级开始,影舞者可以召唤出幽影(shadow),一种不死生物阴影。不同于一般幽影的是,此幽影的阵营与影舞者一样,并且它无法创造衍体。此幽影不会被他人驱散、斥喝或命令。此幽影是影舞者的伙伴,可和影舞者清晰的沟通。影舞者每再升三级,幽影伙伴就会获得+2HD(基本攻击检定和基本豁免检定亦提升)。

若幽影伙伴被摧毁,或影舞者决定将其遣散,影舞者必须进行强韧豁免(DC 15),若检定失败,会损失每个影舞者等级200点经验值。若检定成功,则改为损失每个影舞者等级100点经验值。影舞者的总经验值不会因此而低于0点。幽影被消灭或遣散之后30天之内无法被替换。

''阴影跳跃(Shadow Jump,超自然能力):''4级开始,影舞者可以在阴影之间移动,效果如同任意门(dimension door)法术。该魔法传送的限制是出发点和目的地都必须至少有一些阴影。影舞者每日可以此法跳跃至多20呎,可以一次跳跃20呎,也可以分成两次跳跃,每次10呎。影舞者每再升二级,每日可跳跃的距离增倍(6级时40呎、8级时80呎、10级时160呎)。影舞者可将总距离分为多次跳跃,但每次跳跃都是以10呎为单位计算。

''防御翻滚(Defensive Roll,特异能力):''5级开始,如果战斗中的伤害(武器或其他打击造成,不能是法术或特殊能力造成)可能会将影舞者的生命值伤害到0或0以下,他可以尝试顺着攻击来翻滚,该能力每天只能使用一次。影舞者须进行反射豁免(DC等于该次攻击造成的伤害),若检定通过,则只受到该攻击原本造成伤害的一半。他必须觉察到这次攻击并能对其做出反应才能进行防御翻滚,如果他失去了AC上的敏捷加值,他就无法使用此能力。

''精通直觉闪避(Improved Uncanny Dodge,特异能力):''5级开始,影舞者不会受到夹击,所以游荡者便无法以夹击来进行偷袭。除非游荡者的等级比遭夹击的影舞者高至少4级,这时才能够进行夹击(因此还可偷袭)。

如果角色已经因为其他职业获得直觉闪避能力(见前),该角色在得到直觉闪避时自动获得精通直觉闪避,并且将所有获得直觉闪避职业的等级累加起来以决定夹击此角色所需的最低游荡者等级。

''心智灵活(Slippery Mind,特异能力):''7级起,如果影舞者受到惑控系法术或效果影响,并在豁免检定中失败,他可以在一轮后再次尝试检定,DC不变。在豁免检定上他只有这一次额外机会。如果豁免失败,效果正常发生。

''精通反射闪避(Improved Evasion,特异能力):''10级开始,影舞者的反射闪避能力(见上文)更加精进。有些攻击效果若通过反射豁免仍会造成一半伤害,此时影舞者若通过反射豁免则完全不会受伤,而若未通过反射豁免,也只会受到一半伤害。

''战栗(Shaken):''战栗的人物在所有攻击检定、豁免、技能检定和属性检定上有-2减值。战栗不如[[惊惧|Frightened(惊惧)]]和[[恐慌|Panicked(恐慌)]]那么激烈。

 
!!!蔓生术(Shambler)
|咒法系 (创造)|
|''等级:''德鲁伊 9,植物 9|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''至少三个蔓生怪,每两个之间不超过30英尺;见正文|
|''持续时间:''七天或七月(可解消);见正文|
|''豁免:''无|
|''法术抗力:''不可|
|蔓生术可造出1d4+2个蔓生怪(shambling mound),每个11HD。它们会在战斗中协助你,完成特定任务,或作为贴身保镖。只要你不解消它们,它们可以在你身边逗留七天。若它们的任务仅仅是护卫,则可以逗留七个月。在这种情况下,蔓生怪只能被命令护卫制定地点或场所。为护卫而造成的蔓生怪不可离开法术距离,该距离这从它们的首次出现位置算起。|
|仅在下雨、沼泽或湿地环境中的蔓生怪才与普通蔓生怪一样对火有抗力。|
!!Shambling Mound(蔓生怪)

''大型植物''

|''生命骰:'' 8d8+24(60hp)|
|''先攻权:'' +0|
|''速度:'' 20尺(4格),游泳20尺|
|''防御等级:'' 20(-1体型,+11天生),接触9,措手不及20|
|''基本攻击/擒抱:'' +6/+15|
|''攻击:'' 挥击+11近战(2d6+5)|
|''全回合攻击:'' 2挥击+11近战(2d6+5)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' 精通攫抓,紧勒2d6+7|
|''特性:'' 黑暗视觉60尺,对电免疫,昏暗视觉,植物特性,对火焰抗力10|
|''豁免:'' 强韧+9,反射+2,意志+4|
|''属性:'' 力量21,敏捷10,体质17,智力7,感知10,魅力9|
|''技能:'' 躲藏+3*,聆听+8,潜行+8|
|''专长:'' 钢铁意志,猛力攻击,专攻武器(挥击)|
|''环境:'' 温带沼泽|
|''组织:'' 单独|
|''挑战等级:'' 6|
|''宝物:'' 1/10钱币,50%工艺品,50%物品|
|''阵营:'' 通常是中立|
|''进化:'' 9-12HD(大型);13-24HD(超大型)|
|''等级调整:'' +6|

蔓生怪,又名踉跄者,看起来像是成堆的腐烂蔬菜。但实际上它们是智慧的食肉植物。

蔓生怪的脑和感知器官位于其身体上部。

蔓生怪的腰围有8尺,站立时高约6尺。它重约3800磅。

!!!战斗
蔓生怪使用其两只像手臂的巨大肢体打击或紧勒对手。

''精通攫抓 (Ex):''使用此能力之前,蔓生怪的两次挥击攻击必须都击中对手。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。如果它成功将对手定身,就可以展开紧勒。

''紧勒 (Ex):''蔓生怪一旦通过擒抱检定就可造成2d6+7点伤害。

''对电免疫 (Ex):''蔓生怪不会受到电伤害。任何用来对付蔓生怪的电攻击会使它暂时获得1d4点体质值。蔓生怪会以每小时1点的速度失去这些暂时属性值。

''技能:''在进行躲藏、聆听及潜行检定时蔓生怪可获得+4的种族加值。*在沼泽或森林区域进行躲藏检定时它可获得+12的种族加值。
!!!形体变化(Shapechange)
|变化系|
|''等级:''动物 9,德鲁伊 9,术士/法师 9|
|''法术成分:''言语,姿势,器材|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:'' 10分钟/等级|
|和变形术(polymorph)一样,不过你可以变成任何一个非独一无二的生物(可以是任何种类),体型可以从超微型到超巨型。你变成的生物HD不可超过你的施法者等级(最多25HD)。与变形术不同,你可以变成虚体或气态生物。|
|你可获得变形生物的所有特异和超自然能力(包括攻击和特性),但你会失去你本来的超自然能力。同时那种生物的种类会取代你的生物种类。新的形态不会使你迷惑。你的装备和部分身体就算与你分离也不会回复原状|
|你可以变成任何你熟悉的生物。你可以用一个即时动作在各形态间转换,每轮一次。这种变化可以在你的正常行动前后进行,但不能在动作中进行。如果你用此法术易容,则你的易容检定获得+10的加值。|
|//器材成分://价值不低于1,500金币的玉环,在施法时放置在头上。(当你变换形态时,它会与你的新形态合而为一。)|
''变形生物(Shapechanger)亚种:''变形生物具有种超自然能力能让自己呈现出一种或多种变化形态。许多魔法效果都可以做到某种外形上的改变,而并非所有能改变外形的生物都具有变形生物亚种。

//特性://变形生物拥有下列特性(除非生物描述中另有说明)。

*熟练使用它的天生武器、简单武器和它的说明中所提到的任意武器。

*熟练使用任何和它描述中所穿戴盔甲同类的盔甲(轻、中或重甲),以及比该盔甲轻的盔甲。说明中没有提到穿戴盔甲的变形生物不能熟练使用盔甲。熟练使用任一盔甲的变形生物可以熟练使用盾牌。
|!		|!	中型鲨 (Shark, Medium)	|!	大型鲨 (Shark, Large)	|!	巨型鲨 (Shark,Huge)	|
|!		|!	中型动物 (水生)	|!	大型动物 (水生)	|!	超大型动物 (水生)	|
|^	''生命骰:''	|^	3d8+3 (16 hp)	|^	7d8+7 (38 hp)	|^	10d8+20 (65 hp)	|
|^	''先攻权:''	|^	+2	|^	+6	|^	+6	|
|^	''速度:''	|^	游泳60尺 (12格)	|^	游泳60尺 (12格)	|^	游泳60尺 (12格)	|
|^	''防御等级:''	|^	15 (+2敏捷,+3天生),接触12,措手不及13	|^	15 (-1体型,+2敏捷,+4天生),接触11,措手不及13	|^	15 (-2体型,+2敏捷,+5天生),接触10,措手不及13	|
|^	''基本攻击/擒抱:''	|^	+2/ +3	|^	+5/ +12	|^	+7/ +20	|
|^	''攻击:''	|^	啮咬 +4 近战 (1d6+1)	|^	啮咬 +7 近战 (1d8+4)	|^	啮咬 +10 近战 (2d6+7)	|
|^	''全回合攻击:''	|^	啮咬 +4 近战 (1d6+1)	|^	啮咬 +7 近战 (1d8+4)	|^	啮咬 +10 近战 (2d6+7)	|
|^	''面宽/触及:''	|^	5尺/ 5尺	|^	10尺/ 5尺	|^	15尺/ 10尺	|
|^	''特殊攻击:''	|^	-	|^	-	|^	-	|
|^	''特性:''	|^	盲感,嗅觉异常灵敏	|^	盲感,嗅觉异常灵敏	|^	盲感,嗅觉异常灵敏	|
|^	''豁免检定:''	|^	强韧+4,反射+5,意志+2	|^	强韧+8,反射+7,意志+3	|^	强韧+11,反射+9,意志+4	|
|^	''属性:''	|^	力量13,敏捷15,体质13,智力1,感知12,魅力2	|^	力量17,敏捷15,体质13,智力1,感知12,魅力2	|^	力量21,敏捷15,体质15,智力1,感知12,魅力2	|
|^	''技能:''	|^	聆听+6,侦察+6,游泳+9	|^	聆听+8,侦察+7,游泳+11	|^	聆听+10,侦察+10,游泳+13	|
|^	''专长:''	|^	警觉,武器娴熟	|^	警觉,强韧加强,精通先攻	|^	警觉,强韧加强,精通先攻,钢铁意志	|
|^	''环境:''	|^	寒冷的水域	|^	寒冷的水域	|^	寒冷的水域	|
|^	''组织:''	|^	单独,成队 (2-5),或成群 (6-11)	|^	单独,成队 (2-5),或成群 (6-11)	|^	单独,成队 (2-5),或成群 (6-11)	|
|^	''挑战等级:''	|^	1	|^	2	|^	4	|
|^	''进化:''	|^	4-6HD (中型)	|^	8-9HD (大型)	|^	11-17HD (超大型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


这些食肉性的鱼类极具攻击性,即使没受到挑衅也会攻击任何接近它们的生物。

稍小的鲨有5到8尺长,且通常对不属于其猎物的生物无害。大型鲨体长可达15尺,是个很可怕的威胁。巨型鲨则是真正的怪物,像大白鲨,其体长可达20尺。

!!!战斗
鲨会洄游并观察可能的猎物,然后突然冲过去用其强力的颚进行啮咬。

''盲感 (Ex):''鲨在水下可以定位半径30尺范围内的生物。此能力只有在鲨处于水下时才有效。

''嗅觉异常灵敏 (Ex):''鲨能通过嗅觉发现半径180尺范围内的生物,并且可以侦测到1英里范围内水中的血腥味。

''技能:''在进行游泳检定做出特殊动作或躲避危险时,鲨可获得+8的种族加值。它可以在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。
!!!粉碎音波(Shatter)
|塑能系[音波]|
|''等级:''吟游诗人 2,混乱 2,牧师 2,破坏 2,术士/法师 2|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''区域或目标:''半径5英尺扩散范围;或一件固体物;或一个晶体生物|
|''持续时间:''立即|
|''豁免:''意志,通过则无效 (物体),或强韧通过则效果减半;见正文|
|''法术抗力:''可 (物体)|
|粉碎音波发出一阵巨大而尖锐的噪声,足以破坏易碎的非魔法物品,震裂一件固体非魔法物品,或是伤害晶体生物。|
|作为区域攻击时,此法术可破坏范围内所有易碎的非魔法物品,包括水晶、玻璃,陶器和瓷器。从源发点算起5英尺范围内的此类物品都会被这个法术震成一堆碎片。重量超过每你施法者等级1磅的物品不受影响,但其他含以上部件的物体都会受影响。|
|你也可以向一个不论什么材质的固体物施展粉碎音波,其重量不可超过10磅/施法者等级。若是针对晶体生物(不论其重量多少),粉碎音波都对其造成1d6/施法者等级的音波伤害(最多10d6),对方若通过强韧检定,则伤害减半。|
|//奥术材料成分:// 一片云母。|
''Shatterspike(粉碎者):''
对没有精通击破武器专长的使用者来说粉碎者只是一把+1长剑;有此专长的人使用粉碎者击破武器时,攻击对抗掷骰会获得+4加值(包含了原有的+1增强值)。如果成功,粉碎者对目标武器造成1d8+4再加上使用者力量调整值的伤害(目标武器的硬度仍然需要计算在内)。粉碎者在伤害武器时,其增强加值可以为+4或更低。

强烈塑能系灵光;CL13;力量13,制造魔法武器和防具,猛力攻击,精通击破武器,粉碎音波(shatter);价格4315金币;制造花费2315金币+160经验值;重4磅。
!!Shield Guardian(盾卫者)

''大型构装生物''

|''生命骰:'' 15d10+30(112HP)|
|''先攻权:'' +0|
|''速度:'' 30尺(6格)|
|''防御等级:'' 24(-1体形,+15天生),接触9,措手不及24|
|''基本攻击/擒抱:'' +11/+21|
|''攻击:'' 挥击+16近战(1d8+6)|
|''全回合攻击:'' 2挥击+16近战(1d8+6)|
|''面宽/触及:'' 10尺/10尺|
|''特殊攻击:'' —|
|''特性:'' 构装特性,黑暗视觉60尺,快速治疗5,寻找主人,护主,昏暗视觉,防护他人,囤法|
|''豁免:'' 强韧+5,反射+5,意志+5|
|''属性:'' 力量22,敏捷10,体质—,智力—,感知10,魅力1|
|''环境:'' 任何|
|''组织:'' 单独|
|''挑战等级:'' 8|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 16-24HD(大型);25-45HD(超大型)|
|''等级调整:'' —|


被施法者制造来作为保镖,盾卫者用法术和耐用的身躯来保护主任.从被制造时开始,盾卫者就与一个特定的护符联系起来.之后,它就将该护符的佩戴者视为自己的主人,保护并跟随该个体到任何地方(除非被特意命令不许).

尽管除了战斗和简单的手工劳动外没多少长处,盾卫者仍会尽自己所能去遵从主人的口头命令. 在某些特殊条件下它们也能去执行一些特殊任务. 护符的穿戴者可以在任意距离呼唤盾卫者, 并且只要在同一位面内,就会尽可能赶到.

一个盾卫者高约9尺,重量超过1200磅.

盾卫者不会说话,但它们能理解用任何语言发出的指令.

!!!战斗
盾卫者在战斗中总是勇往直前,用他们沉重的石拳打击敌人.他们为防守而生,但进攻就不那么引人注目.

''寻找主人(超自然):''只要盾卫者和护符处在同一位面,盾卫者总可以找到主人(若护符在盾卫者被呼唤后被移除,则只找到护符).

''护主(特异): ''若被命令如此,盾卫者将以保护护符的佩带者,抵挡攻击并且阻挠对手.当盾卫者与它的主人邻接时,所有对护符佩带者的攻击将受到-2减值.

''防护他人(类法术):''若与盾卫者相距不超过100尺,护符的佩带者就可以激活这个防护能力.与同名法术相同,此能力将护符佩带者将受到的伤害的一半转移给盾卫者(此能力不提供该法术的AC和豁免加值).

''囤法(类法术):''一个盾卫者可以储存一个由其他生物施与的不高于4级的法术.当被命令或预设情况发生时它将"施放"这个法术. 只要该法术被使用,盾卫者就可以储存另一个法术(或者同一个法术).

!!!构装
盾卫者由木材,青铜,石头和钢铁建造而成.这些材料价值5000gp.

主人可以自己组装躯体,也可以雇佣他人来制作.建造这个躯体需要进行一个DC16的手艺(锻造)或手艺(木工)检定. 用于联系的护符也在应同时制造,其成本(20000gp)已包括在盾卫者成本中.在躯体成型后,需要通过一个魔法仪式来使之活化.那需要一个特别准备的实验室或工作室,类似于炼金实验室,建立需要花费500gp.若制造者自己组装躯体,则建造和仪式可以同时进行. HD超过15的盾卫者是可以建造的,但每一个额外的生命骰会增加5000gp的市价,并且如果该生物的体形为超大型,则市价增加20000gp,以此类推. 

施法者等级15;制造构装体,有限祈愿术,感知位置,护盾术,防护他人,施法者至少必须15级;价格120000gp;花费65000gp+4600XP.

!!!护符
如果盾卫者的护符被摧毁,它将停止动作直到新的护符被制作出来.若佩带者死亡而护符完好,盾卫者将会执行最后一个给予它的命令. 

!!!虔诚护盾(Shield of Faith)
|防护系|
|''等级:''牧师 1|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''被接触的生物|
|''持续时间:'' 1分钟/等级|
|''豁免:''意志,通过则无效 (无害)|
|''法术抗力:''可 (无害)|
|此法术创造出一种闪着微光的魔法场,保卫着受术者以防御敌人的攻击。受术者的AC获得+2偏斜加值,同时施法者每6级多获得1点偏斜加值(最多在18级时获得+5偏斜加值)。|
|//材料成分://一小片写有神圣文字的羊皮纸|
!!!秩序护盾(Shield of Law)
|防护系[秩序]|
|''等级:''牧师 8,秩序 8|
|''法术成分:''言语,姿势,器材|
|''施法时间:''一个标准动作|
|''距离:''20 ft.|
|''目标:''以你为中心,半径20英尺爆发范围内的每等级一个生物|
|''持续时间:'' 1轮/等级(可解消)|
|''豁免:''见正文|
|''法术抗力:''可(无害)|
|一片淡淡的蓝光笼罩着受术者,帮助他们防护攻击,让他们抵抗来自混乱生物的法术,还可以让击中受术者的混乱生物进入缓慢(slowing)状态。这个变化会产生四种效果。|
|第一,被保护的生物AC获得+4偏斜加值,豁免检定获得+4抗力加值。不同于防护混乱(protection from chaos),这些加值适用于所有攻击,而非针对混乱阵营的生物。|
|第二,被保护的生物对混乱法术和由混乱生物施展的法术产生25点法术抗力。|
|第三,和防护混乱一样,此法术可阻挡心灵影响及附身效果。|
|最后,若混乱生物近战攻击检定成功,则会减速(和缓慢术(slow)一样,若通过意志检定,则不受影响,须使用秩序护盾的DC)。|
|//器材成分://一个呈载着圣物的微小圣物匣,如装有律法文字断简残章的小匣子。圣物匣价值至少500金币。|
!!!护卫他人(Shield Other)
|防护系|
|''等级:''牧师 2,圣武士 2,保护 2|
|''法术成分:''言语,姿势,器材|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个生物|
|''持续时间:''1小时/等级(可解消)|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可(无害)|
|此法术在你和受术者之间形成某种神秘的联结,使得他遭受的部分伤害可以转移到你身上。受术者的AC获得+1偏斜加值,豁免检定获得+1抗力加值。另外受术者所受的任何造成生命值损失的伤害均减半(包括由特殊能力造成的),剩下的部分则由施法者承受。不减少生命值的伤害,比如魅惑、暂时性属性伤害、吸取等级及死亡效果则不受影响。若受术者的生命值因体质降低而减少,施法者亦不受影响。法术结束后,施法者不再承受受术者所受伤害,但已吸收的伤害也不会转回受术者身上。|
|一旦你和受术者之间的距离超出施法距离,则法术结束。|
|//器材成分://一对白金戒指(每只至少50金币),分别戴在你和受术者身上。|
!!! 擅长盾牌(SHIELD PROFICIENCY)[一般专长]

''效果:''使用盾牌时只受到标准的惩罚。

''正常:''当使用不擅长的盾牌时,攻击检定以及所有移动相关的技能检定(包括骑术)都会有盾牌的防具检定减值。

''特殊:''野蛮人、吟游诗人、牧师、德鲁伊、战士、圣武士和巡林客自动获得本专长而无需选择。

!!!护盾术(Shield)
|防护系[[力场]|
|''等级:''术士/法师 1|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''1分钟/等级(可解消)|
|护盾术可造出隐性、可移动、如塔盾般大小的力场碟在你前方盘旋。它可以抵挡射向你的魔法飞弹(magic missile),并使你的AC获得+4的盾牌加值。此加值可用于虚体的接触攻击,因为这是一种力场效果。造出的护盾没有防具检定减值或奥术失效几率。同普通塔盾不同,你不能用它来做掩蔽。|
''Shifter’S Sorrow(希夫特的悲伤):''
这把+1/+1双头剑的剑刃是银制的。武器攻击任何有变形能力的生物时会造成额外2d6点伤害。生物若在变形态时(例如使用了自然变身的德鲁伊)受到该武器的攻击,则必须进行DC15的意志豁免检定,失败则变回它自然的状态。

强烈变化系灵光;CL15;制造魔法武器和防具,恶意变形术(baleful polymorph);价格12780金币;制造花费6780金币+480经验值;重10磅。
!!!橡棍术(Shillelagh)
|变化系|
|''等级:''德鲁伊 1|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''一根被接触的非魔法橡木棒或木杖|
|''持续时间:'' 1分钟/等级|
|''豁免:''意志,通过则无效 (物体)|
|''法术抗力:''可(物体)|
|你自己的非魔法木棒或木杖在攻击和伤害检定上获得+1的增强加值。(木杖的两端都会被加强。)它的伤害相当于大两级的武器(小型木棒、木杖造成1d8点伤害,中型的造成2d6点伤害,大型的造成3d6点伤害),并且有+1的增强加值。这些效果仅在武器为你所用时有效。当不由你使用时,它的表现与未受法术影响一样。|
''Shock(电击):''
一旦被下令启动,电击武器便被电流包覆。这电流不会伤害使用者。其效果一直持续到使用者再次对武器下令。攻击成功时,电击武器造成额外1d6点电击伤害。弓、弩和投石索自动将火的能量灌注在其发射的弹药中。

中等塑能系灵光;CL8;制造魔法武器和防具,召雷术(call lightning)或闪电束(lightning bolt);价格+1加值。
!!Shocker Lizard(电蜥蜴)

''小型魔法兽''

|''生命骰:'' 2d10+2(13hp)|
|''先攻权:'' +6|
|''速度:'' 40尺(8格),攀爬20尺,游泳20尺|
|''防御等级:'' 16(+1体型,+2敏捷,+3天生),接触13,措手不及14|
|''基本攻击/擒抱:'' +2/-2|
|''攻击:'' 啮咬+3近战(1d4)|
|''全回合攻击:'' 啮咬+3近战(1d4)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 震慑电击,致命电击|
|''特性:'' 黑暗视觉60尺,对电敏感,对电免疫,昏暗视觉|
|''豁免:'' 强韧+4,反射+5,意志+1|
|''属性:'' 力量10,敏捷15,体质13,智力2,感知12,魅力6|
|''技能:'' 攀爬+11,躲藏+11,跳跃+7,聆听+4,侦察+4,游泳+10|
|''专长:'' 精通先攻|
|''环境:'' 温暖的沼泽|
|''组织:'' 单独,成对,成队(3-5),或成群(6-11)|
|''挑战等级:'' 2|
|''宝物:'' 1/10钱币,50%工艺品,50%物品|
|''阵营:'' 总是中立|
|''进化:'' 3-4HD(小型);5-6HD(中型)|
|''等级调整:'' -|


电蜥蜴身体下方呈浅灰色或蓝色,至其背部逐渐变暗。它的背部和尾部上有蓝黑色的斑纹。

电蜥蜴肩高约1尺,重约25磅。

!!!战斗
电蜥蜴依赖其电击能力进行战斗。电蜥蜴只有在其电击使其对手昏迷或者完全无效时才会啮咬对手。单独一只电蜥蜴会在放出电击之后逃走,但如果周围有其他电蜥蜴的话,它们会伙同同伴一起给予敌人致命的电击。

''震慑电击 (Su):''每轮一次,电蜥蜴可以电击5尺范围内的一名对手。此攻击会对活着的生物造成2d8点淤伤 (通过DC 12的反射豁免检定则伤害减半)。该豁免检定DC基于体质调整值。

''致命电击 (Su):''当两只或以上的电蜥蜴彼此相距在25尺范围内时,它们就可以一起合作来产生致命电击。此效果作用半径为20尺,其中心点可以是任意一只参与其中的电蜥蜴。每只参与其中的电蜥蜴都可为此电击增加2d8点电伤害,最多可达12d8点。成功通过反射豁免检定 (DC 10 + 参与的电蜥蜴数量)则伤害减半。

''对电敏感 (Ex):''电蜥蜴可自动侦测到100尺范围内的任何发电现象。

''技能:''因为其肤色,电蜥蜴在进行躲藏检定时可获得+4的种族加值。在进行聆听和侦察检定时电蜥蜴可获得+2的种族加值。

在进行攀爬和跳跃检定时电蜥蜴可使用其敏捷调整值代替力量调整值。

在进行攀爬检定时电蜥蜴可获得+8的种族加值,并且可以在做攀爬检定时总是取10,哪怕在很匆忙或受到威胁时也一样。

在进行游泳检定来做出特殊动作或躲避危险时,电蜥蜴可获得+8的种族加值。它可在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。 
''Shocking Burst(电爆):''
电爆武器的作用方式和电击武器一样,除此之外在造成重击时还会爆发出不会伤害使用者的强大电流。电爆武器除了能像电击武器一样产生额外的电击伤害(见上文)外,重击时还会再造成1d10点电属性伤害。如果武器的重击倍数为x3,则再增加2d10点火焰伤害;如果是x4,则再增加3d10点。弓、弩和投石索自动将火的能量灌注在其发射的弹药中。

即使电爆能力未被启动,武器也仍然能在重击时造成额外的电属性伤害。

中等塑能系灵光;CL10;制造魔法武器和防具,召雷术(call lightning)或闪电束(lightning bolt);价格+2加值。

!!!电爪(Shocking Grasp)
|塑能系[电击]|
|''等级:''术士/法师 1|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:'' 被接触的生物或物品|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''可|
|若近战接触攻击检定成功,则你可造成每施法者等级1d6的电击伤害(最多5d6点)。对穿着金属盔甲(或由金属制成,或携带大量金属物品)的敌人攻击有+3加值。|
''Shooting Stars(流星):''此戒指依情况有两组不同功用,但都只能在黑暗中生效。

晚上在室外时,“流星戒指”可有下列功用:

*“舞光术”(每小时一次)
*“光亮术”(每晚两次)
*闪电球(特殊能力,每晚一次)
*流星击(特殊能力,每周三个)

闪电球可放出一至四颗球状闪电(由穿戴者决定)。这些发光球体的效果如同“舞光术”,穿戴者可用相同方式控制它们(见《玩者手册》“舞光术”的说明)。这些球体的距离是120英尺,持续时间4轮,每轮可移动120英尺。每个球体直径3英尺,若有生物进入闪电球5英尺范围内,它就会放出电光,使该生物受到电击伤害,伤害大小视闪电球数目而定。

一旦启动闪电球功能,在日出前可随时放出闪电球(一轮内可放出一个以上的闪电球)。

流星击会射出带著彗尾的投射物,效果类似“流星爆”法术。它会造成12点冲击伤害,半径5英尺扩散范围内,会造成24点火焰伤害。每周可放出三颗流星,可同时放出,亦可分别发射。
除非通过反射检定(DC=13),否则遭流星击中者得承受全数冲击伤害与扩散造成的火焰伤害。未被击中但在扩散范围内的生物不会受到冲击伤害,但会受到火焰伤害,通过反射检定(DC=13)则伤害减半。流星的距离是70英尺,击中任何生物、物体或到达距离限制时就会爆炸。流星一定是以直线移动,在移动路径上的生物若未通过上述豁免检定就会被击中。

在地底或夜晚的屋内时,“流星戒指”有下列功用:

*“妖火”(每天两次)
*火星雹(特殊能力,每天一次)

火星雹会从戒指放出紫色灼热火星,影响区域为半径20英尺、弧长10英尺的扇形面积。此范围内的生物若穿戴金属盔甲或持有金属武器,会遭受4d8点伤害;若未穿戴金属盔甲且未持有金属武器,则遭受2d8点伤害。

施法者等级:12。先决条件:“锻造戒指”,“光亮术”、“妖火”、“闪电束”、“流星爆”。交易价格:50000金币。
!!! 移动射击(SHOT ON THE RUN)[一般专长]

''先决条件:''敏捷13、闪避、灵活移动、近程射击、基本攻击加值+4。

''效果:''当你使用远程武器做攻击动作时,在攻击前和攻击后都可移动,但移动总距离不能超过你的速度。

''特殊:''战士可以选择本专长作为其战士奖励专长。

!!!高等咆哮术(Shout, Greater)
|塑能系 [音波]|
|''等级:''吟游诗人 6,术士/法师 8|
|''法术成分:''言语,姿势,器材|
|''距离:''60 ft.|
|''豁免:''强韧,通过则部分生效;或反射,通过则无效(物体);见正文|
|与咆哮术相同,不过此法术可造成10d6点音波伤害(对暴露的易碎物、晶质物或晶体生物造成每施法者等级1d6音波伤害,最多20d6)。它还会使生物震慑1轮,耳聋4d6轮。强韧豁免成功则生物不会被震慑,且耳聋时间和所受伤害减半。手持易碎物品的生物可通过反射检定以使其免受伤害。|
|//奥术器材成分://一支金属或象牙小号角。|
!!!咆哮术(Shout)
|塑能系 [音波]|
|''等级:''吟游诗人 4,术士/法师 4|
|''法术成分:''言语|
|''施法时间:''一个标准动作|
|''距离:''30 英尺|
|''区域:''锥状爆发区域|
|''持续时间:''立即|
|''豁免:''强韧,通过则部分生效;或反射,通过则无效(物体);见正文|
|''法术抗力:''可(物体)|
|你发出震耳欲聋的咆哮,声音所及之处生物均被震聋且受到伤害。影响区域内的生物耳聋2d6轮,并受到5d6点音波伤害。豁免成功则不会耳聋且伤害减半。暴露的易碎物、晶质物或晶体生物受到每施法者等级1d6音波伤害(最多15d6)。晶体生物可通过强韧豁免以使伤害减半,手持易碎物品的生物可通过反射检定来使其不受伤害。|
|咆哮术无法穿透沉默术(silence)。|
!!!缩物术(Shrink Item)
|变化系|
|''等级:''术士/法师 3|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''被接触的物体,体积不超过2立方英尺/等级|
|''持续时间:'' 1天/等级;见正文|
|''豁免:''意志,通过则无效(物体)|
|''法术抗力:''可 (物体)|
|你可将体积在限制范围的一件非魔法物体在各方面缩小至1/16(这使得它的体积和质量缩小至1/4,000)。这种变化会导致物体的体型减小4个等级。你还可以将被缩小物体上的部分构造变得和布料差不多。只要将被缩小物体放在任何固体表面,或者由原施法者下令,它即可回复为原本的尺寸和材质。燃烧中的火焰及其燃料也可变小。物体变回原状后,法术即告结束。|
|缩物术可通过魔法恒定术(permanency)使之永久化,此时物体可以多次变小再还原,但只能由原施法者下令。|
Shrouds of Disintegration: These burial wrappings look to be made of fine, embroidered materials. When a body is placed inside, a command word will turn it to dust. The magic of the shrouds is usable only once, after which the wrappings become ordinary, fine cloth.

Strong transmutation; CL 15th; Craft Wondrous Item, disintegrate; Price 6,600 gp; Weight 10 lb.
''恶心(Sickened):''人物在所有攻击检定、伤害掷骰,豁免、技能检定和属性检定上有-2减值。

 
!!!沉默术(Silence)
|幻术系(五官幻觉)|
|''等级:''吟游诗人 2,牧师 2|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''远距(400英尺+40英尺/每等级)|
|''区域:''以某生物、物体或空间中一点为中心,半径20英尺的弥漫范围|
|''持续时间:'' 1分钟/等级(可解消)|
|''豁免:''意志通过则无效,或无(物体)|
|''法术抗力:''可(见正文);或不可(物体)|
|法术施展后,影响区域内陷入一片完全的静默。所有的声音都被阻止了:无法交谈,无法施展有言语成分的法术,任何声音都不会传入、传出或穿过此区域。法术可施展于空间中的一点,但除非是施展于移动物体,否则影响区域不会移动。法术可施展在生物身上,此时影响区域将随生物移动而移动。非自愿的生物可以进行意志检定,也可使用法术抗力。可发声的魔法物品或被生物持有的物品亦可进行检定,但无主的物品不可进行检定,空间点也不可。此法术可以抵挡音波攻击或语言相关的攻击。|
!!!无声幻影(Silent Image)
|幻术系 (虚假幻觉)|
|''等级:''吟游诗人 1, 术士/法师 1|
|''法术成分:''言语,姿势,器材|
|''施法时间:''一个标准动作|
|''距离:''远距(400英尺+40英尺/每等级)|
|''效果:''视觉幻像,范围不能超过为4个边长10英尺的立方体+每等级1个边长10英尺的立方体(可变)|
|''持续时间:''专注|
|''豁免:''意志,通过则不相信(如果发生互动)|
|''法术抗力:''不可|
|你可以根据想象造出一个物体、生物或力场的视觉幻象。影像没有声音,气味,表面触感和体温。你可以在法术效果范围内移动影像。|
|//器材成分://少量羊毛。|
''高等蹑行:''潜行检定时获得+15能力加值,其余和蹑行一样。

中等幻术系灵光;CL15;制造魔法武器和防具,沉默术(Silence);价格+33750金币。
''强化蹑行:''潜行检定时获得+10能力加值,其余和蹑行一样。

中等幻术系灵光;CL10;制造魔法武器和防具,沉默术(Silence);价格+15000金币。
''蹑行:''这种盔甲浸过油,且在魔法的作用下,它不但发出的声响很小,还能降低周围环境的声音。穿戴者进行潜行检定时获得+5能力加值。(盔甲的防具检定减值仍然正常作用。)

微弱幻术系灵光;CL5;制造魔法武器和防具,沉默术(Silence);价格+3750金币。
!!! 法术默发(SILENT SPELL)[超魔专长]

''效果:''搭配此专长时,不需言语成分即可施法。原本就不需言语成分的法术不受影响。默发的法术需占用高于原本一个等级的法术位。

''特殊:''吟游诗人的法术不能搭配此专长。


''Silver Dagger, Masterwork(精制品银匕首):''
这把精制品银匕首不含魔法。作为一件精制品武器,它的攻击检定有+1增强加值。

无魔法灵光(不含魔法);价格332金币。
''Silver Raven白银渡鸦'':活化后成为渡鸦(但仍保有银的质地,硬度10)。使用另一个指令可使其飞向空中,进行送信工作,效果如同“动物使者”法术。即使未进行送信工作,它仍听从使用者命令,但不具备任何特殊能力或心灵感应能力。每周使用时间不能超过24小时,但使用时间不须连续。

施法者等级:6。先决条件:“制造奇物”,“动物使者”。交易价格:3800金币。
''Silversheen(炼银软膏)'': 该物质能够被涂抹在一把武器上(这属于一个标准动作)。它将提供给武器炼银材质武器的效果持续一小时。对于远程弹药,一份该物质可以涂抹20单位的远程武器弹药。

CL 5; Craft Wondrous Item; Price 250 gp.
!!! 擅长简易武器(SIMPLE WEAPON PROFICIENCY)[一般专长]

''效果:''你能正常的用简易武器做攻击检定。

''正常:''使用不擅长的武器进行攻击时,攻击检定有-4减值。

''特殊:''除了德鲁伊、武僧和法师外,其他职业自动擅长全部简易武器。他们无需选择本专长。

!!!拟象术(Simulacrum)
|幻术系(幽影幻觉)|
|''等级:''术士/法师 7|
|''法术成分:''言语,姿势,材料,经验值|
|''施法时间:''12小时|
|''距离:''0 英尺|
|''效果:''一个复制生物|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''不可|
|拟象术可造出任何生物的复制幻象。复制品是部分真实的,它由冰雪所构成。它与原生物看起来一样,但是只有原生物一半的等级或HD(以及受等级或HD影响的生命、专长、技能等级、特异能力)。原生物等级或HD不可高于你施法者等级的两倍。你需通过易容检定来决定你的复制品与原生物有多相似。熟悉原生物的生物可以通过侦察检定来察觉幻术(与施法者的易容检定对抗)或是通过DC 20的察言观色检定来查知幻术。|
|在任何时候这个幻象都完全服从你的指令。你和它之间没有特殊的心灵联结,因此命令必须以其它方式发布。幻象无法变得更强大,它也不能升级或增加属性。如果它生命值降到0或被摧毁就会化作冰雪继而迅速消融。要修复幻象至少需要24小时,每修复一点生命值需花费100金币,并且需要一间设备齐全的魔法实验室。|
|//材料成分://此法术须施展在冰雪制作的毛坯上,而且冰雪内必须放置有欲模拟对象身体的一部分(毛发、指甲等)。此外还需要价值为模拟对象的HDx100金币的红宝石。|
|//消耗经验值://欲模拟对象的HDx100点(至少1,000点)。|
<div class="tc-table-of-contents">

<<toc-selective-expandable 'TableOfContents'>>

</div>
骷髅是会活动的骨骸,遵循其邪恶主宰的命令而行动的没有心智的傀儡。

除了在被杀之际所穿盔甲的腐烂碎块外,这些不死生物很少带着其他东西。骷髅只执行它们接受的命令,它们没有自主的推断力。由于这个限制,给予他们的命令通常很简单。骷髅会一直战斗直到被摧毁。

!!!创造一个骷髅

“骷髅”是一个可以添加倒任何有骨架结构的实体生物(非不死生物)上的模板(以下将它简称为“基本生物”)。

体型和种类:生物种类变为不死生物。它依然保留其非阵营(例如善良)和非外型的子类别。它不会得到额外的子类别。除此之外,它将使用基本生物的资料列及特殊能力,除了以下几点:

''生命骰:''失去所有由职业等级而获得的生命骰(最少剩余一)并且提升余下的生命骰至d12。若该生物拥有20个以上的生命骰,它便不能由“操控死尸”法术来变成骷髅。

''速度:''有翼骷髅不能使用它们的翅膀来飞行。若基本生物能使用魔法力量来飞行,则其骷髅亦然。

''防御等级:''天生防御加值改为根据骷髅体型获得:

|!体型|!加值|
|超小型或更小|+0|
|小型|+1|
|中型或大型|+2|
|超大型|+3|
|巨型|+6|
|超巨型|+10|

''攻击:''骷髅保留其除了必须肉体才能进行的攻击以外的所有天生武器,人造武器攻击,以及武器熟练程度。拥有手的生物每只手都能获得一次爪抓攻击;骷髅也可以用它所有的攻击加值以其全部的爪各进行一次爪抓攻击。骷髅的基本攻击加值等同于其1/2生命骰。

''伤害:''天生武器和人造武器造成其通常伤害,爪抓攻击造成的伤害取决于骷髅的体型(若基本生物也能用手进行爪抓攻击,取其高者)。

|!体型|!伤害|
|微型或超微型|1|
|超小型|1d2|
|小型|1d3|
|中型|1d4|
|大型|1d6|
|超大型|1d8|
|巨型|2d6|
|超巨型|2d8|

''特殊攻击:''骷髅不保留基本生物的特殊攻击。

''特性:''骷髅会失去基本生物的大部分特性。它保留其增强近战和远程攻击的特异能力。骷髅同时获得下列特性:
  对寒冷免疫(Immunity to Cold,Ex):骷髅不会受到寒冷的影响。
  伤害减免5/钝击:骷髅缺少肌肉组织和脏器。

''豁免:''基础豁免变更为:强韧+1/3HD,反射+1/3HD,意志+1/2HD+2

''属性:''骷髅获得敏捷+2,它不具有体质和智力属性,其感知变为10,魅力变为1。

''技能:''骷髅没有技能。

''专长:''骷髅失去基本生物的所有专长同时获得精通先攻的专长。

''环境:''任何,通常同基本生物。

''组织:''任何

挑战等级:取决于生命骰,如下:


|!生命骰 |!挑战等级|
|1/2|1/6|
|1|1/3|
|2-3|1|
|4-5|2|
|6-7|3|
|8-9|4|
|10-11|5|
|12-14|6|
|15-17|7|
|18-20|8|


''宝物:''无

''阵营:''总是中立邪恶

''进化:''同基本生物(若基本生物进化根据职业等级则-)


|!		|!	人类战士骷髅(Human Warrior Skeleton)	|!	狼骷髅(Wolf Skeleton)	|!	枭头熊骷髅(Owlbear Skeleton)	|
|!		|!	中型不死生物	|!	中型不死生物	|!	大型不死生物	|
|^	''生命骰:''	|^	1d12(6hp)	|^	2d12(13hp)	|^	5d12(32hp)	|
|^	''先攻权:''	|^	+5	|^	+7	|^	+6	|
|^	''速度:''	|^	30ft(6格)	|^	50ft(10格)	|^	30ft(6格)	|
|^	''防御等级:''	|^	15(+1敏捷,+2天生,+2大铁盾),接触11,措手不及14	|^	15(+3敏捷,+2天生),接触13,措手不及12	|^	13(-1体型,+2敏捷,+2天生),接触11,措手不及11	|
|^	''基本攻击/擒抱:''	|^	+0/+1	|^	+1/+2	|^	+2/+11	|
|^	''攻击:''	|^	弯刀+1近战(1d6+1/18-20),或爪抓+1近战(1d4+1)	|^	啮咬+2近战(1d6+1)	|^	爪抓+6近战(1d6+5)	|
|^	''全回合攻击:''	|^	弯刀+1近战(1d6+1/18-20),或2爪抓+1近战(1d4+1)	|^	啮咬+2近战(1d6+1)	|^	2爪抓+6近战(1d6+5)以及啮咬+1近战(1d8+2)	|
|^	''面宽/触及:''	|^	5ft/5ft	|^	5ft/5ft	|^	10ft/5ft	|
|^	''特殊攻击:''	|^	-	|^	-	|^	-	|
|^	''特性:''	|^	伤害减免5/钝击,黑暗视觉60英尺,对寒冷免疫,不死生物特性	|^	伤害减免5/钝击,黑暗视觉60英尺,对寒冷免疫,不死生物特性	|^	伤害减免5/钝击,黑暗视觉60英尺,对寒冷免疫,不死生物特性	|
|^	''豁免检定:''	|^	强韧+0,反射+1,意志+2	|^	强韧+0,反射+3,意志+3	|^	强韧+1,反射+3,意志+4	|
|^	''属性:''	|^	力量13,敏捷13,体质-,智力-,感知10,魅力1	|^	力量13,敏捷17,体质-,智力-,感知10,魅力1	|^	力量21,敏捷14,体质-,智力-,感知10,魅力1	|
|^	''专长:''	|^	精通先攻	|^	精通先攻	|^	精通先攻	|
|^	''环境:''	|^	暖和的平原	|^	暖和的树林	|^	暖和的树林	|
|^	''组织:''	|^	任何	|^	任何	|^	任何	|
|^	''挑战等级:''	|^	1/3	|^	1	|^	2	|
|^	''宝物:''	|^	无	|^	无	|^	无	|
|^	''阵营:''	|^	总是中立邪恶	|^	总是中立邪恶	|^	总是中立邪恶	|
|^	''进化:''	|^	无	|^	3HD(中型);4-6HD(大型)	|^	6-8HD(大型);9-15HD(超大型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


|!		|!	巨魔骷髅(Troll Skeleton)	|!	奇美拉骷髅(Chimera Skeleton)	|!	双头巨人骷髅(Ettin Skeleton)	|
|!		|!	大型不死生物	|!	大型不死生物	|!	大型不死生物	|
|^	''生命骰:''	|^	6d12(39hp)	|^	9d12(58hp)	|^	10d12(65hp)	|
|^	''先攻权:''	|^	+7	|^	+6	|^	+4	|
|^	''速度:''	|^	30ft(6格)	|^	30ft(6格)	|^	40ft(8格)	|
|^	''防御等级:''	|^	14(-1体型,+3敏捷,+2天生),接触12,措手不及11	|^	13(-1体型,+2敏捷,+2天生),接触11,措手不及11	|^	11(-1体型,+2敏捷,+2天生),接触9,措手不及11	|
|^	''基本攻击/擒抱:''	|^	+3/+13	|^	+4/+12	|^	+5/+15	|
|^	''攻击:''	|^	爪抓+8近战(1d6+6)	|^	啮咬+7近战(2d6+4)	|^	钉头锤+10近战(2d6+6),或爪抓+10近战(1d6+6),或标枪+4远程(1d8+6)	|
|^	''全回合攻击:''	|^	2爪抓+8近战(1d6+6)以及啮咬+3近战(1d6+3)	|^	啮咬+7近战(2d6+4)以及啮咬+7近战(1d8+4)以及抵撞+7近战(1d8+4)以及2爪抓+2近战(1d6+2)	|^	2钉头锤+10近战(2d6+6),或2爪抓+10近战(1d6+6),或2标枪+4远程(1d8+6)	|
|^	''面宽/触及:''	|^	10ft/10ft	|^	10ft/5ft	|^	10ft/10ft	|
|^	''特殊攻击:''	|^	-	|^	-	|^	-	|
|^	''特性:''	|^	伤害减免5/钝击,黑暗视觉60英尺,对寒冷免疫,不死生物特性	|^	伤害减免5/钝击,黑暗视觉60英尺,对寒冷免疫,不死生物特性	|^	伤害减免5/钝击,黑暗视觉60英尺,对寒冷免疫,不死生物特性	|
|^	''豁免检定:''	|^	强韧+1,反射+3,意志+4	|^	强韧+3,反射+5,意志+6	|^	强韧+3,反射+3,意志+7	|
|^	''属性:''	|^	力量23,敏捷16,体质-,智力-,感知10,魅力1	|^	力量19,敏捷15,体质-,智力-,感知10,魅力1	|^	力量23,敏捷10,体质-,智力-,感知10,魅力1	|
|^	''专长:''	|^	精通先攻	|^	精通先攻	|^	精通先攻	|
|^	''环境:''	|^	寒冷的山脉	|^	暖和的丘陵	|^	寒冷的丘陵	|
|^	''组织:''	|^	任何	|^	任何	|^	任何	|
|^	''挑战等级:''	|^	3	|^	4	|^	5	|
|^	''宝物:''	|^	无	|^	无	|^	无	|
|^	''阵营:''	|^	总是中立邪恶	|^	总是中立邪恶	|^	总是中立邪恶	|
|^	''进化:''	|^	-	|^	10-13HD(大型);14-27HD(超大型)	|^	-	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


|!		|!	进化的猛禽龙骷髅(Advanced Megaraptor Skeleton)	|!	云巨人骷髅(Cloud Giant Skeleton)	|!	青年红龙骷髅(Young Adult Red Dragon Skeleton)	|
|!		|!	超大型不死生物	|!	超大型不死生物	|!	超大型不死生物	|
|^	''生命骰:''	|^	12d12(78hp)	|^	17d12(110hp)	|^	19d12(123hp)	|
|^	''先攻权:''	|^	+7	|^	+6	|^	+5	|
|^	''速度:''	|^	60ft(12格)	|^	50ft(10格)	|^	40ft(8格)	|
|^	''防御等级:''	|^	14(-2体型,+3敏捷,+3天生),接触11,措手不及11	|^	13(-2体型,+2敏捷,+3天生),接触10,措手不及11	|^	12(-2体型,+1敏捷,+3天生),接触9,措手不及11	|
|^	''基本攻击/擒抱:''	|^	+6/+19	|^	+8/+28	|^	+9/+27	|
|^	''攻击:''	|^	耙抓+9近战(2d8+5)	|^	巨型钉头锤+18近战(4d6+18),或爪抓+18近战(1d8+12),或岩石+8远程(2d8+12)	|^	啮咬+17近战(2d8+10)	|
|^	''全回合攻击:''	|^	耙抓+9近战(2d8+5)以及2爪抓+4近战(1d8+2)以及啮咬+4近战(2d6+2)	|^	巨型钉头锤+18近战(4d6+18),或2爪抓+18近战(1d8+12),或岩石+8远程(2d8+12)	|^	啮咬+17近战(2d8+10)以及2爪抓+12近战(2d6+5)以及2翼击+12近战(1d8+5)以及尾扫+12近战(2d6+15)	|
|^	''面宽/触及:''	|^	15ft/10ft	|^	15ft/15ft	|^	15ft/10ft	|
|^	''特殊攻击:''	|^	-	|^	-	|^	-	|
|^	''特性:''	|^	伤害减免5/钝击,黑暗视觉60英尺,对寒冷免疫,不死生物特性	|^	伤害减免5/钝击,黑暗视觉60英尺,对寒冷免疫,不死生物特性	|^	伤害减免5/钝击,黑暗视觉60英尺,对寒冷免疫,不死生物特性	|
|^	''豁免检定:''	|^	强韧+4,反射+7,意志+8	|^	强韧+5,反射+7,意志+10	|^	强韧+5,反射+7,意志+10	|
|^	''属性:''	|^	力量21,敏捷17,体质-,智力-,感知10,魅力1	|^	力量35,敏捷15,体质-,智力-,感知10,魅力1	|^	力量31,敏捷12,体质-,智力-,感知10,魅力1	|
|^	''专长:''	|^	精通先攻	|^	精通先攻	|^	精通先攻	|
|^	''环境:''	|^	热带树林	|^	暖和的山脉	|^	温带山脉	|
|^	''组织:''	|^	任何	|^	任何	|^	任何	|
|^	''挑战等级:''	|^	6	|^	7	|^	8	|
|^	''宝物:''	|^	无	|^	无	|^	无	|
|^	''阵营:''	|^	总是中立邪恶	|^	总是中立邪恶	|^	总是中立邪恶	|
|^	''进化:''	|^	13-16HD(巨型);17-20HD(超巨型)	|^	-	|^	20HD(巨型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|
!!! 技能专攻(SKILL FOCUS)[一般专长]

选择一个技能。

''效果:''所有该技能的检定都获得+3加值。

''特殊:''你可以多次选择此专长,但每次必须选择不同的技能。


!!Skum(鱼魔怪)

''中型异怪 (水生)''

|''生命骰:'' 2d8+2(11hp)|
|''先攻权:'' +1|
|''速度:'' 20尺(4格),游泳40尺|
|''防御等级:'' 13(+1敏捷,+2天生),接触11,措手不及12|
|''基本攻击/擒抱:'' +1/+5|
|''攻击:'' 啮咬+5近战(2d6+4)|
|''全回合攻击:'' 啮咬+5近战(2d6+4)及2爪抓+0近战(1d4+2)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 耙抓1d6+2|
|''特性:'' 黑暗视觉60尺,两栖|
|''豁免:'' 强韧+1,反射+1,意志+3|
|''属性:'' 力量19,敏捷13,体质13,智力10,感知10,魅力6|
|''技能:'' 躲藏+6*,聆听+6*,潜行+6,侦察+7*,游泳+12|
|''专长:'' 警觉|
|''环境:'' 地底|
|''组织:'' 成队(2-5),或成群(6-15)|
|''挑战等级:'' 2|
|''宝物:'' 无|
|''阵营:'' 通常是守序邪恶|
|''进化:'' 3-4HD(中型);5-6HD(大型)|
|''等级调整:'' +3|


鱼魔怪的身高体重与人类相似。

鱼魔怪会说水族语。

!!!战斗

''耙抓 (Ex):''攻击加值 +0 近战,伤害 1d6+2。在游泳时鱼魔怪也可以获得2次耙抓攻击。

''技能:''*在水下进行躲藏、聆听及侦察检定时鱼魔怪可获得+4的种族加值。

在进行游泳检定来做出特殊动作或躲避危险时,鱼魔怪可获得+8的种族加值。它可在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。 

!!!杀生术(Slay Living)
|死灵系 [死亡]|
|''等级:''牧师 5,死亡 5|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''被接触的活物|
|''持续时间:''立即|
|''豁免:''强韧,通过则部分有效|
|''法术抗力:''可|
|你可以杀死任何活物。你必须通过近战接触攻击成功的接触到对方,而对方可以通过强韧豁免来避免死亡。如果对方豁免成功,那么它只会受到3d6+每施法者等级1点伤害。|
''Slaying Arrow(追命箭):''
这种+1箭是某种特定类型生物的克星。被击中的特定类型生物必须进行DC20的强韧豁免检定,失败则立刻死亡(对非活物来说则是毁灭)。即使是一般不作强韧检定的生物(不死生物和构装生物)也无法逃脱这种攻击。当武器是某种活物的克星时,此效果为死亡效果(防死结界(death ward)可以保护目标)。决定武器所克生物的类型请参看下表。

高等追命箭的效果和追命箭相同,只是避免死亡的豁免DC改为23。

强烈死灵系灵光;CL13;制造魔法武器和防具,死亡一指(finger of death)(追命箭)或升阶死亡一指(finger of death)(高等追命箭);价格2282金币(追命箭)或4057金币(高等追命箭);制造花费1144金币5银币+91经验值(追命箭)或2032金币+162经验值(高等追命箭)。

|!	d%	|!敌人种类 |
|	01–05	|	异怪	|
|	06–09	|	动物	|
|	10–16	|	构装生物	|
|	17–22	|	龙	|
|	23–27	|	元素生物	|
|	28–32	|	精类生物	|
|	33–39	|	巨人	|
|	40	|	人形水栖生物	|
|	41–42	|	矮人	|
|	43–44	|	精灵	|
|	45	|	豺狼人	|
|	46	|	侏儒	|
|	47–49	|	地精亚种	|
|	50	|	半身人	|
|	51–54	|	人类	|
|	55–57	|	爬虫亚种	|
|	58–60	|	兽人	|
|	61–65	|	魔法兽	|
|	66–70	|	人形怪物	|
|	71–72	|	泥形怪	|
|	73	|	异界生物,气系亚种	|
|	74–76	|	异界生物,混乱亚种	|
|	77	|	异界生物,土系亚种	|
|	78–80	|	异界生物,邪恶亚种	|
|	81	|	异界生物,火系亚种	|
|	82–84	|	异界生物,善良亚种	|
|	85–87	|	异界生物,守序亚种	|
|	88	|	异界生物,水系亚种	|
|	89–90	|	植物	|
|	91–98	|	不死生物	|
|	99–100	|	虫类生物	|
''Sleep Arrow(昏睡箭):''
这种的+1箭的箭身和箭羽都是白色的。命中敌人时它能造成正常的伤害,而箭中包含的魔法力量则可以造成额外的瘀伤(伤害值与正常伤害的相同),并且目标需进行DC11的意志豁免检定,否则会睡着。

微弱附魔系灵光;CL5;制造魔法武器和防具,睡眠术(sleep);价格132金币;制造花费69金币5银币+5经验值。
!!!睡眠术(Sleep)
|惑控系 (胁迫)[影响心灵]|
|''等级:''吟游诗人 1,术士/法师 1|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1轮|
|''距离:''中距(100英尺+10英尺/每等级)|
|''区域:''半径十英尺爆发范围内的数个活物|
|''持续时间:'' 1分钟/等级|
|''豁免:''意志,通过则无效|
|''法术抗力:''可|
|睡眠术会使4HD及以下的生物陷入昏睡。低HD的生物会先受到影响。在HD相同的生物中,靠近法术源起点的生物会先受影响。剩下的HD若不足以影响其它生物则舍去不计。|
|睡眠中的生物陷入无助状态。它们会在受到拍击或是受伤时苏醒,但普通的声响不会唤醒它们。唤醒一个生物是标准动作(协助他人的一种应用方式)。|
|睡眠术对已昏迷的生物,构装体或不死生物无效。|
|//材料成分://一把细沙,玫瑰花瓣,或一只活蟋蟀。|
!!!雪风暴(Sleet Storm)
|咒法系(创造)[寒冷]|
|''等级:''德鲁伊 3,术士/法师 3|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''远距(400英尺+40英尺/每等级)|
|''区域:''柱状区域(半径40英尺,高20英尺)|
|''持续时间:''1轮/等级|
|''豁免:''无|
|''法术抗力:''不可|
|降下的冰雨遮蔽了所有视线(包括黑暗视觉),并且使得地面结冻。生物若要进入该区域或在区域内移动,需通过DC=10的平衡检定才能以半速移动。失败意味着无法移动,若失败5或者更多则会跌倒(参见平衡技能说明)。|
|冰雨会熄灭火炬和小火。|
|//奥术材料成分:// 一撮灰尘和几滴水。|
!! Sleight of Hand(手上功夫)(敏捷;需受训;防具检定减值)

''检定:''一次DC10的手上功夫检定可以让你把一个无人注意的硬币大小物品藏在手中。表演一个戏法中次要技艺(例如让一个硬币消失)的DC同样是10,除非有人正在留意那个东西去哪里了。

当你在附近有观察者的情况下使用该技能,你的技能检定要和观察者的侦察检定对抗。观察者的成功不会干扰你的行动,就如同你的行动没有被注意到一样。

你可以把一个小物品(包括一件轻武器或容易隐藏的远程武器,如飞镖、投石索或者手弩)藏在身上。你的手上功夫检定要和任何观察你的人物的侦察检定对抗,或者和正在搜查你的人物的搜索技能对抗。在后面的情况下,搜索者在搜索检定上获得+4加值,因为通常找东西比藏东西容易一些。匕首比大部分轻武器都容易隐藏,因此在用手上功夫检定来藏匿它时可以获得+2加值。特别小的物品,例如硬币或戒指,可以让你在用手上功夫检定藏匿它的时候获得+4加值,厚重或松垂的衣服(例如斗篷)给你该检定提供了+2加值。

拔出隐蔽的武器是一个标准动作,不会引发借机攻击。

如果你想从其他生物那里拿过来某些东西,你必须做一次DC20的手上功夫检定来得到它。对方做一次侦察检定来觉察你的这次尝试,该检定和你尝试偷取这件物品时所作的那次手上功夫检定结果进行对抗。对方检定成功则能发现这次尝试,不管你是否能获得该物品。

你还可以用手上功夫技能来取悦你的观众,如同使用表演技能一样。在这种情况下,你的“节目”包含了戏法、杂耍或其他类似要素。

|!	手上功夫DC 	|!	任务	|
|^	10	|^	把硬币大小物品藏在手中,让硬币消失	|
|^	20	|^	从别人那里拿一个小东西	|


''动作:''任何手上功夫检定通常都是一个标准动作。但是你可以在受到-20减值的情况下以一个自由动作来做一次手上功夫检定。

''重试:''可以,但是在先前的失败后,第二次对同一个目标的手上功夫检定(或者当你被一个已经觉察到你上次尝试的观察者监视的时候)将会使该任务的DC提高10。

如果你有巧手专长(Deft Hands),你在手上功夫上将获得+2加值。

''共效:''如果你在唬骗上级数达到5或者更多,你在手上功夫上将获得+2加值。

''未受训:''未受训的手上功夫检定就是一个敏捷检定。因为没有实际训练过,在任何DC超过10的手上功夫检定上你都不可能成功,除了把一件物品藏在身上。
''高等滑溜:''脱逃检定时获得+15能力加值,其余和滑溜一样。

中等幻术系灵光;CL15;制造魔法武器和防具,油腻术(Grease);价格+33750金币。
''强化滑溜:''脱逃检定时获得+10能力加值,其余和滑溜一样。

中等幻术系灵光;CL10;制造魔法武器和防具,油腻术(Grease);价格+15000金币。
''滑溜:''滑溜盔甲看上去涂满了油脂。穿戴者进行脱逃检定时获得+5能力加值。(盔甲的防具检定减值仍然正常作用。)

微弱幻术系灵光;CL5;制造魔法武器和防具,油腻术(Grease);价格+3750金币。
''Slippers of Spider Climbing(蛛行鞋)'': 穿上后可以在垂直平面行走,甚至可以在天花板上行走,穿戴者双手仍可自由活动,移动速度为20英尺。非常滑溜的平面(如冰面、涂布油或油脂的平面),仍无法以此鞋行走。此鞋每天可使用10分钟。

Faint transmutation; CL 4th; Craft Wondrous Item, spider climb; Price 4,800 gp;Weight 1/2 lb.
!!!缓慢术(Slow)
|变化系|
|''等级:''吟游诗人 3,术士/法师 3|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''1个生物/等级,每两个生物之间相距不超过30英尺|
|''持续时间:''1轮/等级|
|''豁免:''意志,通过则无效|
|''法术抗力:''可|
|受术者的移动、攻击均变得相当缓慢。缓慢生物每轮只能做一个移动动作或一个标准动作,但不能都作(也不能做整轮动作)。另外他在攻击检定、AC、反射豁免上得到-1的减值。他只能以半速移动(以5尺为单位,四舍五入),他的跳跃距离和其他情况下一样会因为速度的降低而受到影响。|
|缓慢术的效果不叠加。缓慢术可反制和解除加速术(haste)。|
|//材料成分://一滴糖浆。|
蛇的攻击性通常不强,遇到麻烦就会溜走。

''技能:''在进行躲藏、聆听及侦察检定时蛇可获得+4的种族加值,在进行平衡及攀爬检定时可获得+8的种族加值。蛇可以在攀爬检定中总是取10,即使在很匆忙或受到威胁时也一样。在进行攀爬和游泳检定时蛇使用其敏捷调整值代替力量调整值进行检定。在进行游泳检定做出特殊动作或躲避危险时,蛇可获得+8的种族加值。它可以在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。


!!!Constrictor Snake(蟒蛇 )

''中型动物''

|''生命骰:'' 3d8+6 (19 hp)|
|''先攻权:'' +3|
|''速度:'' 20尺 (4格),攀爬20尺,游泳20尺|
|''防御等级:'' 15 (+3敏捷,+2天生),接触13,措手不及12|
|''基本攻击/擒抱:'' +2/ +5|
|''攻击:'' 啮咬 +5 近战 (1d3+4)|
|''全回合攻击:'' 啮咬 +5 近战 (1d3+4)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 紧勒 1d3+4,精通攫抓|
|''特性:'' 灵敏嗅觉|
|''豁免:'' 强韧+4,反射+6,意志+2|
|''属性:'' 力量17,敏捷17,体质13,智力1,感知12,魅力2|
|''技能:'' 平衡+11,攀爬+14,躲藏+10,聆听+7,侦察+7,游泳+11|
|''专长:'' 警觉,健壮|
|''环境:'' 温暖的森林|
|''组织:'' 单独|
|''挑战等级:'' 2|
|''进化:'' 4-5HD (中型);6-10HD (大型)|
|''等级调整:'' -|


蟒蛇的攻击性不强,通常遇到麻烦会溜走。它们会为进食而狩猎,但不会尝试选择任何体型太大以致不能紧勒的生物作为一餐。

!!!!战斗
蟒蛇用嘴来攫取猎物,然后用其有力的身体挤压猎物。

''紧勒 (Ex):''一旦通过擒抱检定,蟒蛇就能对对手造成1d3+4点伤害。

''精通攫抓 (Ex):''使用此能力之前,蟒蛇必须通过其啮咬攻击击中对手。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。如果它成功将对手定身,就可以进行紧勒。


!!!Constrictor Snake, Giant(巨蟒 )

''超大型动物''

|''生命骰:'' 11d8+14 (63 hp)|
|''先攻权:'' +3|
|''速度:'' 20尺 (4格),攀爬20尺,游泳20尺|
|''防御等级:'' 15 (-2体型,+3敏捷,+4天生),接触11,措手不及12|
|''基本攻击/擒抱:'' +8/ +23|
|''攻击:'' 啮咬 +13 近战 (1d8+10)|
|''全回合攻击:'' 啮咬 +13 近战 (1d8+10)|
|''面宽/触及:'' 15尺/ 10尺|
|''特殊攻击:'' 紧勒 1d8+10,精通攫抓|
|''特性:'' 灵敏嗅觉|
|''豁免:'' 强韧+8,反射+10,意志+4|
|''属性:'' 力量25,敏捷17,体质13,智力1,感知12,魅力2|
|''技能:'' 平衡+11,攀爬+17,躲藏+10,聆听+9,侦察+9,游泳+16|
|''专长:'' 警觉,坚忍,技能专攻 (躲藏),健壮|
|''环境:'' 温暖的森林|
|''组织:'' 单独|
|''挑战等级:'' 5|
|''进化:'' 12-16HD (超大型);17-33HD (巨型)|
|''等级调整:'' -|

巨蟒比它小体型的同类更具攻击性,主要是因为它们需要大量的食物来生存。


!!!Viper Snake(毒蛇 )


|!		|!	超小毒蛇 (Snake, Tiny Viper)	|!	小毒蛇 (Snake, Small Viper)	|
|!		|!	超小型动物	|!	小型动物	|
|^	''生命骰:''	|^	1/4 d8 (1 hp)	|^	1d8 (4 hp)	|
|^	''先攻权:''	|^	+7	|^	+7	|
|^	''速度:''	|^	15尺 (3格),攀爬15尺,游泳15尺	|^	20尺 (4格),攀爬20尺,游泳20尺	|
|^	''防御等级:''	|^	17 (+2体型,+3敏捷,+2天生),接触15,措手不及14	|^	17 (+1体型,+3敏捷,+3天生),接触14,措手不及14	|
|^	''基本攻击/擒抱:''	|^	+0/ -11	|^	+0/ -6	|
|^	''攻击:''	|^	啮咬 +5 近战 (1外加毒素)	|^	啮咬 +4 近战 (1d2-2外加毒素)	|
|^	''全回合攻击:''	|^	啮咬 +5 近战 (1外加毒素)	|^	啮咬 +4 近战 (1d2-2外加毒素)	|
|^	''面宽/触及:''	|^	2-1/2尺/ 0尺	|^	5尺/ 5尺	|
|^	''特殊攻击:''	|^	毒素	|^	毒素	|
|^	''特性:''	|^	灵敏嗅觉	|^	灵敏嗅觉	|
|^	''豁免检定:''	|^	强韧+2,反射+5,意志+1	|^	强韧+2,反射+5,意志+1	|
|^	''属性:''	|^	力量4,敏捷17,体质11,智力1,感知12,魅力2	|^	力量6,敏捷17,体质11,智力1,感知12,魅力2	|
|^	''技能:''	|^	平衡+11,攀爬+11,躲藏+15,聆听+6,侦察+6,游泳+5	|^	平衡+11,攀爬+11,躲藏+11,聆听+7,侦察+7,游泳+6	|
|^	''专长:''	|^	精通先攻,武器娴熟	|^	精通先攻,武器娴熟	|
|^	''环境:''	|^	温带沼泽	|^	温带沼泽	|
|^	''组织:''	|^	单独	|^	单独	|
|^	''挑战等级:''	|^	1/ 3	|^	1/ 2	|
|^	''进化:''	|^	-	|^	-	|
|^	''等级调整:''	|^	-	|^	-	|


|!		|!	中毒蛇 (Snake, Medium Viper)	|!	大毒蛇 (Snake, Large Viper)	|!	超大毒蛇 (Snake, Huge Viper)	|
|!		|!	中型动物	|!	大型动物	|!	超大型动物	|
|^	''生命骰:''	|^	2d8 (9 hp)	|^	3d8 (13 hp)	|^	6d8+6 (33 hp)	|
|^	''先攻权:''	|^	+7	|^	+7	|^	+6	|
|^	''速度:''	|^	20尺 (4格),攀爬20尺,游泳20尺	|^	20尺 (4格),攀爬20尺,游泳20尺	|^	20尺 (4格),攀爬20尺,游泳20尺	|
|^	''防御等级:''	|^	16 (+3敏捷,+3天生),接触13,措手不及13	|^	15 (-1体型,+3敏捷,+3天生),接触12,措手不及12	|^	15 (-2体型,+2敏捷,+5天生),接触10,措手不及15	|
|^	''基本攻击/擒抱:''	|^	+1/ +0	|^	+2/ +6	|^	+4/ +15	|
|^	''攻击:''	|^	啮咬 +4 近战 (1d4-1外加毒素)	|^	啮咬 +4 近战 (1d4外加毒素)	|^	啮咬 +6 近战 (1d6+4外加毒素)	|
|^	''全回合攻击:''	|^	啮咬 +4 近战 (1d4-1外加毒素)	|^	啮咬 +4 近战 (1d4外加毒素)	|^	啮咬 +6 近战 (1d6+4外加毒素)	|
|^	''面宽/触及:''	|^	5尺/ 5尺	|^	10尺/ 5尺	|^	15尺/ 10尺	|
|^	''特殊攻击:''	|^	毒素	|^	毒素	|^	毒素	|
|^	''特性:''	|^	灵敏嗅觉	|^	灵敏嗅觉	|^	灵敏嗅觉	|
|^	''豁免检定:''	|^	强韧+3,反射+6,意志+1	|^	强韧+3,反射+6,意志+2	|^	强韧+6,反射+7,意志+3	|
|^	''属性:''	|^	力量8,敏捷17,体质11,智力1,感知12,魅力2	|^	力量10,敏捷17,体质11,智力1,感知12,魅力2	|^	力量16,敏捷15,体质13,智力1,感知12,魅力2	|
|^	''技能:''	|^	平衡+11,攀爬+11,躲藏+12,聆听+5,侦察+5,游泳+7	|^	平衡+11,攀爬+11,躲藏+8,聆听+5,侦察+6,游泳+8	|^	平衡+10,攀爬+11,躲藏+3,聆听+7,侦察+7,游泳+11	|
|^	''专长:''	|^	精通先攻,武器娴熟	|^	精通先攻,武器娴熟	|^	精通先攻,飞跑,专攻武器 (啮咬)	|
|^	''环境:''	|^	温带沼泽	|^	温带沼泽	|^	温带沼泽	|
|^	''组织:''	|^	单独	|^	单独	|^	单独	|
|^	''挑战等级:''	|^	1	|^	2	|^	3	|
|^	''进化:''	|^	-	|^	-	|^	7-18HD (超大型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


此类生物的体型差异很大。它们的攻击性不是很强,但通常在撤退之前会啮咬一下对手。

!!!!战斗
毒蛇依靠其剧毒的啮咬来杀死敌人及保卫自己。

''毒素 (Ex):''毒蛇那剧毒的啮咬攻击造成的初始及后续伤害皆为1d6点体质伤害。其豁免检定DC如下表所列,取决于毒蛇的体型。该豁免检定DC基于体质调整值。

|!体型|!强韧豁免检定DC|
|超小型|10|
|小型|10|
|中型|11|
|大型|11|
|超大型|14|
!!!圈套术(Snare)
|变化系|
|''等级:''巡林客 2,德鲁伊 3|
|''法术成分:''言语,姿势,法器|
|''施法时间:''3 rounds 3轮|
|''距离:''接触|
|''目标:''被接触的非魔法藤环、绳环或皮带环,直径为2英尺+2英尺/等级|
|''持续时间:''直到触发或被破坏|
|''豁免:''无|
|''法术抗力:''不可|
|此法术能做出一个可作为魔法陷阱的圈套。它可以利用任何藤蔓、皮带或绳索制成。当你施展圈套术时,它们会和环境融为一体(对于有寻找陷阱能力的人物来说定位它需要DC为23的搜索)。一旦任何生物步入圈内,圈套的一端就会紧紧地缠住该生物的一个或多个肢体上。|
|如果周围有坚韧的大树,圈套可系于其上。法术可以将树木弯曲,而当圈套触发时树木又会弹直,从而对陷阱中的生物造成1d6点伤害,并且由于它的肢体被缠住,它还会被拽离地面。如果没有合适的树木,则生物不受伤害,但是会被纠缠。|
|圈套附有魔法。为了逃离陷阱,生物需用一个整轮动作进行脱逃或力量检定,DC均为23。圈套的AC为7,生命值为5。生物成功逃脱后,陷阱即遭破坏,法术随之结束。|
!!! 抓取飞箭(SNATCH ARROWS)[一般专长]

''先决条件:''敏捷15,拨挡飞箭,精通徒手攻击。

''效果:''你可以在使用拨挡飞箭专长时抓住箭矢而非仅仅挡开它。投掷武器可以立即被投向原来的投掷者(即便那不是你的回合)或留着以后用。

你必须至少有一只手空着(没拿任何东西)才可使用本专长。

''特殊:''战士可以选择本专长作为战士的奖励专长。

!!!柔石术(Soften Earth and Stone)
|变化系 [土]|
|''等级:''德鲁伊 2,土 2|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''区域:''10-ft. square/level; see text 10英尺见方/等级;见正文|
|''持续时间:''Instantaneous 立即|
|''豁免:''无|
|''法术抗力:''不可|
|当法术施展时,影响区域内所有暴露在外的天然泥土和岩石都会软化。湿土变为泥沼,干土变为沙尘,岩石变为柔软易塑的粘土。法术影响区域为10英尺见方,深度为1至4英尺,这由该区域土地的硬度或弹性决定。魔法的、增强的、被包覆或加工过的石头都不受影响。土系和石系生物不受影响。|
|陷入泥沼的生物必须通过反射豁免,否则被困1d2轮,且无法移动、攻击或施法。通过豁免的生物可以以半速移动 ,但无法在这地面上奔跑、冲刺。|
|松散的沙尘不如泥沼麻烦,但是区域内的生物还是只能以半速移动,也不能在这地面上奔跑、冲刺。|
|变成粘土的石头不会妨碍行动,却可以任意切割、捏塑或挖掘,以进入之前无法探索的区域。|
|尽管柔石术对包覆着的或被加工过的石头无效,但是会影响洞窟顶和垂直峭壁。通常这会造成山崩,因为它会使地基松动。|
|将此法术施展于建筑物附近的地面会导致它下沉,从而使之受损。但是多数坚固的建筑只会受到损坏,不会崩塌。|
!!!重雾术(Solid Fog)
|咒法系(创造)|
|''等级:''术士/法师 4|
|''法术成分:''言语,姿势,材料|
|''持续时间:''1分钟/等级|
|''法术抗力:''不可|
|与云雾术(fog cloud) 类似,不过除了遮蔽视线外,重雾会使得任何穿越它的生物速度降到5英尺,不论它的正常速度是多少,同时在近战攻击检定和近战伤害上获得-2的减值。雾气还可阻止远程攻击(魔法射线和类似效果除外)。掉进重雾区域的生物或物体会减速,因此每经过10尺雾气,它所受到的坠落伤害就会减少1d6点。在重雾中,生物不能进行5尺快步。|
|与普通雾气不同,只有烈风(时速31英里以上)才能吹散它,并且需花费1轮时间。|
|重雾术可以用魔法恒定术(permanency)来永久化。被大风吹散的永久化重雾在10分钟后会重新形成。|
|//材料成分://一撮干燥的豌豆粉末,掺以动物蹄粉末。|
!!!挑拨曲(Song of Discord)
|惑控系 (胁迫)[影响心灵,音波]|
|''等级:''吟游诗人 5|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''区域:''半径20英尺扩散范围|
|''持续时间:''1轮/等级|
|''豁免:''意志,通过则无效|
|''法术抗力:''可|
|此法术可使区域内的生物不再攻击敌人,转而自相残杀。受影响的生物每轮有50% 的几率攻击最接近的目标。(在他们每个轮次开始的时候投骰决定该轮的行动。)不攻击最近目标的生物在该轮可正常行动。|
|受挑拨曲影响的生物会使用最致命的法术、最有效的战术来尽全力攻击目标。但它们不会攻击倒地失去意识的生物。|
''音波攻击(Sonic Attacks,超自然能力):''除了特殊说明的情况之外,音波攻击皆遵循扩散的规则。扩散距离从使用音波攻击的生物开始计算。一旦音波攻击产生效果之后,即使让对方听不见或者堵住耳朵也无法中止其效果。提前堵住耳朵对影响心灵的音波攻击可免于检定,但对其他种类无效(比如造成伤害的那些)。堵住耳朵属于整轮动作,而且需要将蜡或者其他隔音材料塞入耳中。

''高等抗音:''吸收每次攻击的前30点音波伤害,其余和抗音相同。

中等防护系灵光;CL11;制造魔法武器和防具,抵抗能量(resist energy);价格+66000金币。
''强化抗音:''吸收每次攻击的前20点音波伤害,其余和抗音相同。

中等防护系灵光;CL7;制造魔法武器和防具,抵抗能量(resist energy);价格+42000金币。
''抗音:''具有此能力的盔甲或盾牌外表通常很闪亮。防具吸收穿戴者受到的每次攻击中前10点音波伤害(类似抵抗能量(resist energy))。

微弱防护系灵光;CL3;制造魔法武器和防具,抵抗能量(resist energy);价格+18000金币。
''阵营:''任意

''生命骰:''d4

 
!!!!本职技能
术士的本职技能(和各技能的关键属性)为:唬骗(魅力),专注(体质),手艺(智力),知识(神秘)(智力),专业(感知),法术辨识(智力)。

''1级人物起始技能点:''(2+智力修正)x4

''升级技能点数:''2+智力修正。

 

''表:术士''

|!		|!		|!		|!		|!		|!		|!	-----------每日法术---------	|<|<|<|<|<|<|<|<|<|
|!	等级	|!	基本攻击加值	|!	强韧检定	|!	反射检定	|!	意志检定	|!	特殊	|!	0级	|!	1级	|!	2级	|!	3级	|!	4级	|!	5级	|!	6级	|!	7级	|!	8级	|!	9级	|
|^	1	|^	+0	|^	+0	|^	+0	|^	+2	|^	召唤魔宠	|^	5	|^	3	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	2	|^	+1	|^	+0	|^	+0	|^	+3	|^		|^	6	|^	4	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	3	|^	+1	|^	+1	|^	+1	|^	+3	|^		|^	6	|^	5	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	4	|^	+2	|^	+1	|^	+1	|^	+4	|^		|^	6	|^	6	|^	3	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	5	|^	+2	|^	+1	|^	+1	|^	+4	|^		|^	6	|^	6	|^	4	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	6	|^	+3	|^	+2	|^	+2	|^	+5	|^		|^	6	|^	6	|^	5	|^	3	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	7	|^	+3	|^	+2	|^	+2	|^	+5	|^		|^	6	|^	6	|^	6	|^	4	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	8	|^	+4	|^	+2	|^	+2	|^	+6	|^		|^	6	|^	6	|^	6	|^	5	|^	3	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	9	|^	+4	|^	+3	|^	+3	|^	+6	|^		|^	6	|^	6	|^	6	|^	6	|^	4	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	10	|^	+5	|^	+3	|^	+3	|^	+7	|^		|^	6	|^	6	|^	6	|^	6	|^	5	|^	3	|^	-	|^	-	|^	-	|^	-	|
|^	11	|^	+5	|^	+3	|^	+3	|^	+7	|^		|^	6	|^	6	|^	6	|^	6	|^	6	|^	4	|^	-	|^	-	|^	-	|^	-	|
|^	12	|^	+6/+1	|^	+4	|^	+4	|^	+8	|^		|^	6	|^	6	|^	6	|^	6	|^	6	|^	5	|^	3	|^	-	|^	-	|^	-	|
|^	13	|^	+6/+1	|^	+4	|^	+4	|^	+8	|^		|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	4	|^	-	|^	-	|^	-	|
|^	14	|^	+7/+2	|^	+4	|^	+4	|^	+9	|^		|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	5	|^	3	|^	-	|^	-	|
|^	15	|^	+7/+2	|^	+5	|^	+5	|^	+9	|^		|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	4	|^	-	|^	-	|
|^	16	|^	+8/+3	|^	+5	|^	+5	|^	+10	|^		|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	5	|^	3	|^	-	|
|^	17	|^	+8/+3	|^	+5	|^	+5	|^	+10	|^		|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	4	|^	-	|
|^	18	|^	+9/+4	|^	+6	|^	+6	|^	+11	|^		|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	5	|^	3	|
|^	19	|^	+9/+4	|^	+6	|^	+6	|^	+11	|^		|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	4	|
|^	20	|^	+10/+5	|^	+6	|^	+6	|^	+12	|^		|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|^	6	|


''表:术士所知法术''

|!		|!	-------- 所知法术 ---------	|<|<|<|<|<|<|<|<|<|
|!	等级	|!	0级	|!	1级	|!	2级	|!	3级	|!	4级	|!	5级	|!	6级	|!	7级	|!	8级	|!	9级	|
|^	1	|^	4	|^	2	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	2	|^	5	|^	2	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	3	|^	5	|^	3	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	4	|^	6	|^	3	|^	1	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	5	|^	6	|^	4	|^	2	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	6	|^	7	|^	4	|^	2	|^	1	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	7	|^	7	|^	5	|^	3	|^	2	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	8	|^	8	|^	5	|^	3	|^	2	|^	1	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	9	|^	8	|^	5	|^	4	|^	3	|^	2	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	10	|^	9	|^	5	|^	4	|^	3	|^	2	|^	1	|^	-	|^	-	|^	-	|^	-	|
|^	11	|^	9	|^	5	|^	5	|^	4	|^	3	|^	2	|^	-	|^	-	|^	-	|^	-	|
|^	12	|^	9	|^	5	|^	5	|^	4	|^	3	|^	2	|^	1	|^	-	|^	-	|^	-	|
|^	13	|^	9	|^	5	|^	5	|^	4	|^	4	|^	3	|^	2	|^	-	|^	-	|^	-	|
|^	14	|^	9	|^	5	|^	5	|^	4	|^	4	|^	3	|^	2	|^	1	|^	-	|^	-	|
|^	15	|^	9	|^	5	|^	5	|^	4	|^	4	|^	4	|^	3	|^	2	|^	-	|^	-	|
|^	16	|^	9	|^	5	|^	5	|^	4	|^	4	|^	4	|^	3	|^	2	|^	1	|^	-	|
|^	17	|^	9	|^	5	|^	5	|^	4	|^	4	|^	4	|^	3	|^	3	|^	2	|^	-	|
|^	18	|^	9	|^	5	|^	5	|^	4	|^	4	|^	4	|^	3	|^	3	|^	2	|^	1	|
|^	19	|^	9	|^	5	|^	5	|^	4	|^	4	|^	4	|^	3	|^	3	|^	3	|^	2	|
|^	20	|^	9	|^	5	|^	5	|^	4	|^	4	|^	4	|^	3	|^	3	|^	3	|^	3	|



 

!!!!职业特性
以下是术士的职业特性。

''武器和防具擅长:''术士擅长使用所有的简单武器。他们不擅长使用任何盔甲或盾牌。任何防具都会限制术士的手势,因而导致术士施展具有姿态成分的法术时失败。

''法术:''术士施展术士/法师法术列表中的奥术。他无需准备即可施展任何他已知的法术,而准备法术对法师或牧师是必须的(见后)。

要学习或者施展法术,术士的魅力必须达到10+法术等级。抵抗术士法术的豁免难度等级为10+法术等级+术士魅力修正。

和其他施法者一样,术士每天在每个法术等级上只能施展有限数量的法术。他的基本每日法术分配方案列在表:术士内。另外,如果他有较高的魅力值,他还可以获得每日奖励法术。

术士可选择的法术是非常有限的。在起始时术士可以根据你的选择知道4个0级法术和2个1级法术,在获得新的术士等级时,他会按照表:术士所知法术获得一个或几个新的法术。(和每日法术不同,术士所知法术和魅力值无关,表:术士所知法术中的数字是固定的。)新的法术可以是术士/法师法术列表中的普通法术,也可以某些经过术士研究并取得一定成果的不寻常法术。但是术士不能用这种获得法术的方式来比正常速度还快的学习法术。

4级时,以及之后每偶数个术士等级(6,8,等等),术士可以学习一个新法术来替代之前已知的法术。如同是术士“丢弃”一条已知法术来交换一条新法术。新法术必须和他交换的法术等级相同,而且必须比术士所能施展最高等级法术低至少两个等级。术士在每个法术等级上只能交换一个法术,而且必须在该等级获得新法术的同时决定是否交换法术。

和法师或牧师不同,术士不需要事先准备法术。只要他还没有用完该等级上他的每日法术数,他就可以在任何时候施展任何已知法术。他也不必预先决定他要施展何种法术。

''魔宠(Familiar):''术士可以得到一个魔宠(见后)。要得到它需要花费24小时并用掉价值100金币的魔法材料。魔宠是魔法兽,看上去和小动物很像,只是有不寻常的坚韧和智力。魔宠像同伴和仆人一样服侍主人。

术士可以选择获得何种魔宠。当术士的等级得到提升,他的魔宠也会跟着变强。

如果魔宠死了或者被术士本人遣散,术士必须作一次DC15的强韧豁免判定。失败意味着术士将损失每术士等级200点经验值,成功则只损失上述一半的经验值。但是术士的总经验值不会因为魔宠的死亡或遣散而降低到0以下。被杀或者被遣散的魔宠在1年零1天内无法被取代。被杀的魔宠可以像人物一样被复活,但是它复活时不会损失等级或体质。

兼职人物有多个可以拥有魔宠职业时一次只能有一个魔宠。
!!!缚魂术(Soul Bind)
|死灵系|
|''等级:''牧师 9, 术士/法师 9|
|''法术成分:''言语,姿势,器材|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''尸体|
|''持续时间:''永久|
|''豁免:''意志,通过则无效|
|''法术抗力:''不可|
|你将新亡的生物灵魂吸出并禁锢在一块深蓝宝石 内。目标的死亡时间不得超过1轮/施法者等级。一旦被禁锢,灵魂便无法通过克隆术(clone),死者复活(raise dead),转生术(reincarnation),复生术(resurrection),完全复生术(true resurrection)复活,甚至神迹术(miracle)和祈愿术(wish)也做不到。只有摧毁宝石或者解消宝石上的魔法才能释放灵魂(该生物仍处于死亡状态)|
|器材成分:一块深蓝宝石,价值由受术者的HD决定,每HD 1,000金币。如果宝石的价值不够高,施法时宝石会粉碎。(若受术者没有等级或HD这类数据,那么囚禁某个个体的宝石其价值可以通过研究得知。宝石价值会随生物HD上升而上升。)|
!!!音鸣爆(Sound Burst)
|塑能系[音波]|
|''等级:''吟游诗人 2, 牧师 2|
|''法术成分:''言语,姿势,器材/法器|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''区域:''半径10英尺扩散范围|
|''持续时间:''立即|
|''豁免:''强韧,通过则部分有效|
|''法术抗力:''可|
|巨大的噪音轰击了一个区域。使得法术区域内所有生物受到1d8点音波伤害,并且需通过强韧豁免来避免震慑一轮。|
|没有听觉的生物不会被震慑,但仍旧会受到伤害。|
|//奥术器材成分://一件乐器。|
''Sovereign Glue(至尊胶)'': 淡琥珀色、浓稠而有黏性的物质。由于黏性很强,存放的瓶子内层必须涂满一盎司“滑溜油”。一旦从瓶内倒出,必须在一轮内倒入新的“滑溜油”,以防止余胶黏在瓶壁。冒险中获得的“至尊胶”重量为1到7盎司(1d8-1盎司,最少1盎司)。

一盎司的胶可以涂满一平方英尺的平面,让两个物体永远黏在一起。此胶需要一轮以固著,如果在固著前将物体分开,胶就失去黏性而无用。如果在固著后想把物体分开,只能撕裂物体,或以“万溶剂”将胶溶解(“至尊胶”溶于“万溶剂”)。

CL 20th; Craft Wondrous Item, make whole; Price 2,400 gp (每盎司).
!! Speak Language(语言)(无;需受训)

''一般的语言和使用的文字''

|!	语言	|!	通常的使用者 	|!	文字	|
|^	深渊语(Abyssal) 	|^	恶魔,混乱邪恶异界生物 	|^	炼狱文(Infernal)	|
|^	水族语(Aquan) 	|^	水系生物 	|^	精灵文(Elven)	|
|^	风族语(Auran) 	|^	气系生物 	|^	龙文(Draconic)	|
|^	天界语(Celestial) 	|^	善良异界生物 	|^	天界文(Celestial)	|
|^	通用语(Common) 	|^	人类,半身人,半精灵,半兽人 	|^	通用文(Common)	|
|^	龙语(Draconic) 	|^	狗头人,穴居人,战蜥人,龙	|^	龙文(Draconic)	|
|^	德鲁伊语(Druidic) 	|^	德鲁伊(仅限德鲁伊) 	|^	德鲁伊文(Druidic)	|
|^	矮人语(Dwarven) 	|^	矮人 	|^	矮人文(Dwarven)	|
|^	精灵语(Elven) 	|^	精灵 	|^	精灵文(Elven)	|
|^	巨人语(Giant) 	|^	食人魔,巨人 	|^	矮人文(Dwarven)	|
|^	侏儒语(Gnome) 	|^	侏儒 	|^	矮人文(Dwarven)	|
|^	地精语(Goblin) 	|^	地精,大地精,熊地精 	|^	矮人文(Dwarven)	|
|^	豺狼人语(Gnoll) 	|^	豺狼人 	|^	通用文(Common)	|
|^	半身人语(Halfling) 	|^	半身人 	|^	通用文(Common)	|
|^	火族语(Ignan) 	|^	火系生物 	|^	龙文(Draconic)	|
|^	炼狱语(Infernal) 	|^	魔鬼,守序邪恶异界生物 	|^	炼狱文(Infernal)	|
|^	兽人语(Orc) 	|^	兽人 	|^	矮人文(Dwarven)	|
|^	木族语(Sylvan) 	|^	树精 	|^	精灵文(Elven)	|
|^	土族语(Terran) 	|^	索尔石怪和其他土系生物	|^	矮人文(Dwarven)	|
|^	地底通用语(Undercommon) 	|^	黑暗精灵	|^	精灵文(Elven)	|


''动作:''不应用这个概念。

''重试:''不应用这个概念。因为没有语言检定。

语言技能和其他技能工作方式不同。语言按以下方式运作。

*在开始一级角色的时候你可以懂得1或2门语言(根据你的种族而定),再加上数量等同于你初始智力加值的额外语言。
*你可以象其他技能一样购买语言技能,但是和购买级数不同,你是选择学会一门新语言。
*你不需做语言检定。你要么懂这门语言,要么不懂。
*非文盲角色(除了没花技能点而获得读写能力的野蛮人外任何人)都能读写他会讲的语言。所有语言都有文字,尽管有些语言共用一套字母表。

!!!动物交谈(Speak With Animals)
|预言系|
|''等级:''吟游诗人 3,德鲁伊 1,巡林客 1|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:'' 1分钟/等级|
|你可以理解并与动物交谈。你可以向动物提问并能获得回答。此法术无法使动物变得更友善或更合作。而且狡猾机警的动物还可能给出含糊的答案,若动物智力不高,也可能说出蠢话。如果动物对你友善,那么它可能会帮忙甚至由你差遣。|
!!!死者交谈(Speak With Dead)
|死灵系 [依赖于语言]|
|''等级:''牧师 3|
|''法术成分:''言语,姿势,法器|
|''施法时间:'' 10分钟|
|''距离:'' 10英尺|
|''目标:''一个死亡生物|
|''持续时间:'' 1分钟/等级|
|''豁免:''意志,通过则无效;见正文|
|''法术抗力:''不可|
|你使一具尸体暂时回复少许生命和智力,使它可以回答你的问题。每两级施法者等级可提出一个问题。超过法术持续时间,则不能再发问。尸体的知识仅限于其生前所知,包括它所讲的语言。回答通常是简短、含糊或重复的。若该生物阵营与你不同,则可如生前一般进行意志豁免来抗拒你的法术。|
|若该尸体在过去的一周内已经被施展过死者交谈则法术失效。不管死去多久的生物都可以作为交谈对象,但尸体需大致完好才能作出回应。受损的尸体可能只会给出部分或是部分正确的答案,但它必须有嘴可以用来说话。|
|此法术并不能使你与死者说话(他的灵魂已经远离),它仅仅是唤出残留在肉体里的知识。尸体会保留灵魂的印痕,因此可以说出生前所有的知识。然而尸体并不会获得新的信息,甚至不会记得你问了什么。|
|法术对已变成不死生物的尸体无效。|
!!!植物交谈(Speak With Plants)
|预言系|
|''等级:''吟游诗人 4,德鲁伊 3,巡林客 2|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''1分钟/等级|
|你可以理解并与普通植物或植物类生物交谈。你可以向植物提问,并获得回答。普通植物对外界的感知有限,因此它无法仔细辨识或描述生物,也不能对未发生在其四周的事件作出回答。|
|此法术无法使植物类生物变得更友善或更合作。狡猾机警的植物型生物还可能给出含糊的答案,若该生物智力不高,也可能说出蠢话。如果它对你友善,那么它可能会帮忙甚至由你差遣。|
!!!幽灵手(Spectral Hand)
|死灵系|
|''等级:''术士/法师 2|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''一只幽灵手|
|''持续时间:''1分钟/等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|你用你的生命能量造出一只发光的幽灵手,它随你的心意移动,你可借助它来隔空施展低等级的接触类法术。施展此法术会使你失去1d4点生命值,并在法术结束后恢复(若法术解消,也会恢复),但如果幽灵手被摧毁则无法回复。(和正常情况下一样,这些生命值可以通过治疗来回复。)在法术持续时间内,你施展的任何不高于四级的远程接触法术都可以通过幽灵手传递。此法术使你在近战接触攻击中获得+2的加值,以幽灵手攻击视作一次攻击,并计入攻击次数中。它总是从你的方向进行攻击。它无法造成夹击。在传递完法术后,或离开法术有效距离,或离开你的视野,它会回到你身边盘旋待命。|
|幽灵手是虚体,因此不会为普通武器所伤。它具有精通反射闪避能力(反射豁免失败只受一半伤害,通过豁免则不受伤害),它具有你的豁免加值,AC至少22。你可以用你的智力调整值来作为它AC的敏捷加值。幽灵手有1至4点生命值,等同于你创造它时所损失的数值。|
!!Spectre(幽灵)

''中型不死生物 (虚体)''

|''生命骰:'' 7d12(45hp)|
|''先攻权:'' +7|
|''速度:'' 40尺(8格),飞行80尺(完美)|
|''防御等级:'' 15(+3敏捷,+2偏斜),接触15,措手不及13|
|''基本攻击/擒抱:'' +3/-|
|''攻击:'' 虚体触碰+6近战(1d8外加能量吸取)|
|''全回合攻击:'' 虚体触碰+6近战(1d8外加能量吸取)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 能量吸取,产生衍体|
|''特性:'' 黑暗视觉60尺,虚体特性,+2驱散抗力,阳光失能,不死生物特性,妖气|
|''豁免:'' 强韧+2,反射+5,意志+7|
|''属性:'' 力量-,敏捷16,体质-,智力14,感知14,魅力15|
|''技能:'' 躲藏+13,威吓+12,知识(宗教)+12,聆听+14,搜索+12,侦察+14,生存+2(+4追踪)|
|''专长:'' 警觉,盲斗,精通先攻|
|''环境:'' 任何陆地及地底|
|''组织:'' 单独,成队(2-4),或成群(6-11)|
|''挑战等级:'' 7|
|''宝物:'' 无|
|''阵营:'' 总是守序邪恶|
|''进化:'' 8-14HD(中型)|
|''等级调整:'' -|


幽灵的外貌和生前一样,因此之前认识或见过幽灵生前画像的人可以轻易地认出它们。多数情况下,在它的身体上可以见到死时所受的暴力的痕迹。

幽灵的体型接近人类并且没有重量。

!!!战斗
近战中幽灵使用能吸取生命并令人失去知觉的触碰进行攻击。它会活用其虚体特性,穿过墙壁、天花板或地板进行攻击。

''能量吸取 (Su):''被幽灵的虚体触碰攻击击中的活着的生物会承受两个负向等级。移除负向等级的强韧豁免检定DC为15。该豁免检定DC基于魅力调整值。每造成一个负向等级,幽灵都会获得5点暂时生命值。

''产生衍体 (Su):''任何被幽灵所杀死的类人生物在死亡后1d4轮内会变成幽灵。衍体受创造它的幽灵所控制,直到被摧毁之前都会维持这种被奴役的状态。衍体不会保留其生前拥有的任何能力。

''妖气 (Su):''无论是野生还是驯养的动物都能在30尺范围内感觉到幽灵所散发出来的妖气。它们不愿意靠得更近,如果被强迫靠近的话则会进入恐慌状态;动物只要还处于此范围内就会一直处于恐慌状态中。

''阳光失能 (Ex):''幽灵在天然的阳光下 (并非只有昼明术而已)会变得虚弱无力而且会逃离其照射的区域。被阳光照射的幽灵无法攻击,并且每轮只能做出一个移动或攻击动作。
''Speed(追击):''
进行整轮攻击时,追击武器的使用者能进行一次额外的攻击。这次攻击的基本攻击加值为使用者的最大基本攻击加值,再加上其他适合当前情况的调整值。(此特殊能力的效果不与其他类似效果叠加,例如加速术(haste)。)

中等变化系灵光;CL7;制造魔法武器和防具,加速术(haste);价格+3加值。
!!! 专攻法术(SPELL FOCUS)[一般专长]

选择一个法术学派。

''效果:''所选择学派的法术的所有豁免检定DC都获得+1加值。

''特殊:''你可以多次选择本专长。其效果并不累加。每次必须选择不同的学派。
!!!高等法术免疫(Spell Immunity, Greater)
|防护系|
|''等级:''牧师 8|
|同法术免疫一样,不过该法术可免疫8级或更低的法术。|
|生物在同一时间只能有一个法术免疫或高等法术免疫效果。|
!!!法术免疫(Spell Immunity)
|防护系|
|''等级:''牧师 4,保护 4,力量 4|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''被接触的生物|
|''持续时间:''10分钟/等级|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可(无害)|
|施法者每四等级可以使受术者免疫一个法术的效果。该法术不得高于4级。受术者对免疫的法术具有绝对的法术抗力。因此对于不可使用法术抗力的法术,此保护无效。法术免疫可防护法术、魔法物品的类法术能力及生物的类法术能力。它对超自然能力或特异能力无效,比如喷吐攻击和凝视攻击|
|此法术只能防护单一法术,而不能针对某领域、学派或一组效果类似的法术。|
|每个生物身上同时只能有一个法术免疫效果。|
''法术免疫(Spell Immunity,特异能力):''具有法术免疫的生物能够免疫那些直接影响到它的法术或类法术能力的影响。它和法术抗力类似,除了它不可能被克服。有时法术免疫是有条件的,或仅限于一些特定种类或特定等级的法术。不受法术抗力影响的法术也不受法术免疫的影响。
!!! 法术熟稔(SPELL MASTERY)[特殊专长]

''先决条件:''法师1级

''效果:''每次选择本专长时,你可以选择数量等于你智力调整值的已知法术。此后,你无需法术书就可以准备这些法术。

''正常:''若没有本专长,你必须使用法术书才可准备你所有的法术,除了阅读魔法(read magic)。
!!! 法术穿透(SPELL PENETRATION)[一般专长]

''效果:''当你施法对抗受术者的法术抗力时,你的施法者等级检定(1d20+施法者等级)可获得+2加值。

!!!法术抗力(Spell Resistance)
|防护系|
|''等级:''牧师 5,魔法 5,保护 5|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''被接触的生物|
|''持续时间:'' 1分钟/等级|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可 (无害)|
|生物获得等同于12+你施法者等级的法术抗力。|
法术抗力是一种特异能力,可避免生物被法术影响。(一些法术也能产生法术抗力。)

要使法术对拥有法术抗力的生物发生作用,施法者必须要进行一次施法者等级检定(1d20+施法者等级),结果必须至少等同于目标的法术抗力。(防御者的法术抗力就象防御等级一样对抗魔法攻击。)如果检定失败,法术对该生物无效。能力持有者不需做任何特别的事情来使用抗力。他也不需要意识到法术威胁就可以运作抗力。

只有法术和类法术能力受法术抗力影响。特异能力和超自然能力(以及魔法武器上的增强加值)则不受。一个生物可能有好几项不同的能力,其中一些受法术抗力的约束,另一些则不受。一些法术甚至忽视法术抗力。见下:法术抗力的运作。

生物可以有意的降低法术抗力。这是一个标准动作且不会诱发借机攻击。法术抗力降低后,在下一轮开始前都会保持。除非生物有意保持下降状态(也是一个标准动作且不会诱发借机攻击),否则在下一轮开始法术抗力将自动复原。

法术抗力永远不会影响自己的法术、物品和其它能力。

拥有法术抗力的生物不会通过触摸或站在中央而把能力传给他人。只有一些罕见的生物和某些魔法物品可以把法术抗力传给他人。

法术抗力不会叠加。它们彼此覆盖。


!!!!法术抗力的运作

每个法术都有一个条目指明该法术是否受法术抗力影响。通常来说,法术抗力是否运作取决于法术效果。

''目标型法术(Targeted Spells):''如果法术是瞄准生物的,那么法术抗力起作用。一些目标型法术能同时对准几个生物。在这种情况下, 一个生物的法术抗力只能对实际作用在自己身上的法术部分起作用。如果该法术同时影响若干个具有法术抗力的生物,那么每个生物都要进行单独的法术抗力检定。

''区域型法术(Area Spells):''如果人物处于法术作用区域中,法术抗力起作用。这会保护他自己,但不会影响到法术本身。

''效果型法术(Effect Spells):''大部分召唤或创造物品的效果型法术不受法术抗力影响。但有时,法术抗力也会影响效果型法术,通常是那些或多或少对生物直接起作用的法术,例如“蛛网术(web)”。

法术抗力可以使生物不受已经产生的法术的影响。当生物第一次受到该法术影响时进行法术抗力检定。

对于任何特定的法术或类法术能力来说,法术抗力判定只进行一次。如果第一次失败了,那么他以后每次被这次法术影响时都会失败。同样的,如果第一次判定成功了,就总是成功。如果生物在有意降低法术抗力时受到法术影响,那么当他法术抗力回升后还有一次机会来再次抵抗该法术。

除非法术能量真正作用在生物的意志或身体上,否则法术抗力无效。如果法术作用于其它目标上而生物间接的承受了后果,那么不进行判定。不是直接作用于生物身上的法术可以伤害该生物。

法术抗力不对愚弄受术者感官或揭露事实的法术起作用。

魔法实际上必定会引发法术抗力。瞬时产生但有持久效果的法术不受法术抗力影响,除非受术者在法术产生瞬间就暴露于法术效果下。

如果不清楚法术的效果是直接或间接,考虑一下法术学派。

''防护系(Abjuration):''受术者必须在受伤害,被变化或被限制时激发法术抗力。认知能力的改变不受法术抗力影响。

阻碍攻击的防护系法术和攻击者的法术抗力没有关系--有关系的是被保护的生物(使其免疫或抵抗攻击)。

''咒法系(Conjuration):''除非法术召唤了一些能量,否则通常不激发法术抗力。用来召唤生物的法术,或产生某种作用类似于生物的效果的法术,都不受到法术抗力的影响。

''预言系(Divination):''这些法术不直接作用于生物,因此不激发法术抗力,尽管它揭露的事实可能会对生物带来严重的损失。

''惑控系(Enchantment):''当惑控法术作用于受术者的意识时,必定会激发法术抗力。

''塑能系(Evocation):''如果给受术者带来伤害,就是直接作用。如果伤害了其它东西,就是间接作用。

''幻术系(Illusion):''这些法术几乎从不激发法术抗力。能进行直接攻击的幻术系法术是例外情况。

''死灵系(Necromancy):''绝大部分死灵系法术都是改变目标生命力,因此会受到法术抗力影响。少数不对生物产生直接效果的死灵系法术不激发法术抗力。

''变化系(Transmutation):''改变目标生物的变化系法术会受到法术抗力影响。作用在空间里而不是生物体上的改变系法术不激发法术抗力。一些改变系法术会使物体有杀伤力(或更有杀伤力),例如魔石术(magic stone)。这些法术通常都不会激发法术抗力,因为它们是作用在物品上,而不是作用在要承受这些物品的生物身上。但是如果具有魔法抗力的生物抓着这些牧师们准备施法的石头,法术抗力有效。

!!!!成功的法术抗力(Successful Spell Resistance)

法术抗力阻止法术或类法术能力影响或伤害受术者,但决不会从其它生物那里移除魔法效果,或抵消其他生物身上的法术效果。法术抗力保护施法不被打断。

对于一个已经施展出来正在进行中的法术来说,对抗法术抗力的检定失败意味着有抗力的生物可以不受该法术任何效果的影响。但是魔法继续如常的影响其他人。


''抗法:''此能力给防具的穿着者提供法术抗力。根据防具的不同,法术抗力可以为13、15、17或19。

强烈防护系灵光;CL15;制造魔法武器和防具,法术抗力(spell resistance);价格+2加值(SR13),+3加值(SR15),+4加值(SR17)或+5加值(SR19)。
''Spell Storing, Major(高等储法): ''同3E版本储法戒指描述,但是存储法术等级总和最高为10级,价格200000

“储法戒指”可将穿戴者能施展的法术储存起来。各法术的施法者等级为所须最低等级。就像魔杖一样,使用者不需提供任何器材、材料或经验值,即可放出所储法术,即使穿戴盔甲也不会造成奥术失效(因为使用者不必满足施法姿势成分)。

欲决定随机产生的“囤法戒指”所储法术时,处理方式如同卷轴(见卷轴说明)。一旦掷出的法术等级使总和超过10,则忽略该次掷骰,并停止掷骰,意即该戒指所储法术已满(不是每只新戒指都一定储至总和上限)。

只要法术等级总和不超过10,施法者可以再释放任何法术储存在戒指内。例如,法师可以储存两个“火球术”(三级)及一个“石肤术”(四级),然后将戒指交给德鲁伊。德鲁伊释放其中的“石肤术”,并储入四个“安抚动物”(一级),再将戒指交给野蛮人。野蛮人可以释放其中任何法术,但是他不会施法,所以无法储入法术。

穿戴者自动知道戒指中储存法术的名称。

''施法者等级:''不定(各法术的最低施法者等级)。先决条件:“锻造戒指”,“法术灌输”。交易价格:90000金币。
''Spell Storing, Minor(次级储法):'' 同3E版本储法戒指描述,但是存储法术等级总和最高为3级,价格18000
''Spell Storing(储法):''
储法武器允许施法者在武器中储存一个针对单一目标且至多为3级的法术。(该法术的施法时间必须为一个标准动作。)武器一旦伤害到目标生物,使用者便能立刻以一个即时动作施展武器上的法术于目标生物身上。(一般来说施展储存在物品中的法术所需时间至少与施展次法术的时间相同,但此特殊能力是个例外。)武器中的法术被施展后,使用者就可以储存另一个针对单一目标且至多为3级的法术。武器以某种魔法的方式暗示其中所储法术的名称。随机产生此武器时,有50%的几率武器中已经储存了一个法术。

强烈塑能系灵光(加上所储法术的灵光);CL12;制造魔法武器和防具,制造者必须为等级不低于12级的施法者;价格+1加值。

''Spell Storing(中级储法):'' 同3E版本储法戒指描述,但是存储法术等级总和最高为5级,价格50000
!!!法术反转(Spell Turning)
|防护系|
|''等级:''机运 7,魔法 7,术士/法师 7|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''直到耗尽或10分钟/等级|
|以你为目标的法术或类法术能力会弹回施法者身上。反转效果仅对以你为目标的法术有效。效果型和区域法术不受影响,对远程接触类法术亦无效。|
|可反转的法术等级为7到10(1d4+6)。具体数值由暗投决定。|
|若剩余反转等级比受到的目标法术的等级低,则该法术只能部分反转。|
|此时,以该法术等级与剩余反转等级的差为分子,以该法术等级为分母,所得的结果即为该法术生效与被反转的比率。若为伤害性法术,则按此比率受到伤害;若为非伤害性法术,你们受到影响的几率也依此计算。|
|若你和施法攻击者都受法术反转的保护,则会产生共鸣场,结果要投百分骰决定。|

|!	d%	 |!	效果	 |
|^	01–70	 |^	法术衰竭,无任何效果	 |
|^	71–80	 |^	法术完全生效,且对双方造成同样效果	 |
|^	81–97	 |^	法术的反转均无效1d4分钟	 |
|^	98–100	 |^	双方被抛入另一位面的裂缝中	 |

|//奥术材料成分://一面小银镜。|
''Spell Turning(法术反转):''它像朴素的白金环,启动后会自动反弹以穿戴者为目标的法术,效果如同“法术反转”。

施法者等级:15。先决条件:“锻造戒指”,“法术反转”。交易价格:98280金币。
!! Spellcraft(辨识法术)(智力;需受训)

使用该技能来鉴别施展中或作用中的法术。

|!	辨识法术DC 	|!	任务	|
|^	13 	|^	使用阅读魔法(read magic)来鉴别一个守卫结界(glyph of warding)。不需要动作。	|
|^	15加法术等级 	|^	鉴别正在施展的法术(你必须能看见或听见法术的姿态或声音成分)。不需要动作。不可重试。	|
|^	15加法术等级 	|^	从法术书或卷轴上学习法术(只限法师)。不可对同一个法术重试,除非你在辨识法术上提升了至少一个级数(即便你找到了另外一条途径来学习该法术也是如此)。需要8小时。	|
|^	15加法术等级 	|^	用借来的法术书准备法术(只限法师)。每天试一次。不需要额外的时间。	|
|^	15加法术等级 	|^	施展侦测魔法(detect magic),通过单一物品或你能看见的生物所发出的灵光来判断魔法学派。(如果这灵光不是法术效果,那么DC是15加施法者等级的一半)。不需要动作。	|
|^	19 	|^	使用阅读魔法(read magic)来鉴别一个魔法徽记(symbol)。不需要动作。	|
|^	20加法术等级 	|^	鉴别已经存在并生效的法术。你必须能看见或侦测到法术的效果。不需要动作。不可重试。	|
|^	20加法术等级 	|^	鉴别由魔法创造或变形的物质,例如注意到一堵铁墙是铁墙术(wall of iron)的产物。不需要动作。不可重试。	|
|^	20加法术等级 	|^	不通过阅读魔法(read magic)来解读写下来的法术(例如卷轴)。每天试一次。需要一个整轮动作。	|
|^	25加法术等级	|^	在对抗针对你的法术时投掷完豁免后,判断那是什么法术。不需要动作。不可重试。	|
|^	25 	|^	鉴定药瓶。需要1分钟。不可重试。	|
|^	20 	|^	绘制魔法图阵(diagram)来增强施展法阵法术(magic circle)时的次元锚法术(dimensional anchor)。需要10分钟。不可重试。该检定是暗投,因此你不知道结果如何。	|
|^	30或更高	|^	理解一个陌生的或独一无二的魔法效果,例如一种魔法流的效果。所需时间可变,不可重试。	|

 

''检定:''你能鉴别法术和魔法效果。辨识法术检定的DC和任务相关,见之前表格的概述。

''动作:''可变,见之前说明。

''重试:''见前。

''特别:''如果你是专精法师,在用辨识法术检定处理你专精学派的法术或效果时你获得+2加值。在处理禁止学派的法术或效果时将受到-5减值(对于某些任务,例如学习一个禁止学派的法术,将不可能成功)。

如果你有魔法天赋专长(Magical Aptitude),在辨识法术检定上你获得+2加值。

''共效:''如果你在知识(神秘)上级数达到5或者更高,在辨识法术检定上你获得+2加值。

如果你在使用魔法装置上级数达到5或者更高,在使用辨识法术检定来解读卷轴上的魔法时你获得+2加值。

如果你在辨识法术上级数达到5或者更高,你在和卷轴相关的使用魔法装置检定上有+2加值。

另外,某些法术允许你获得魔法的信息,前提你按照该法术的详细说明做了一次成功的辨识法术检定。

''法术(Spells):''有时生物可以象具有施法者职业一样施展奥术或神术(和相应的使用魔法物品)。这些生物要遵循和角色人物一样的施法规则,除了以下几点。

没有双手或双臂的施法生物可以通过活动它的身体来完成法术所需要的姿态成分。该生物同样需要施法所需的物质材料。它或者可以通过接触所需的材料(但是不能在其他生物身上),或者在它自己身上备好所需的材料来施展法术。有些施法生物则利用施法免材(Eschew Materials)专长来避开由那些不值钱的施法材料所带来的麻烦。

除非有说明,否则施法生物实际上并非职业者,也不会得到任何职业能力。能够施展神术的生物,需要以正常的方式准备神术,并且如果有说明还会获得领域神术;但它需要至少一级牧师等级才能具有领域神授能力。

!!!储法杖(Spellstaff)
|变化系|
|''等级:''德鲁伊 6|
|''法术成分:''言语,姿势,器材|
|''施法时间:''10 分钟|
|''距离:''接触|
|''目标:''被接触的木杖|
|''持续时间:''永久,直到能量散发(可解消)|
|''豁免:''意志,通过则无效(物体)|
|''法术抗力:''可(物体)|
|你可在木棍中储存一个你能正常施展的法术。一支木棍一次只能储存一个这类法术,而且你在同一时间内只能拥有一支储法杖。你随时可以施法杖中的法术,并且不消耗你当日的法术数量。在施展杖中的法术时,需正常消耗法术的材料成分。|
|//器材成分://用来储存法术的木棍。|
狮身兽是拥有巨大羽翼和狮子身体的生物。所有的狮身兽都有很强的地盘观念,但其中较聪明的能区分蓄意侵入与暂时或无心的打扰。

狮身兽长约10尺,重约800磅。

狮身兽会说狮身兽语,通用语和龙语。

!!!战斗
大多数狮身兽会在地面进行战斗,使用其翅膀来帮助它们像狮子一般进行猛扑。如果受到大批不会飞行的生物围攻的话,狮身兽也会利用翅膀从空中攻击。

''猛扑 (Ex):''狮身兽在冲锋对手时可以进行全回合攻击,包括两次耙抓攻击。

''耙抓 (Ex):''猛扑到生物身上的狮身兽可以通过其后腿进行两次耙抓攻击。其攻击加值和伤害会在各狮身兽的详述中列出。


!!!Androsphinx(男面狮身兽)

''大型魔法兽''

|''生命骰:'' 12d10+48(114hp)|
|''先攻权:'' +0|
|''速度:'' 50尺(10格),飞行80尺(笨拙)|
|''防御等级:'' 22(-2体型,+13天生),接触9,措手不及22|
|''基本攻击/擒抱:'' +12/+23|
|''攻击:'' 爪抓+18近战(2d4+7)|
|''全回合攻击:'' 2爪抓+18近战(2d4+7)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 猛扑,耙抓2d4+3,怒吼,法术|
|''特性:'' 黑暗视觉60尺,昏暗视觉|
|''豁免:'' 强韧+12,反射+8,意志+7|
|''属性:'' 力量25,敏捷10,体质19,智力16,感知17,魅力17|
|''技能:'' 威吓+17,知识(任意1种)+18,聆听+18,侦察+18,生存+18|
|''专长:'' 警觉,顺势斩,大顺势斩,飞越攻击,猛力攻击,追踪|
|''环境:'' 温暖的沙漠|
|''组织:'' 单独|
|''挑战等级:'' 9|
|''宝物:'' 标准|
|''阵营:'' 总是混乱善良|
|''进化:'' 13-18HD(大型);19-36HD(超大型)|
|''等级调整:'' +5(作为伙伴)|


这些狮身兽全部都是雄性。男面狮身兽十分聪明而且通常善良,但是它们也会成为野蛮的对手。

!!!!战斗
战斗中,男面狮身兽使用其利爪将敌人撕成碎片。它使用其天生武器进行战斗,使用法术来防御或医疗。

''耙抓 (Ex):''攻击加值 +18 近战,伤害 2d4+3。

''怒吼 (Su):''每天三次,男面狮身兽可以发出强力的吼叫。当它第一次这么做时,500尺范围内的所有生物都必须通过一个DC 19的意志豁免检定否则就会受到如恐惧术的效果所影响达2d6轮。

如果男面狮身兽在同一遭遇事件中怒吼了第二次的话,250尺范围内的所有生物都必须通过一个DC 19的强韧豁免检定否则会被麻痹达1d4轮,同时处于90尺范围内的生物会耳聋达2d6轮 (无豁免)。

如果男面狮身兽在同一遭遇事件中怒吼了第三次的话,250尺范围内的所有生物都必须通过一个DC 19的强韧豁免检定否则会受到2d4点力量伤害达2d4轮。除此之外,90尺范围内任何体型为中型或更小的生物都必须通过一个DC 19的强韧豁免检定否则会被震倒在地面上并受到2d8点伤害。此怒吼的力量十分强大,以至于90尺范围内的所有石制品或结晶体都会受到50点伤害。魔法物品及被持有或携带的物品可以通过一个DC 19的反射豁免检定来避免受到伤害。

其他男面狮身兽对这些效果免疫。该豁免检定DC基于魅力调整值。

''法术:''男面狮身兽可以如同等级6的牧师一样施展来自牧师法术列表及善良、医疗和保护领域的法术。

//典型牧师准备法术 (5/ 5/ 5/ 4;豁免DC 13 + 法术等级)://

|0级 - 治疗微伤,侦测魔法,神导术,光亮术,提升抗力;|
|1级 - 神恩,防护邪恶*,虔诚护盾,移除恐惧,一级怪物召唤术;|
|2级 - 牛之力量,移除麻痹,抵抗能量伤害,护卫他人*,二级怪物召唤术;|
|3级 - 治疗重伤*,昼明术,消除隐形,灼热光辉。|
|*领域法术。领域:善良和医疗。|




!!!Criosphinx(羊首狮身兽)

''大型魔法兽''

|''生命骰:'' 10d10+30(85hp)|
|''先攻权:'' +0|
|''速度:'' 30尺(6格),飞行60尺(笨拙)|
|''防御等级:'' 20(-1体型,+11天生),接触9,措手不及20|
|''基本攻击/擒抱:'' +10/+20|
|''攻击:'' 抵撞+15近战(2d6+6)|
|''全回合攻击:'' 抵撞+15近战(2d6+6)及2爪抓+10近战(1d6+3)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 猛扑,耙抓1d6+3|
|''特性:'' 黑暗视觉60尺,昏暗视觉|
|''豁免:'' 强韧+10,反射+7,意志+3|
|''属性:'' 力量23,敏捷10,体质17,智力10,感知11,魅力11|
|''技能:'' 威吓+8,聆听+11,侦察+1|
|''专长:'' 警觉,顺势斩,飞越攻击,猛力攻击|
|''环境:'' 温暖的沙漠|
|''组织:'' 单独|
|''挑战等级:'' 7|
|''宝物:'' 标准|
|''阵营:'' 总是中立|
|''进化:'' 11-15HD(大型);16-30HD(超大型)|
|''等级调整:'' +3(作为伙伴)|

羊首狮身兽全部都是雄性。既不是善良也不是邪恶,它们缺乏男面狮身兽的智慧。

!!!!战斗
羊首狮身兽与其同类一样使用其爪子进行攻击,但它们也会用角来撞击。它们不会使用魔法,而且只会使用最简单的战术。

''耙抓 (Ex):''攻击加值 +15 近战,伤害 1d6+3。



!!!Gynosphinx(女面狮身兽)

''大型魔法兽''

|''生命骰:'' 8d10+8(52hp)|
|''先攻权:'' +5|
|''速度:'' 40尺(8格),飞行60尺(笨拙)|
|''防御等级:'' 21(-1体型,+1敏捷,+11天生),接触10,措手不及20|
|''基本攻击/擒抱:'' +8/+16|
|''攻击:'' 爪抓+11近战(1d6+4)|
|''全回合攻击:'' 2爪抓+11近战(1d6+4)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 猛扑,耙抓1d6+2,类法术能力|
|''特性:'' 黑暗视觉60尺,昏暗视觉|
|''豁免:'' 强韧+7,反射+7,意志+8|
|''属性:'' 力量19,敏捷12,体质13,智力18,感知19,魅力19|
|''技能:'' 唬骗+15,专注+12,交涉+8,易容+4(+6表演),威吓+13,聆听+17,察言观色+15,侦察+17|
|''专长:'' 战斗施法,精通先攻,钢铁意志|
|''环境:'' 温暖的沙漠|
|''组织:'' 单独或成队(2-4)|
|''挑战等级:'' 8|
|''宝物:'' 双倍标准|
|''阵营:'' 总是中立|
|''进化:'' 9-12HD(大型);13-24HD(超大型)|
|''等级调整:'' +4(作为伙伴)|

女面狮身兽是男面狮身兽的雌性版本。

!!!!战斗
在接近战中,女面狮身兽会用其有力的爪子撕下敌人的血肉。尽管它们有如此致命的天赋,但是它们却倾向于尽可能避开战斗。

''耙抓 (Ex):''攻击加值 +11 近战,伤害 1d6+2。

''类法术能力:''施法等级14。该豁免检定DC基于魅力调整值。

|每天3次 - 锐耳术/ 鹰眼术,侦测魔法,阅读魔法,侦测隐形;|
|每天1次 - 通晓语言,物品定位术,解除魔法,移除诅咒 (DC 18),通晓传奇。|

每星期一次,女面狮身兽可以制造一个死亡徽记,一个恐惧徽记,一个疯狂徽记,一个痛苦徽记,一个说服徽记,一个沉睡徽记及一个震慑徽记,除了所有徽记的豁免检定DC都是22以及每个徽记最长只能保存一周之外这些徽记的效果就如同名法术一样 (施法等级18)。


!!!Hieracosphinx(鹰首狮身兽)

''大型魔法兽''

|''生命骰:'' 9d10+18(67hp)|
|''先攻权:'' +2|
|''速度:'' 30尺(6格),飞行90尺(笨拙)|
|''防御等级:'' 19(-1体型,+2敏捷,+8天生),接触11,措手不及17|
|''基本攻击/擒抱:'' +9/+18|
|''攻击:'' 啮咬+13近战(1d10+5)|
|''全回合攻击:'' 啮咬+13近战(1d10+5)及2爪抓+8近战(1d6+2)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 猛扑,耙抓1d6+2|
|''特性:'' 黑暗视觉60尺,昏暗视觉|
|''豁免:'' 强韧+8,反射+8,意志+5|
|''属性:'' 力量21,敏捷14,体质15,智力6,感知15,魅力10|
|''技能:'' 聆听+10,侦察+14|
|''专长:'' 警觉,顺势斩,飞越攻击,猛力攻击|
|''环境:'' 温暖的沙漠|
|''组织:'' 单独,成对,或成群(4-7)|
|''挑战等级:'' 5|
|''宝物:'' 无|
|''阵营:'' 总是混乱邪恶|
|''进化:'' 10-14HD(大型);15-27HD(超大型)|
|''等级调整:'' +3(作为伙伴)|


!!!!战斗
即使面对最危险的对手,鹰首狮身兽也能以利爪将其迅速解决。它们不以智慧见长,但也懂得使用其飞行能力从空中俯冲攻击敌人。

''耙抓 (Ex):''攻击加值 +13 近战,伤害 1d6+2。

技能:鹰首狮身兽在进行侦察检定时可获得+4的种族加值。
!!!蛛行术(Spider Climb)
|变化系|
|''等级:''德鲁伊 2,术士/法师 2|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''被接触的生物|
|''持续时间:'' 10分钟/等级|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可 (无害)|
|受术者可以如蜘蛛一般在垂直表面上攀爬移动,甚至天花板上也可以。在这种情况下,受术者必须腾出双手来爬行。受术者获得20英尺爬行速度,并且在垂直或水平表面(甚至是天花板顶下)爬时不需要进行攀爬检定。受术者保留AC的敏捷加值,且敌人在攻击它时没有任何加值。但它在爬行时不能奔跑。|
|//材料成分://一滴沥青和一只活蜘蛛,受术者需吞下这两种材料。|
!!Spider Eater(食蛛兽)

''大型魔法兽''

|''生命骰:'' 4d10+20(42hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格),飞行60尺(良好)|
|''防御等级:'' 14(-1体型,+1敏捷,+4天生),接触10,措手不及13|
|''基本攻击/擒抱:'' +4/+13|
|''攻击:'' 螯刺+8近战(1d8+5外加毒素)|
|''全回合攻击:'' 螯刺+8近战(1d8+5外加毒素)及啮咬+3近战(1d8+2)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 植入卵囊,毒素|
|''特性:'' 黑暗视觉60尺,行动自如,昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+9,反射+5,意志+2|
|''属性:'' 力量21,敏捷13,体质21,智力2,感知12,魅力10|
|''技能:'' 聆听+10,侦察+11|
|''专长:'' 警觉,闪避|
|''环境:'' 温带森林|
|''组织:'' 单独|
|''挑战等级:'' 5|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 5-12HD(超大型)|
|''等级调整:'' -|


食蛛兽约10尺长,4尺高,翼展约20尺。它重约4000磅。

!!!战斗
食蛛兽使用其有毒的螯刺和有力的颚进行攻击。它常用的战术是先螯刺一下,然后退到远处盘旋,直到毒性发作。

''植入卵囊 (Ex):''雌性食蛛兽会将植入一个被麻痹的大型或更大的生物体内。幼兽会在6个星期之内孵化,它会从内部将宿主吃光。

''毒素 (Ex):''伤口,强韧豁免检定DC 17,无初始伤害,后续伤害为麻痹1d8+5星期。该豁免检定DC基于体质调整值。

''行动自如 (Su):''食蛛兽拥有持续的行动自如能力,其效果如同名法术 (施法等级12)。当食蛛兽作为坐骑时,此效果不会延伸到骑乘者身上。

''技能:''在进行聆听和侦察检定时食蛛兽可获得+4的种族加值。

!!!训练食蛛兽
食蛛兽在作为战斗坐骑前仍需要接受必要的训练。训练一只食蛛兽需要六周并通过DC 25的驯养动物检定。骑乘食蛛兽需要特殊鞍座。食蛛兽载著骑手依然可以战斗,但此骑手除非通过骑乘检定否则将不能同时战斗。

食蛛兽卵的市场价为每枚2000 gp,幼兽每只3000 gp。雇佣一名专业训练师培育或训练食蛛兽的价格为3000 gp。

''负重能力:''对于食蛛兽而言306磅为轻载;307-612磅为中载;613-920磅为重载。 
!!!荆棘丛生(Spike Growth)
|变化系|
|''等级:''德鲁伊 3,巡林客 2|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''区域:'' 一个边长20英尺方形区域/等级|
|''持续时间:'' 1小时/等级(可解消)|
|''豁免:''反射,通过则部分生效|
|''法术抗力:''可|
|法术影响区域内的任何覆地植物都会变得非常坚硬,边缘变的锐利,但外观不变。若地面光秃,植物的根或支根也能产生同样效果。除了水面、冰面、深雪地、沙漠和裸岩等环境,荆棘丛生可以在任何其他室外环境中施展。任何徒步进入或经过受术区域的生物每行经5英尺都会受到1d4点穿刺伤害。|
|任何被这个法术伤害的生物都需通过反射豁免来避免腿脚受伤。若失败,则生物在24小时内速度减半或直到该生物受到治疗(cure)法术(这也能回复生命值)。其他生物可以进行医疗检定来帮其包扎伤口,这要花费10分钟,DC等于此法术的豁免检定的DC。|
|荆棘丛生无法用解除陷阱技能除去。|
|//注意://荆棘丛生这样的魔法陷阱是难以察觉的。只有游荡者可以通过搜索检定来找到它。DC为25+法术等级。荆棘丛生的DC为28(若由巡林客施展,则DC为27)。|
!!!刺石术(Spike Stones)
|变化系[土]|
|''等级:''德鲁伊 4,土 4|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''区域:''一个边长20英尺方形区域/等级|
|''持续时间:'' 1小时/等级(可解消)|
|''豁免:''反射,通过则部分生效|
|''法术抗力:''可|
|多石地面、石头地板以及类似地表表面发生变化,变成尖锐的长刺。|
|刺石术可妨碍通行,并造成伤害。徒步进入过经过该区域的生物速度减半。|
|同时,在此区域内生物每行进5英尺都会受到1d8点穿刺伤害。|
|任何被这个法术所伤的生物都需通过反射豁免来避免腿脚受伤。若失败,则生物在24小时内速度减半或直到该生物受到治疗(cure)法术(这也能回复生命值)。其他生物可以进行医疗检定来帮其包扎伤口,这要花费10分钟,DC等于此法术的豁免检定的DC。|
|刺石术无法用解除陷阱技能除去。|
|//注意://刺石术这样的魔法陷阱是难以察觉的。只有游荡者可以通过搜索检定来找到它。DC为25+法术等级。刺石术的DC为29。|
棘刺盾:这面+1重钢盾表面覆有棘刺。它能像加装尖刺的盾一样被使用。一旦被启动,使用者能让盾牌上的一根刺射出攻击对手,每天3次。射出的刺具有+1增强加值,射程 120英尺,造成1d10伤害(19-20/x2)。被射出的刺第二天会重新长出来。

中等塑能系灵光;CL6;制造魔法武器和防具,魔法飞弹(magic missile);价格5580金币;制造花费2740金币+223经验值。
!!! 奋力冲刺(SPIRITED CHARGE)[一般专长]

''先决条件:''骑术级数1、骑乘战斗、快速骑乘攻击

''效果:''骑乘时,若你进行冲刺动作,你的近战武器可造成两倍伤害(若使用长枪则可造成三倍伤害)。

''特殊:''战士可以选择本专长作为战士的奖励专长。
!!!灵能武器(Spiritual Weapon)
|塑能系[力场]|
|''等级:''牧师 2,战争 2|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''力场魔法武器|
|''持续时间:'' 1轮/等级(可解消)|
|''豁免:''无|
|''法术抗力:''可|
|你可以造出一把由纯力场构成的武器,并指挥它来攻击远处敌人,该武器每一击可造成1d8点力场伤害,每三级施法者等级可多造成一点伤害(最多为15级时的+5)。武器形状是你信奉神祉的偏好武器,或者是对你意义重大,有某种精神象征的武器(见下文),它的重击范围与重击倍数与和它同形体的真实武器相同。从施法那轮开始,该武器即会攻击你指定的敌人,此后每一轮都在你行动之后进行攻击。它用你的基本攻击加值(因此有可能让它在后面的轮次内每轮进行多次攻击)加上施法者的感知调整值作为它的攻击加值。它的攻击视为法术而非武器,因此它可以对有伤害减免的生物造成伤害。作为力场效果,它攻击虚体生物时不会有失手几率。该武器只能从你的方向发动攻击。它不能获得夹击加值,也不能帮助队友夹击。你的专长和战斗行动对它没有影响。如果武器离开法术的有效距离,或离开你的视野,或你不再指挥它,它便会回到你身边盘旋待命。|
|第一轮之后的每一轮里,你都可以用一个移动动作来指挥该武器攻击另一个目标。如果你不这么做,它会继续攻击前一轮的目标。改变目标的那一轮,该武器只能攻击一次。之后若不改变目标,且你的基本攻击加值允许,它可以进行多重攻击。即便造出的灵能武器是远程武器,武器的攻击范围仍旧受法术范围的限制,而不是原来武器的攻击范围,并且改变目标仍旧是个移动动作。|
|物理攻击无法攻击或损伤灵能武器,但是解除魔法(dispel magic),解离术(disintegrate),毁灭黑洞(sphere of annihilation),抹消权杖(rod of cancellation)都会影响它。灵能武器的接触AC为12(10+超小型物体的体型调整值)。|
|若受攻击生物有法术抗力,你需要在灵能武器第一次攻击它时作施法者等级检定(1d20+施法者等级)来对抗对方的法术抗力。若这个武器被成功的抵抗了,则法术解消。反之则在法术持续时间内,武器对该生物能发挥全部正常效果。|
|你造出的武器通常都是你信奉神祗的偏好武器。无神牧师根据其阵营获得武器。中立无神牧师可以造出任何阵营的武器,但他当时的行为必须符合该阵营性质。各阵营的武器如下:|
|//混乱://战斧|
|//邪恶://轻型链枷|
|//善良://战锤|
|//守序://长剑|
''光辉灿烂(Splendor):''只要手持或携带此权杖,持有者的魅力就有+4增强加值。持用者亦可使用此权杖将自己装扮得光鲜亮丽、珠光宝气,此功能每天可使用一次。

魔法创造的装扮可维持12小时,但若持用者企图卖掉或送出装扮任何一部份,或想用作为法术材料以及其他用途,所有装扮立刻消失。如果有任何一部份被夺走亦同。

魔法装扮的价值约为7000到10000金币(1d4+6乘以1000金币)。衣物占1000金币、毛皮5000金币,其他是珠宝价值(最多二十颗宝石,每颗最多200金币)。

此外,权杖还可创造一个径深60尺的豪华天幕,也就是大型丝制帐棚。帐棚内有临时家具,摆满豪华食物,足供百人同乐。整个排场可维持一天。时间一到,天幕及所有相关物品(包括拿到外面的东西)都会消失。此功能每周可使用一次。

施法者等级:12。先决条件:“制造权杖”,“鬼斧神工”、“高等造物术”。交易价格:25000金币。
!! Spot(侦察)(感知)

''检定:''侦察技能主要用来找到那些正在躲藏的人物或生物。通常你的侦察检定要和正尝试不被看见的生物的躲藏检定进行对抗。有些时候一个生物并未有意躲藏,但是还是很难看见,因此还是需要一个成功的侦察检定来找到它。

侦察检定结果比20高通常可以让你注意到附近有隐形生物,尽管你并没有真的看见它。

侦察还可以用来发现易容中的人物(见易容技能),还可以在无法听见的情况下读唇来理解他们说的话。

侦察检定还可以用来决定遭遇开始时的距离。在这种检定上首先要受到一个基于两人或两队之间距离的减值,另外如果做该侦察检定的人物分心了(没有集中精神在所做的事情上),他还将受到另外一个减值。

|!	情况 	|!	减值	|
|^	每10尺距离 	|^	-1	|
|^	侦察者分心 	|^	-5	|


//读唇://要通过读唇来理解他人所说的话,你必须在说话者30尺距离内,并且能够看见他说话,还必须懂得该说话者的语言。(该技能这种的用法是依赖于语言的。)基础DC是15,但是复杂的语句或口齿不清的讲话者都会增加DC。你必须保持看见对方嘴唇的视线。

如果你的侦察检定成功,你能明白一分钟讲话内对方的大致意思,但是通常还会遗漏某些细节。如果检定失败4或更少,那么你无法从读唇中获得信息。如果检定失败5或更多,你得到了一些错误的结论。该检定是暗投的,因此你不知道你是成功了还是失败了5。

''动作:''可变。每当你有机会侦察到事物时,你都可以做一次侦察检定而不用任何动作。试着侦察到之前没看到的事情是一个移动动作。要读唇,你必须先集中精神一整分钟,之后做一次侦察检定,在这一分钟内你不能做其他任何动作(除了以至多半速的速度移动)。

''重试:''可以。你可以试着侦察之前没看到的事物而不受到任何减值。你每分钟都可以尝试读唇。

''特别:''被迷魂的(fascinated)生物在被动的侦察检定上受到-4减值。

如果你有警觉专长(Alertness),你在侦察检定上有+2加值。

巡林客在使用此技能对付宿敌时在侦察检定上有加值。

精灵在侦察检定上有+2种族加值。

半精灵在侦察检定上有+1种族加值。

猎鹰魔宠的主人在日光或其他光亮环境下的侦察检定上有+3加值。

猫头鹰魔宠的主人在阴影或其他昏暗环境下的侦察检定上有+3加值。

!!! 跳跃攻击(SPRING ATTACK)[一般专长]

''先决条件:''敏捷13、闪避、灵活移动、基本攻击加值+4。

''效果:''当你使用近战武器攻击时,在攻击前和攻击后都可移动,但移动总距离不能超过你的速度。此时你不会引发被你攻击的防御方的借机攻击,但仍可能会引发其它生物的借机攻击。当穿着重型盔甲时不可使用本专长。

为利用本专长的效果,你必须在攻击前后都至少移动5英尺。

''特殊:''战士可以选择本专长作为战士的奖励专长。
小妖精是隐居的妖精。它们以自己的方式对抗邪恶保护家园。

!!!战斗
小妖精使用类法术能力与迷你武器来进行战斗。它们喜欢使用埋伏和其他计谋远胜于正面冲突。

''技能:''所有小妖精在进行搜索、侦察及聆听检定时都可获得+2的种族加值。




!!!Grig(格利精)

''超小型妖精''

|''生命骰:'' 1/2d6+1(2hp)|
|''先攻权:'' +4|
|''速度:'' 20尺(4格),飞行40尺(不良)|
|''防御等级:'' 18(+2体型,+4敏捷,+2天生),接触16,措手不及16|
|''基本攻击/擒抱:'' +0/-11|
|''攻击:'' 短剑+6近战(1d3-3/19-20);或长弓+6远程(1d4-3/*3)|
|''全回合攻击:'' 短剑+6近战(1d3-3/19-20);或长弓+6远程(1d4-3/*3)|
|''面宽/触及:'' 2-1/2尺/0尺|
|''特殊攻击:'' 类法术能力,拉提琴|
|''特性:'' 伤害减免5/寒铁,昏暗视觉,法术抗力17|
|''豁免:'' 强韧+1,反射+6,意志+3|
|''属性:'' 力量5,敏捷18,体质13,智力10,感知13,魅力14|
|''技能:'' 手艺(任意1种)+4,逃脱术+8,躲藏+18,跳跃+3,聆听+3,潜行+10*,表演(弦乐器)+6,搜索+2,侦察+3|
|''专长:'' 闪避,隐秘,武器娴熟|
|''环境:'' 温带森林|
|''组织:'' 成队(2-4),成群(6-11),或部落(20-80)|
|''挑战等级:'' 1|
|''宝物:'' 无钱币,50%工艺品,50%物品|
|''阵营:'' 总是中立善良|
|''进化:'' 1-3HD(超小型)|
|''等级调整:'' +3|


格利精能跳到很远的距离。它们有浅蓝色的皮肤、深绿色的头发和棕色多毛的腿,并且通常穿着由钮扣或小宝石做成的浅色背心。格利精站立约1-1/2尺高,重约1磅。

格利精会说木族语。有一些还会说通用语。

!!!!战斗
用小妖精的标准来说,格利精十分勇猛。它们会无畏地用弓和匕首攻击敌人。

''类法术能力:''施法等级9。该豁免检定DC基于魅力调整值。

|//每天3次// - 易容术,纠缠术 (DC 13),隐形术 (仅限自身),烟火术 (DC 14),腹语术 (DC 13)。|

''拉提琴 (Su):''每群格利精中都有一名携带这一把超小型的适合格利精使用的提琴。当提琴演奏时,处于乐器30尺范围内的任何非小妖精生物都必须通过一个DC 12的意志豁免检定否则在提琴演奏期间就会受到如迷舞的效果所影响。该豁免检定DC基于魅力调整值。

''技能:''在进行跳跃检定时格利精可获得+8的种族加值。*在森林区域进行潜行检定时可获得+5的种族加值。


!!!Nixie(尼克精)

''小型妖精 (水生)''

|''生命骰:'' 1d6(3hp)|
|''先攻权:'' +3|
|''速度:'' 20尺(4格),游泳30尺|
|''防御等级:'' 14(+1体型,+3敏捷),接触14,措手不及11|
|''基本攻击/擒抱:'' +0/-6|
|''攻击:'' 短剑+4近战(1d4-2/19-20);或轻弩+4远程(1d6/19-20)|
|''全回合攻击:'' 短剑+4近战(1d4-2/19-20);或轻弩+4远程(1d6/19-20)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 魅惑人类|
|''特性:'' 两栖,伤害减免5/寒铁,昏暗视觉,法术抗力16,水中呼吸,野性认同|
|''豁免:'' 强韧+0,反射+5,意志+3|
|''属性:'' 力量7,敏捷16,体质11,智力12,感知13,魅力18|
|''技能:'' 唬骗+8,手艺(任意1种)+5,逃脱术+6,驯养动物+8,躲藏+7*,聆听+8,表演(唱歌)+7,搜索+3,察言观色+5,侦察+8,游泳+6|
|''专长:'' 警觉,闪避,武器娴熟|
|''环境:'' 温带水域|
|''组织:'' 成队(2-4),成群(6-11),或部落(20-80)|
|''挑战等级:'' 1|
|''宝物:'' 无钱币,50%工艺品(仅限金属及石制品),50%物品(无卷轴)|
|''阵营:'' 总是中立|
|''进化:'' 2-3HD(小型)|
|''等级调整:'' +3|

大多数的尼克精纤细而清秀,有着稍带鳞片的浅绿色皮肤以及深绿色的头发。女性通常把贝壳和珍珠缠绕在头发上,并裹着由各色海草编织成的披肩。男性穿着同样材料制成的裹腰布。尼克精不喜欢离开它们的湖泊。

尼克精站立约4尺高,重约45磅。

尼克精会说水族语和木族语。有些还会说通用语。

!!!!战斗
尼克精依靠其魅惑人类法术来驱退敌人,它们只有在保卫自己和领土时才会战斗。

''魅惑人类 (Sp):''尼克精每天可以施展三次魅惑人类,其效果如同名法术 (施法等级4)。受影响的生物必须通过一个DC 15的意志豁免检定否则就会被魅惑24小时。大部分被魅惑的生物被用来做重活、进行守卫或做一些对于尼克精社群来说很麻烦的任务。效果失效之前,尼克精会护送被魅惑的生物离开并命令它们继续移动。该豁免检定DC基于魅力调整值。

''两栖 (Ex):''尽管尼克精是水生的,但他们仍然可以在陆地上生存。

''水中呼吸 (Sp):''尼克精每天可以施展一次水中呼吸,其效果如同名法术 (施法等级12)。尼克精通常将此效果施放在被它们魅惑的生物身上。

''野性认同 (Ex):''除了尼克精在进行检定时可获得+6的种族加值外,此能力与德鲁伊的职业特性野性认同效果相同。

''技能:''在进行游泳检定来做出特殊动作或躲避危险时,尼克精可获得+8的种族加值。它可在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。

*在水中进行躲藏检定时尼克精可获得+5的种族加值。


!!!Pixie(皮克精)

''小型妖精''

|''生命骰:'' 1d6(3hp)|
|''先攻权:'' +4|
|''速度:'' 20尺(4格),飞行60尺(良好)|
|''防御等级:'' 16(+1体型,+4敏捷,+1天生),接触15,措手不及12|
|''基本攻击/擒抱:'' +0/-6|
|''攻击:'' 短剑+5近战(1d4-2/19-20);或长弓+5远程(1d6-2/*3)|
|''全回合攻击:'' 短剑+5近战(1d4-2/19-20);或长弓+5远程(1d6-2/*3)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 类法术能力,特殊箭矢|
|''特性:'' 伤害减免10/寒铁,高等隐形,昏暗视觉,法术抗力15|
|''豁免:'' 强韧+0,反射+6,意志+4|
|''属性:'' 力量7,敏捷18,体质11,智力16,感知15,魅力16|
|''技能:'' 唬骗+7,专注+4,逃脱术+8,躲藏+8,聆听+10,潜行+8,骑术+8,搜索+9,察言观色+6,侦察+10|
|''专长:'' 警觉,闪避,武器娴熟|
|''环境:'' 温带森林|
|''组织:'' 成队(2-4),成群(6-11),或部落(20-80)|
|''挑战等级:'' 4(会迷舞5)|
|''宝物:'' 无钱币,50%工艺品,50%物品|
|''阵营:'' 总是中立善良|
|''进化:'' 2-3HD(小型)|
|''等级调整:'' +4(会迷舞+6)|

皮克精穿着闪亮的衣物,通常包括有着卷曲尖端的帽子和鞋子。

皮克精站立约2-1/2尺高,重约30磅。

皮克精会说木族语和通用语,并且也可能会懂得其他语言。

!!!!战斗
这些平时无忧无虑的皮克精会勇猛地攻击邪恶生物和不受欢迎的入侵者。它们会善用其隐形及其他能力来整治并赶走敌人。

''高等隐形 (Su):''皮克精在攻击时也可保持隐形状态。此能力一直处于生效状态,但皮克精可以通过一个即时动作展开或解除此效果。

''类法术能力:''施法等级8。该豁免检定DC基于魅力调整值。

|每天1次 - 次等困惑术 (DC 14),舞光术,侦测混乱,侦测善良,侦测邪恶,侦测守序,侦测思想 (DC 15),接触魔法,纠缠术 (DC 14),永恒幻影 (DC 19;只有视觉和听觉)。|

每10个皮克精中就有一个可以每天使用一次迷舞。

''特殊箭矢 (Ex):''皮克精有时会使用能消除记忆或使生物睡眠的非伤害性箭矢。

''丧失记忆:''被此箭矢击中的对手必须通过一个DC 15的意志豁免检定否则会丧失全部记忆。该豁免检定DC基于魅力调整值且包括+2的种族加值。目标保留其技能、语言和职业能力但是会遗忘其他所有事情直到他或她接受医疗术或通过有限祈愿术、祈愿术或奇迹术将记忆恢复为止。

''睡眠:''被此箭矢击中的对手,无论其生命骰数,都必须通过一个DC 15的强韧豁免检定否则会受到如同睡眠术的效果所影响。该豁免检定DC基于魅力调整值且包括+2的种族加值。

!!!!扮演皮克精人物
皮克精人物角色交换其一个妖精生命骰来作为其第一个职业等级。

皮克精人物角色拥有以下种族特性。

*-4力量,+8敏捷,+6智力,+4感知,+6魅力。
*小型体型。防御等级获得+1加值,攻击检定获得+1加值,躲藏检定获得+4加值,擒抱检定受到-4罚值,举重及负重能力为中型体型人物的3/ 4。
*皮克精的基本陆地速度为20尺。它还拥有60尺的飞行速度 (机动性良好)。
*昏暗视觉。
*技能:皮克精在进行聆听、搜索及侦察检定时可获得+2的种族加值。
*种族专长:皮克精可获得闪避作为奖励专长。
*+1天生防御加值。
*特殊攻击 (见上):类法术能力。
*特性 (见上):伤害减免10/ 寒铁,高等隐形,法术抗力等于15 + 职业等级。
*天生使用语言:通用语,木族语。额外语言:精灵语,侏儒语,半身人语。
*天赋职业:术士。
*等级调整+4 (如果皮克精能使用迷舞则为+6)。
!!Squid, Giant(巨乌贼 )

''超大型动物 (水生)''

|''生命骰:'' 12d8+18 (72 hp)|
|''先攻权:'' +3|
|''速度:'' 游泳80尺 (16格)|
|''防御等级:'' 17 (-2体型,+3敏捷,+6天生),接触11,措手不及14|
|''基本攻击/擒抱:'' +9/ +29|
|''攻击:'' 触手 +15 近战 (1d6+8)|
|''全回合攻击:'' 10 触手 +15 近战 (1d6+8)及啮咬 +10 近战 (2d8+4)|
|''面宽/触及:'' 15尺/ 15尺 (触手30尺)|
|''特殊攻击:'' 紧勒 1d6+8,精通攫抓|
|''特性:'' 墨汁云,喷射,昏暗视觉|
|''豁免:'' 强韧+9,反射+11,意志+5|
|''属性:'' 力量26,敏捷17,体质13,智力1,感知12,魅力2|
|''技能:'' 聆听+10,侦察+11,游泳+16|
|''专长:'' 警觉,顽强,坚忍,健壮 (2)|
|''环境:'' 温带水域|
|''组织:'' 单独|
|''挑战等级:'' 9|
|''进化:'' 13-18HD (超大型);19-36HD (巨型)|
|''等级调整:'' -|


这种食量巨大的生物拥有超过20尺长的身体,而且几乎会攻击它们所见到的任何东西。

!!!战斗
对手可以通过击破武器尝试而攻击巨乌贼的触手,就好像触手是武器一样。巨乌贼的每条触手都拥有10点生命值。当巨乌贼使用其正被攻击的触手擒抱住一个目标时,它通常会使用另外的触手来进行对抗对手进行的击破武器尝试的借机攻击。砍断巨乌贼的一条触手会对生物本身造成5点伤害。巨乌贼通常在失去5条触手后就会脱离战斗。被砍掉的触手会在1d10+10天内重新长出来。

''紧勒 (Ex):''一旦通过擒抱检定,巨乌贼就能对对手造成1d6+8点伤害。

''精通攫抓 (Ex):''使用此能力之前,巨乌贼必须通过其触手攻击击中任意体型的对手。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。如果它成功将对手定身,就可以进行紧勒。

*在进行擒抱检定时巨乌贼可获得+4的种族加值。

''墨汁云 (Ex):''每分钟1次,巨乌贼可以通过一个即时动作喷出一道20尺高、20尺宽、20尺长的墨汁云。这团墨汁云能造成全隐蔽效果,巨乌贼通常在打败仗时使用此能力逃离。墨汁云中所有视线都被遮蔽。

''喷射 (Ex):''每轮一次,巨乌贼可以通过一个整轮动作以320尺的速度向后移动。它只能做出直线运动,但喷射时不会引发借机攻击。

''技能:''在进行游泳检定做出特殊动作或躲避危险时,巨乌贼可获得+8的种族加值。它可以在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进
!!Squid(乌贼 )

''中型动物 (水生)''

|''生命骰:'' 3d8 (13 hp)|
|''先攻权:'' +3|
|''速度:'' 游泳60尺 (12格)|
|''防御等级:'' 16 (+3敏捷,+3天生),接触13,措手不及13|
|''基本攻击/擒抱:'' +2/ +8*|
|''攻击:'' 手臂 +4 近战 (0)|
|''全回合攻击:'' 手臂 +4 近战 (0)及啮咬 -1 近战 (1d6+1)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 精通攫抓|
|''特性:'' 墨汁云,喷射,昏暗视觉|
|''豁免:'' 强韧+3,反射+6,意志+2|
|''属性:'' 力量14,敏捷17,体质11,智力1,感知12,魅力2|
|''技能:'' 聆听+7,侦察+7,游泳+10|
|''专长:'' 警觉,坚忍|
|''环境:'' 温带水域|
|''组织:'' 单独或成群 (6-11)|
|''挑战等级:'' 1|
|''进化:'' 4-6HD (中型);7-11HD (大型)|
|''等级调整:'' -|

这种动作灵活的软体动物具有很强的攻击性。在某些区域,它们比鲨还令人感到恐怖。

!!!战斗

''精通攫抓 (Ex):''使用此能力之前,乌贼必须通过其手臂攻击击中任意体型的对手。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。如果它成功将对手定身,就可以自动造成啮咬伤害。*在进行擒抱检定时乌贼可获得+4的种族加值。

''墨汁云 (Ex):''每分钟1次,乌贼可以通过一个即时动作喷出一道10尺高、10尺宽、10尺长的墨汁云。这团墨汁云能造成全隐蔽效果,乌贼通常在打败仗时使用此能力逃离。墨汁云中所有视线都被遮蔽。

''喷射 (Ex):''每轮一次,乌贼可以通过一个整轮动作以240尺的速度向后移动。它只能做出直线运动,但喷射时不会引发借机攻击。

''技能:''在进行游泳检定做出特殊动作或躲避危险时,乌贼可获得+8的种族加值。它可以在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。
<<list-links "[tag[SRD怪物]]">>

如何阅读资料列

每个怪物的各项资料都以相同的格式来描述,如以下所述。

主要资料栏
怪物描述的这个部分包括该生物的基本游戏讯息。

名称
这是该生物一般为人所知的名称
<<list-links "[tag[SRD魔法装备]]">>
一般来说,魔法防具能给穿戴者提供比普通防具更好的防护效果。魔法防具的加值属于增强加值,永远不会超过+5,并能与常规盔甲加值累计(还能再与常规盾牌加值和魔法盾牌增加加值累计)。所有的魔法防具都是精制品防具,防具检定减值比一般防具少1。

除了增强加值,防具可能还具有特殊能力。计算交易价格时,特殊能力通常按额外的增强加值计算,但不会提高防具的AC。一件防具的有效加值(增强加值加上等价后的特殊能力)不能超过+10。防具必须至少有+1的增强加值才能具有特殊能力 。

一套盔甲或一面盾牌可能是由特殊材料制成。掷百分骰:01-95表明物品是标准材料制成,96-100表明是由特殊材料制成。

一套盔甲附带一双靴子和一副手套,但也可用更好的魔法靴子和手套替换。

 

''表:盔甲和盾牌''

|!	次级	 |!	中级	 |!	高级	 |!	物品	 |!	基础价格	 |
|^	01–60	 |^	01–05	 |^	—	 |^	+1盾牌	 |^	1,000金币	 |
|^	61–80	 |^	06–10	 |^	-	 |^	+1盔甲	 |^	1,000金币	 |
|^	81–85	 |^	11–20	 |^	—	 |^	+2盾牌	 |^	4,000金币	 |
|^	86–87	 |^	21–30	 |^	—	 |^	+2盔甲	 |^	4,000金币	 |
|^	—	 |^	31–40	 |^	01–08	 |^	+3盾牌	 |^	9,000金币	 |
|^	—	 |^	41–50	 |^	09–16	 |^	+3盔甲	 |^	9,000金币	 |
|^	—	 |^	51–55	 |^	17–27	 |^	+4盾牌	 |^	16,000金币	 |
|^	—	 |^	56–57	 |^	28–38	 |^	+4盔甲	 |^	16,000金币	 |
|^	—	 |^	—	 |^	39–49	 |^	+5盾牌	 |^	25,000金币	 |
|^	—	 |^	—	 |^	50–57	 |^	+5盔甲	 |^	25,000金币	 |
|^	—	 |^	—	 |^	—	 |^	+6盔甲/盾牌^^1^^	 |^	36,000金币	 |
|^	—	 |^	—	 |^	—	 |^	+7盔甲/盾牌^^1^^	 |^	49,000金币	 |
|^	—	 |^	—	 |^	—	 |^	+8盔甲/盾牌^^1^^	 |^	64,000金币	 |
|^	—	 |^	—	 |^	—	 |^	+9盔甲/盾牌^^1^^	 |^	81,000金币	 |
|^	—	 |^	—	 |^	—	 |^	+10盔甲/盾牌^^1^^	 |^	100,000金币	 |
|^	88–89	 |^	58–60	 |^	58–60	 |^	特殊盔甲^^2^^	 |^	—	 |
|^	90–91	 |^	61–63	 |^	61–63	 |^	特殊盾牌^^3^^	 |^	—	 |
|^	92–100	 |^	64–100	 |^	64–100	 |^	特殊能力,且重掷一次^^4^^	 |^	—	 |

|1//盔甲和盾牌实际上不可能有这么高的增强加值,具有特殊能力的物品才需要参考此值。//|
|2//参照表:特殊盔甲//|
|3//参照表:特殊盾牌//|
|4//参照表:盔甲特殊能力或表:盾牌特殊能力//|


''表:随机盔甲类别''

|!	d%	 |!	盔甲	 |!	盔甲价格^^1^^	 |
|^	1	 |^	厚布甲	 |^	+155金币	 |
|^	2	 |^	皮甲	 |^	+160金币	 |
|^	03–17	 |^	镶嵌皮甲	 |^	+175金币	 |
|^	18–32	 |^	链甲衫	 |^	+250金币	 |
|^	33–42	 |^	革甲	 |^	+165金币	 |
|^	43	 |^	鳞甲	 |^	+200金币	 |
|^	44	 |^	链甲	 |^	+300金币	 |
|^	45–57	 |^	胸甲	 |^	+350金币	 |
|^	58	 |^	板条甲	 |^	+350金币	 |
|^	59	 |^	混织铁甲	 |^	+400金币	 |
|^	60	 |^	半身铠甲	 |^	+750金币	 |
|^	61–100	 |^	全身铠甲	 |^	+1,650金币	 |

|1//与表:盔甲和盾牌的结果相加以决定交易价格//|

所有的魔法盔甲都是精致品盔甲(防具检定减值比一般盔甲少1)



表:随机盾牌类别

|!	d%	 |!	盾牌	 |!	盾牌价格1	 |
|^	01–10	 |^	小圆盾	 |^	+165金币	 |
|^	11–15	 |^	轻木盾	 |^	+153金币	 |
|^	16–20	 |^	轻钢盾	 |^	+159金币	 |
|^	21–30	 |^	重木盾	 |^	+157金币	 |
|^	31–95	 |^	重钢盾	 |^	+170金币	 |
|^	96–100	 |^	塔盾	 |^	+180金币	 |

|1//与表:盔甲和盾牌相加以决定交易价格//|

所有的魔法盾牌都是精致品盾牌(防具检定减值比一般盾牌少1)

 

盔甲和盾牌制造者的施法者等级:有特殊能力的魔法盔甲和盾牌制造者的施法者等级包含在物品说明中。对于只有增强加值的防具来说,制造者施法等级必须至少是增强加值的3倍。如果物品即有增强加值又有特殊能力,则必须符合较高的施法者等级要求。

''盾牌:''盾牌增强加值能与盔甲增强加值累计。使用盾牌攻击时,盾牌增强加值不会带来攻击检定和伤害掷骰的增加。不过,具有猛击特殊能力的盾牌会获得+1的攻击检定和伤害掷骰加值(见该特殊能力的说明)。

你可以制作一面能像魔法武器一样攻击的盾牌。用于提高攻击检定的增强加值,其花费须加在盾牌的AC增强加值的花费上。

与盔甲一样,计算盾牌的交易价格时,须把特殊能力等价为增强加值,再与原来的增强加值累计——尽管特殊能力不能提高AC。一面盾牌的有效加值(增强加值加上等价后的特殊能力)不能超过+10。盾牌必须至少有+1增强加值才能具有特殊能力。

''盾牌硬度与生命值:''每+1增强加值,盾牌获得额外2硬度和10生命值。

''启动:''通常,人物获益于魔法盔甲或盾牌的方式和从非魔法盔甲或盾牌中获益的方式相同——穿上它。如果盔甲或盾牌有特殊能力,使用者通常需要说出启动指令(一个标准动作)才能启动该特殊能力。

''特殊生物的防具:''非类人生物,以及非小体型或中体形生物的防具,其价格中的精致品和魔法增强加值的部分与上面所列一致。

 

!!!!魔法盔甲和盾牌的特殊能力说明

大部分魔法盔甲和盾牌只有增强加值,有些却还具有一个或更多的特殊能力。防具必须至少有+增强加值才能具有特殊能力。

 

''表:盔甲特殊能力''

|!	次级	 |!	中级	 |!	高级	 |!	特殊能力	 |!	基础价格调整值	 |
|^	01–25	 |^	01–05	 |^	01–03	 |^	[[无相|Glamered(无相)]]	 |^	+2,700金币	 |
|^	26–32	 |^	06–08	 |^	04	 |^	[[次级护命|Fortification(护命)]]	 |^	+1加值^^1^^	 |
|^	33–52	 |^	09–11	 |^	—	 |^	[[滑溜|Slick(滑溜)]]	 |^	+3,750金币	 |
|^	53–72	 |^	12–14	 |^	—	 |^	[[暗影|Shadow(暗影)]]	 |^	+3,750金币	 |
|^	73–92	 |^	15–17	 |^	—	 |^	[[蹑行|Silent Moves(蹑行)]]	 |^	+3,750金币	 |
|^	93–96	 |^	18–19	 |^	—	 |^	[[抗法(13)|Spell Resistance(抗法)]]	 |^	+2加值^^1^^	 |
|^	97	 |^	20–29	 |^	05–07	 |^	[[强化滑溜|Slick, Improved(强化滑溜)]]	 |^	+15,000金币	 |
|^	98	 |^	30–39	 |^	08–10	 |^	[[强化暗影|Shadow, Improved(强化暗影)]]	 |^	+15,000金币	 |
|^	99	 |^	40–49	 |^	11–13	 |^	[[强化蹑行|Silent Moves, Improved(强化蹑行)]]	 |^	+15,000金币	 |
|^	—	 |^	50–54	 |^	14–16	 |^	[[抗酸|Acid Resistance(抗酸)]]	 |^	+18,000金币	 |
|^	—	 |^	55–59	 |^	17–19	 |^	[[抗寒|Cold Resistance(抗寒)]]	 |^	+18,000金币	 |
|^	—	 |^	60–64	 |^	20–22	 |^	[[抗电|Electricity Resistance(抗电)]]	 |^	+18,000金币	 |
|^	—	 |^	65–69	 |^	23–25	 |^	[[抗火|Fire Resistance(抗火)]]	 |^	+18,000金币	 |
|^	—	 |^	70–74	 |^	26–28	 |^	[[抗音|Sonic Resistance(抗音)]]	 |^	+18,000金币	 |
|^	—	 |^	75–79	 |^	29–33	 |^	[[幽冥|Ghost Touch(幽冥) 防具]]	 |^	+3加值^^1^^	 |
|^	—	 |^	80–84	 |^	34–35	 |^	[[坚韧|Invulnerability(坚韧)]]	 |^	+3加值^^1^^	 |
|^	—	 |^	85–89	 |^	36–40	 |^	[[中级护命|Fortification(护命)]]	 |^	+3加值^^1^^	 |
|^	—	 |^	90–94	 |^	41–42	 |^	[[抗法(15)|Spell Resistance(抗法)]]	 |^	+3加值^^1^^	 |
|^	—	 |^	95–99	 |^	43	 |^	[[野性|Wild(野性)]]	 |^	+3加值^^1^^	 |
|^	—	 |^	—	 |^	44–48	 |^	[[高等滑溜|Slick, Greater(高等滑溜)]]	 |^	+33,750金币	 |
|^	—	 |^	—	 |^	49–53	 |^	[[高等暗影|Shadow, Greater(高等暗影)]]	 |^	+33,750金币	 |
|^	—	 |^	—	 |^	54–58	 |^	[[高等蹑行|Silent Moves, Greater(高等蹑行)]]	 |^	+33,750金币	 |
|^	—	 |^	—	 |^	59–63	 |^	[[强化抗酸|Acid Resistance, Improved(强化抗酸)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	64–68	 |^	[[强化抗寒|Cold Resistance, Improved(强化抗寒)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	69–73	 |^	[[强化抗电|Electricity Resistance, Improved(强化抗电)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	74–78	 |^	[[强化抗火|Fire Resistance, Improved(强化抗火)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	79–83	 |^	[[强化抗音|Sonic Resistance, Improved(强化抗音)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	84–88	 |^	[[抗法(17)|Spell Resistance(抗法)]]	 |^	+4加值	 |
|^	—	 |^	—	 |^	89	 |^	[[灵化|Etherealness(灵化)]]	 |^	+49,000金币	 |
|^	—	 |^	—	 |^	90	 |^	[[操灵|Undead Controlling(操灵)]]	 |^	+49,000金币	 |
|^	—	 |^	—	 |^	91–92	 |^	[[高级护命|Fortification(护命)]]	 |^	+5加值^^1^^	 |
|^	—	 |^	—	 |^	93–94	 |^	[[抗法(19)|Spell Resistance(抗法)]]	 |^	+5加值^^1^^	 |
|^	—	 |^	—	 |^	95	 |^	[[高等抗酸|Acid Resistance, Greater(高等抗酸)]]	 |^	+66,000金币	 |
|^	—	 |^	—	 |^	96	 |^	[[高等抗寒|Cold Resistance, Greater(高等抗寒)]]	 |^	+66,000金币	 |
|^	—	 |^	—	 |^	97	 |^	[[高等抗电|Electricity Resistance, Greater(高等抗电)]]	 |^	+66,000金币	 |
|^	—	 |^	—	 |^	98	 |^	[[高等抗火|Fire Resistance, Greater(高等抗火)]]	 |^	+66,000金币	 |
|^	—	 |^	—	 |^	99	 |^	[[高等抗音|Sonic Resistance, Greater(高等抗音)]]	 |^	+66,000金币	 |
|^	100	 |^	100	 |^	100	 |^	重新掷骰两次^^2^^	 |^	—	 |



|1//与表:盔甲和盾牌的增强加值相加以决定总交易价格。//|
|2//如果重新掷骰两次得到的特殊能力相同,就只能得到该种特殊能力;若掷不到同等级的同一种特殊能力,则只能得到等级较高者。//|


''表:盾牌特殊能力''

|!	次级	 |!	中级	 |!	高级	 |!	特殊能力	 |!	基础价格调整值	 |
|^	01–20	 |^	01–10	 |^	01–05	 |^	[[吸矢|Arrow Catching(吸矢)]]	 |^	+1加值^^1^^	 |
|^	21–40	 |^	11–20	 |^	06–08	 |^	[[猛击|Bashing(猛击)]]	 |^	+1加值^^1^^	 |
|^	41–50	 |^	21–25	 |^	09–10	 |^	[[目盲|Blinding(目盲)]]	 |^	+1加值^^1^^	 |
|^	51–75	 |^	26–40	 |^	11–15	 |^	[[次级护命|Fortification(护命)]]	 |^	+1加值^^1^^	 |
|^	76–92	 |^	41–50	 |^	16–20	 |^	[[辟矢|Arrow Deflection(辟矢)]]	 |^	+2加值^^1^^	 |
|^	93–97	 |^	51–57	 |^	21–25	 |^	[[活化|Animated(活化)]]	 |^	+2加值^^1^^	 |
|^	98–99	 |^	58–59	 |^	—	 |^	[[抗法(13)|Spell Resistance(抗法)]]	 |^	+2加值^^1^^	 |
|^	—	 |^	60–63	 |^	26–28	 |^	[[抗酸|Acid Resistance(抗酸)]]	 |^	+18,000金币	 |
|^	—	 |^	64–67	 |^	29–31	 |^	[[抗寒|Cold Resistance(抗寒)]]	 |^	+18,000金币	 |
|^	—	 |^	68–71	 |^	32–34	 |^	[[抗电|Electricity Resistance(抗电)]]	 |^	+18,000金币	 |
|^	—	 |^	72–75	 |^	35–37	 |^	[[抗火|Fire Resistance(抗火)]]	 |^	+18,000金币	 |
|^	—	 |^	76–79	 |^	38–40	 |^	[[抗音|Sonic Resistance(抗音)]]	 |^	+18,000金币	 |
|^	—	 |^	80–85	 |^	41–46	 |^	[[幽冥|Ghost Touch(幽冥) 防具]]	 |^	+3加值^^1^^	 |
|^	—	 |^	86–95	 |^	47–56	 |^	[[中级护命|Fortification(护命)]]	 |^	+3加值^^1^^	 |
|^	—	 |^	96–98	 |^	57–58	 |^	[[抗法(15)|Spell Resistance(抗法)]]	 |^	+3加值^^1^^	 |
|^	—	 |^	99	 |^	59	 |^	[[野性|Wild(野性)]]	 |^	+3加值^^1^^	 |
|^	—	 |^	—	 |^	60–64	 |^	[[强化抗酸|Acid Resistance, Improved(强化抗酸)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	65–69	 |^	[[强化抗寒|Cold Resistance, Improved(强化抗寒)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	70–74	 |^	[[强化抗电|Electricity Resistance, Improved(强化抗电)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	75–79	 |^	[[强化抗火|Fire Resistance, Improved(强化抗火)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	80–84	 |^	[[强化抗音|Sonic Resistance, Improved(强化抗音)]]	 |^	+42,000金币	 |
|^	—	 |^	—	 |^	85–86	 |^	[[抗法(17)|Spell Resistance(抗法)]]	 |^	+4加值^^1^^	 |
|^	—	 |^	—	 |^	87	 |^	[[操灵|Undead Controlling(操灵)]]	 |^	+49,000金币	 |
|^	—	 |^	—	 |^	88–91	 |^	[[高级护命|Fortification(护命)]]	 |^	+5加值^^1^^	 |
|^	—	 |^	—	 |^	92–93	 |^	[[镜映|Reflecting(镜映)]]	 |^	+5加值^^1^^	 |
|^	—	 |^	—	 |^	94	 |^	[[抗法(19)|Spell Resistance(抗法)]]	 |^	+5加值^^1^^	 |
|^	—	 |^	—	 |^	95	 |^	[[高等抗酸|Acid Resistance, Greater(高等抗酸)]]	 |^	+66,000金币	 |
|^	—	 |^	—	 |^	96	 |^	[[高等抗寒|Cold Resistance, Greater(高等抗寒)]]		 |^	+66,000金币	 |
|^	—	 |^	—	 |^	97	 |^	[[高等抗电|Electricity Resistance, Greater(高等抗电)]]	 |^	+66,000金币	 |
|^	—	 |^	—	 |^	98	 |^	[[高等抗火|Fire Resistance, Greater(高等抗火)]]	 |^	+66,000金币	 |
|^	—	 |^	—	 |^	99	 |^	[[高等抗音|Sonic Resistance, Greater(高等抗音)]]	 |^	+66,000金币	 |
|^	100	 |^	100	 |^	100	 |^	重新掷骰两次^^2^^	 |^	—	 |

 


|1//与表:盔甲和盾牌的增强加值相加以决定总交易价格。//|
|2//如果重新掷骰两次得到的特殊能力相同,就只能得到该种能力。若掷不到同等级的同一种能力,则只得到等级较高者。//|



 <<list-links "[tag[魔法物品]]+[tag[盔甲]][tag[盾牌]]-[tag[特殊盾牌]]-[tag[特殊盔甲]]+[tag[核心]]+[sort[title]]>>
































''表:特殊盔甲''

|!	次级	 |!	中级	 |!	高级	 |!	特殊盔甲	 |!	交易价格	 |
|^	01–50	 |^	01–25	 |^	—	 |^	[[秘银衫|Mithral Shirt(秘银衫)]]	 |^	1,100金币	 |
|^	51–80	 |^	26–45	 |^	—	 |^	[[龙皮甲|Dragonhide Plate(龙皮甲)]]	 |^	3,300金币	 |
|^	81–100	 |^	46–57	 |^	—	 |^	[[精灵链甲|Elven Chain(精灵链甲)]]	 |^	4,150金币	 |
|^	—	 |^	58–67	 |^	—	 |^	[[犀牛革甲|Rhino Hide(犀牛革甲)]]	 |^	5,165金币	 |
|^	—	 |^	68–82	 |^	01–10	 |^	[[精金胸甲|Adamantine Breastplate(精金胸甲)]]	 |^	10,200金币	 |
|^	—	 |^	83–97	 |^	11–20	 |^	[[矮人铠甲|Dwarven Plate(矮人铠甲)]]	 |^	16,500金币	 |
|^	—	 |^	98–100	 |^	21–32	 |^	[[机运混织甲|Banded Mail of Luck(机运混织甲)]]	 |^	18,900金币	 |
|^	—	 |^	—	 |^	33–50	 |^	[[天翔甲|Celestial Armor(天翔甲)]]	 |^	22,400金币	 |
|^	—	 |^	—	 |^	51–60	 |^	[[伏波铠甲|Plate Armor of the Deep(伏波铠甲)]]	 |^	24,650金币	 |
|^	—	 |^	—	 |^	61–75	 |^	[[号令胸甲|Breastplate of Command(号令胸甲)]]	 |^	25,400金币	 |
|^	—	 |^	—	 |^	76–90	 |^	[[秘银全身加速甲|Mithral Full Plate of Speed(秘银加速全身铠甲)]]	 |^	26,500金币	 |
|^	—	 |^	—	 |^	91–100	 |^	[[恶魔甲|Demon Armor(恶魔甲)]]	 |^	52,260金币	 |

 

!!!!特殊盔甲

以下是特殊盔甲的说明。



 <<list-links "[tag[魔法物品]]+[tag[盔甲]]+[tag[特殊盔甲]]+[tag[核心]]+[sort[title]]>>

''表:特殊盾牌''

|!	次级	 |!	中级	 |!	高级	 |!	特殊盾牌	 |!	交易价格	 |
|^	01–30	 |^	01–20	 |^	—	 |^	[[轻黑木盾|Darkwood Buckler(轻黑木盾)]]	 |^	205金币	 |
|^	31–80	 |^	21–45	 |^	—	 |^	[[重黑木盾|Darkwood Shield(重黑木盾)]]	 |^	257金币	 |
|^	81–95	 |^	46–70	 |^	—	 |^	[[重秘银盾|Mithral Heavy Shield(重秘银盾)]]	 |^	1,020金币	 |
|^	96–100	 |^	71–85	 |^	01–20	 |^	[[法咒盾|Caster’s Shield(法咒盾)]]	 |^	3,153金币	 |
|^	—	 |^	86–90	 |^	21–40	 |^	[[棘刺盾|Spined Shield(棘刺盾)]]	 |^	5,580金币	 |
|^	—	 |^	91–95	 |^	41–60	 |^	[[狮头盾|Lion’s Shield(狮头盾)]]	 |^	9,170金币	 |
|^	—	 |^	96–100	 |^	61–90	 |^	[[飞翼盾|Winged Shield(飞翼盾)]]	 |^	17,257金币	 |
|^	—	 |^	—	 |^	91–100	 |^	[[吞噬盾|Absorbing Shield(吞噬盾)]]	 |^	50,170金币	 |


!!!!特殊盾牌

以下是特殊盾牌的说明。


 <<list-links "[tag[魔法物品]]+[tag[盾牌]]+[tag[特殊盾牌]]+[tag[核心]]+[sort[title]]>>
戒指赋予佩戴者魔法力量。只有极少数戒指有使用次数限制。任何生物都可以佩戴戒指。

人物所佩戴的戒指中,只有前两只有效果,多佩戴的戒指都没有作用。

''外观说明:''戒指的重量很轻。绝大多数以金属铸成,通常是稀有金属(如:金、银、白金等),但也有少数是以玻璃或骨头制成。戒指的AC为13,生命值2点,硬度10,破坏DC=25。

''启动:''一般而言,戒指是以指令启动(属于标准动作,且不会引发借机攻击),或是持续作用而无须启动。有些戒指的使用方式比较特别,须参见说明。

''物品特色:''掷百分骰,若掷骰结果为01,为智能魔法物品;若结果为02-31,戒指上会有一些关于戒指功能的线索(造型,图案等);若结果为32-100,则不具任何特色。智能魔法戒指具有额外能力,有些具有特异力量或特殊意图。

具有使用次数限制的戒指,不能是智能魔法物品。

''表:戒指''

|!	次级	 |!	中级	 |!	高级	 |!	戒指名称	 |!	价格	 |
|^	01–18	 |^	—	 |^	—	 |^	+1[[防护|Protection(防护)戒指]]	 |^	2,000 gp	 |
|^	19–28	 |^	—	 |^	—	 |^	[[羽落|Feather Falling(羽落)戒指]]	 |^	2,200 gp	 |
|^	29–36	 |^	—	 |^	—	 |^	[[维生|Sustenance(维生)戒指]]	 |^	2,500 gp	 |
|^	37–44	 |^	—	 |^	—	 |^	[[攀爬|Climbing(攀爬)戒指]]	 |^	2,500 gp	 |
|^	45–52	 |^	—	 |^	—	 |^	[[跳跃|Jumping(跳跃)戒指]]	 |^	2,500 gp	 |
|^	53–60	 |^	—	 |^	—	 |^	[[游泳|Swimming(游泳)戒指]]	 |^	2,500 gp	 |
|^	61–70	 |^	01–05	 |^	—	 |^	[[反制法术|Counterspells(反制法术)戒指]]	 |^	4,000 gp	 |
|^	71–75	 |^	06–08	 |^	—	 |^	[[心灵护盾|Mind Shielding(心灵护盾)戒指]]	 |^	8,000 gp	 |
|^	76–80	 |^	09–18	 |^	—	 |^	+2[[防护|Protection(防护)戒指]]	 |^	8,000 gp	 |
|^	81–85	 |^	19–23	 |^	—	 |^	[[力场护盾|Force Shield(力场护盾)戒指]]	 |^	8,500 gp	 |
|^	86–90	 |^	24–28	 |^	—	 |^	[[冲撞|Ram(冲撞)]]	 |^	8,600 gp	 |
|^	—	 |^	29–34	 |^	—	 |^	[[强化攀爬|Climbing, Improved(强化攀爬)戒指]]	 |^	10,000 gp	 |
|^	—	 |^	35–40	 |^	—	 |^	[[强化跳跃|Jumping, Improved(强化跳跃)戒指]]	 |^	10,000 gp	 |
|^	—	 |^	41–46	 |^	—	 |^	[[强化游泳|Swimming, Improved(强化游泳)戒指]]	 |^	10,000 gp	 |
|^	91–93	 |^	47–51	 |^	—	 |^	[[化兽为友|Animal Friendship(化兽为友)]]	 |^	10,800 gp	 |
|^	94–96	 |^	50–56	 |^	01–02	 |^	[[次级抵抗元素伤害|Energy Resistance(元素抵抗)戒指]]	 |^	12,000 gp	 |
|^	97–98	 |^	57–61	 |^	—	 |^	[[变色龙|Chameleon Power(变色龙)]]	 |^	12,700 gp	 |
|^	99–100	 |^	62–66	 |^	—	 |^	[[水面行走|Water Walking(水面行走)戒指]]	 |^	15,000 gp	 |
|^	—	 |^	67–71	 |^	03–07	 |^	+3[[防护|Protection(防护)戒指]]	 |^	18,000 gp	 |
|^	—	 |^	72–76	 |^	08–10	 |^	[[次级储法|Spell Storing, Minor(次级储法)戒指]]	 |^	18,000 gp	 |
|^	—	 |^	77–81	 |^	11–15	 |^	[[隐形|Invisibility(隐形)戒指]]	 |^	20,000 gp	 |
|^	—	 |^	82–85	 |^	16–19	 |^	[[巫术(Ⅰ)|Wizardry(巫术)]]	 |^	20,000 gp	 |
|^	—	 |^	86–90	 |^	20–25	 |^	[[反射闪避|Evasion(反射闪避)戒指]]	 |^	25,000 gp	 |
|^	—	 |^	91–93	 |^	26–28	 |^	[[X光扫描|X-Ray Vision(X光扫描)]]	 |^	25,000 gp	 |
|^	—	 |^	94–97	 |^	29–32	 |^	[[闪现|Blinking(闪现)戒指]]	 |^	27,000 gp	 |
|^	—	 |^	98–100	 |^	33–39	 |^	[[中等抵抗元素伤害|Energy Resistance(元素抵抗)戒指]]	 |^	28,000 gp	 |
|^	—	 |^	—	 |^	40–49	 |^	+4[[防护|Protection(防护)戒指]]	 |^	32,000 gp	 |
|^	—	 |^	—	 |^	50–55	 |^	[[巫术(II)|Wizardry(巫术)]]	 |^	40,000 gp	 |
|^	—	 |^	—	 |^	56–60	 |^	[[行动自如|Freedom of Movement(行动自如)戒指]]	 |^	40,000 gp	 |
|^	—	 |^	—	 |^	61–63	 |^	[[高等抵抗元素伤害|Energy Resistance(元素抵抗)戒指]]	 |^	44,000 gp	 |
|^	—	 |^	—	 |^	64–65	 |^	[[护卫同伴|Friend Shield(护卫同伴)戒指]]	 |^	50,000 gp	 |
|^	—	 |^	—	 |^	66–70	 |^	+5[[防护|Protection(防护)戒指]]	 |^	50,000 gp	 |
|^	—	 |^	—	 |^	71–74	 |^	[[流星|Shooting Stars(流星)]]	 |^	50,000 gp	 |
|^	—	 |^	—	 |^	75–79	 |^	[[储法|Spell Storing(中级储法)戒指]]	 |^	50,000 gp	 |
|^	—	 |^	—	 |^	80–83	 |^	[[巫术(III)|Wizardry(巫术)]]	 |^	70,000 gp	 |
|^	—	 |^	—	 |^	84–86	 |^	[[心灵遥控|Telekinesis(心灵遥控)戒指]]	 |^	75,000 gp	 |
|^	—	 |^	—	 |^	87–88	 |^	[[再生|Regeneration(再生)戒指]]	 |^	90,000 gp	 |
|^	—	 |^	—	 |^	89	 |^	[[三愿|Three Wishes(三愿)]]	 |^	97,950 gp	 |
|^	—	 |^	—	 |^	90–92	 |^	[[法术反转|Spell Turning(法术反转)戒指]]	 |^	98,280 gp	 |
|^	—	 |^	—	 |^	93–94	 |^	[[巫术(IV)|Wizardry(巫术)]] |^	100,000 gp	 |
|^	—	 |^	—	 |^	95	 |^	[[呼唤风巨灵|Djinni Calling(呼唤风巨灵)]]	 |^	125,000 gp	 |
|^	—	 |^	—	 |^	96	 |^	[[命令元素(风)|Elemental Command(命令元素)戒指]]	 |^	200,000 gp	 |
|^	—	 |^	—	 |^	97	 |^	[[命令元素(土)|Elemental Command(命令元素)戒指]]	 |^	200,000 gp	 |
|^	—	 |^	—	 |^	98	 |^	[[命令元素(火)|Elemental Command(命令元素)戒指]]	 |^	200,000 gp	 |
|^	—	 |^	—	 |^	99	 |^	[[命令元素(水)|Elemental Command(命令元素)戒指]]	 |^	200,000 gp	 |
|^	—	 |^	—	 |^	100	 |^	[[高等储法|Spell Storing, Major(高等储法)戒指]]	 |^	200,000 gp	 |

''戒指描述:''

 <<list-links "[tag[魔法物品]]+[tag[戒指]]+[tag[核心]]+[sort[title]]>>

''Table: 次级奇物''

|!	d%	 |!	名称	 |!	价格	 |
|^	01	 |^	夸尔羽符(锚)	 |^	50 gp	 |
|^	02	 |^	万溶剂	 |^	50 gp	 |
|^	03	 |^	爱情灵药	 |^	150 gp	 |
|^	04	 |^	防腐软膏	 |^	150 gp	 |
|^	05	 |^	夸尔羽符(风扇)	 |^	200 gp	 |
|^	06	 |^	无踪粉	 |^	250 gp	 |
|^	07	 |^	躲藏药剂	 |^	250 gp	 |
|^	08	 |^	潜行药剂	 |^	250 gp	 |
|^	09	 |^	游泳药剂	 |^	250 gp	 |
|^	10	 |^	洞察药水	 |^	250 gp	 |
|^	11	 |^	炼银软膏	 |^	250 gp	 |
|^	12	 |^	夸尔羽符(鸟)	 |^	300 gp	 |
|^	13	 |^	夸尔羽符(树)	 |^	400 gp	 |
|^	14	 |^	夸尔羽符(天鹅船)	 |^	450 gp	 |
|^	15	 |^	真实药水	 |^	500 gp	 |
|^	16	 |^	夸尔羽符(鞭)	 |^	500 gp	 |
|^	17	 |^	乾燥粉	 |^	850 gp	 |
|^	18	 |^	灰色魔术袋	 |^	900 gp	 |
|^	19	 |^	贤者之手	 |^	900 gp	 |
|^	20	 |^	防御护腕+1	 |^	1,000 gp	 |
|^	21	 |^	抗力斗蓬+1	 |^	1,000 gp	 |
|^	22	 |^	一级法力再生珍珠	 |^	1,000 gp	 |
|^	23	 |^	虔信经匣	 |^	1,000 gp	 |
|^	24	 |^	滑溜软膏	 |^	1,000 gp	 |
|^	25	 |^	喷火药水	 |^	1,100 gp	 |
|^	26	 |^	唤鼠乐笙	 |^	1,150 gp	 |
|^	27	 |^	幻影尘	 |^	1,200 gp	 |
|^	28	 |^	微观镜片	 |^	1,250 gp	 |
|^	29	 |^	护盾别针	 |^	1,500 gp	 |
|^	30	 |^	火球项链I	 |^	1,650 gp	 |
|^	31	 |^	显像粉	 |^	1,800 gp	 |
|^	32	 |^	易容帽	 |^	1,800 gp	 |
|^	33	 |^	幻音乐笙	 |^	1,800 gp	 |
|^	34	 |^	艾罗娜的箭袋	 |^	1,800 gp	 |
|^	35	 |^	天然护符+1	 |^	2,000 gp	 |
|^	36	 |^	便利袋	 |^	2,000 gp	 |
|^	37	 |^	隐雾号角	 |^	2,000 gp	 |
|^	38	 |^	元素宝石	 |^	2,250 gp	 |
|^	39	 |^	骸骨法袍	 |^	2,400 gp	 |
|^	40	 |^	至尊胶	 |^	2,400 gp	 |
|^	41	 |^	次元袋I	 |^	2,500 gp	 |
|^	42	 |^	精灵靴	 |^	2,500 gp	 |
|^	43	 |^	北地靴	 |^	2,500 gp	 |
|^	44	 |^	诚实蜡烛	 |^	2,500 gp	 |
|^	45	 |^	精灵斗蓬	 |^	2,500 gp	 |
|^	46	 |^	鹰眼镜片	 |^	2,500 gp	 |
|^	47	 |^	破魔圣甲虫	 |^	2,500 gp	 |
|^	48	 |^	火球项链II	 |^	2,700 gp	 |
|^	49	 |^	警报石	 |^	2,700 gp	 |
|^	50	 |^	魔术袋(铁锈色)	 |^	3,000 gp	 |
|^	51	 |^	力场珠	 |^	3,000 gp	 |
|^	52	 |^	开门钟琴	 |^	3,000 gp	 |
|^	53	 |^	加速马蹄铁	 |^	3,000 gp	 |
|^	54	 |^	攀爬绳	 |^	3,000 gp	 |
|^	55	 |^	隐身粉	 |^	3,500 gp	 |
|^	56	 |^	侦察透镜	 |^	3,500 gp	 |
|^	57	 |^	德鲁伊祭袍	 |^	3,750 gp	 |
|^	58	 |^	异能塑像(白银渡鸦)	 |^	3,800 gp	 |
|^	59	 |^	健康护符+2	 |^	4,000 gp	 |
|^	60	 |^	防御护腕+2	 |^	4,000 gp	 |
|^	61	 |^	魅力斗篷+2	 |^	4,000 gp	 |
|^	62	 |^	抗力斗篷+2	 |^	4,000 gp	 |
|^	63	 |^	食人魔巨力手套	 |^	4,000 gp	 |
|^	64	 |^	辟矢夺箭手套	 |^	4,000 gp	 |
|^	65	 |^	敏捷手套+2	 |^	4,000 gp	 |
|^	66	 |^	智力头带+2	 |^	4,000 gp	 |
|^	67	 |^	艾恩石(透明纺锤形)	 |^	4,000 gp	 |
|^	68	 |^	卡夫统灵药	 |^	4,000 gp	 |
|^	69	 |^	惊奇颜料	 |^	4,000 gp	 |
|^	70	 |^	2级法力再生珍珠	 |^	4,000 gp	 |
|^	71	 |^	感知护符+2	 |^	4,000 gp	 |
|^	72	 |^	石化软膏	 |^	4,000 gp	 |
|^	73	 |^	火球项链III	 |^	4,350 gp	 |
|^	74	 |^	劝诱头饰	 |^	4,500 gp	 |
|^	75	 |^	蛛行鞋	 |^	4,800 gp	 |
|^	76	 |^	冥想薰香	 |^	4,900 gp	 |
|^	77	 |^	次元袋II	 |^	5,000 gp	 |
|^	78	 |^	次级神射护腕	 |^	5,000 gp	 |
|^	79	 |^	艾恩石(土红棱形)	 |^	5,000 gp	 |
|^	80	 |^	通晓语言和阅读魔法头盔	 |^	5,200 gp	 |
|^	81	 |^	脱逃背心	 |^	5,200 gp	 |
|^	82	 |^	无尽烟壶	 |^	5,400 gp	 |
|^	83	 |^	莫林汤勺	 |^	5,400 gp	 |
|^	84	 |^	火球项链IV	 |^	5,400 gp	 |
|^	85	 |^	跑跳靴	 |^	5,500 gp	 |
|^	86	 |^	风扇	 |^	5,500 gp	 |
|^	87	 |^	天武护符+1	 |^	6,000 gp	 |
|^	88	 |^	漂浮马蹄铁	 |^	6,000 gp	 |
|^	89	 |^	颤栗乐笙	 |^	6,000 gp	 |
|^	90	 |^	火球项链V	 |^	5,850 gp	 |
|^	91	 |^	游泳攀爬手套	 |^	6,250 gp	 |
|^	92	 |^	魔术袋(褐色)	 |^	6,300 gp	 |
|^	93	 |^	次级爆裂头饰	 |^	6,480 gp	 |
|^	94	 |^	御善防恶号角	 |^	6,500 gp	 |
|^	95	 |^	杂货法袍	 |^	7,000 gp	 |
|^	96	 |^	折叠船	 |^	7,200 gp	 |
|^	97	 |^	刺鳐鱼斗篷	 |^	7,200 gp	 |
|^	98	 |^	换气瓶	 |^	7,250 gp	 |
|^	99	 |^	次元袋III	 |^	7,400 gp	 |
|^	100	 |^	保健护符	 |^	7,400 gp	 |


''Table: 中级奇物''

|!	d%	 |!	物品名称	 |!	价格	 |
|^	01	 |^	浮空靴	 |^	7,500 gp	 |
|^	02	 |^	魅惑竖琴	 |^	7,500 gp	 |
|^	03	 |^	天生防御护符+2	 |^	8,000 gp	 |
|^	04	 |^	魔像手册(肉身魔像)	 |^	8,000 gp	 |
|^	05	 |^	荣耀之手	 |^	8,000 gp	 |
|^	06	 |^	艾恩石(深红球形)	 |^	8,000 gp	 |
|^	07	 |^	艾恩石(蓝色球形)	 |^	8,000 gp	 |
|^	08	 |^	艾恩石(淡蓝棱形)	 |^	8,000 gp	 |
|^	09	 |^	艾恩石(粉红及绿色球形)	 |^	8,000 gp	 |
|^	10	 |^	艾恩石(粉红棱形)	 |^	8,000 gp	 |
|^	11	 |^	艾恩石(深红及蓝色球形)	 |^	8,000 gp	 |
|^	12	 |^	幻术牌组	 |^	8,100 gp	 |
|^	13	 |^	火球项链VI	 |^	8,100 gp	 |
|^	14	 |^	祈神蜡烛	 |^	8,400 gp	 |
|^	15	 |^	防御护腕+3	 |^	9,000 gp	 |
|^	16	 |^	抗力斗篷+3	 |^	9,000 gp	 |
|^	17	 |^	无尽水源	 |^	9,000 gp	 |
|^	18	 |^	适应项链	 |^	9,000 gp	 |
|^	19	 |^	3级法术再生珍珠	 |^	9,000 gp	 |
|^	20	 |^	重骰	 |^	–	 |
|^	21	 |^	异能塑像(蛇纹石猫头鹰)	 |^	9,100 gp	 |
|^	22	 |^	火球项链VII	 |^	8,700 gp	 |
|^	23	 |^	次级念珠项链	 |^	9,600 gp	 |
|^	24	 |^	次元袋IV	 |^	10,000 gp	 |
|^	25	 |^	异能塑像(青铜狮鹫)	 |^	10,000 gp	 |
|^	26	 |^	异能塑像(黑檀苍蝇)	 |^	10,000 gp	 |
|^	27	 |^	储物手套	 |^	10,000 gp	 |
|^	28	 |^	艾恩石(深蓝棱形)	 |^	10,000 gp	 |
|^	29	 |^	石马(骏马)	 |^	10,000 gp	 |
|^	30	 |^	郎中披风	 |^	10,080 gp	 |
|^	31	 |^	驱散不死生物护符	 |^	11,000 gp	 |
|^	32	 |^	锈蚀手套	 |^	11,500 gp	 |
|^	33	 |^	速度靴	 |^	12,000 gp	 |
|^	34	 |^	夜视镜片	 |^	12,000 gp	 |
|^	35	 |^	魔像手册(粘土魔像)	 |^	12,000 gp	 |
|^	36	 |^	读心徽章	 |^	12,000 gp	 |
|^	37	 |^	刺耳乐笙	 |^	12,000 gp	 |
|^	38	 |^	祝福书	 |^	12,500 gp	 |
|^	39	 |^	武僧腰带	 |^	13,000 gp	 |
|^	40	 |^	光彩夺目宝石	 |^	13,000 gp	 |
|^	41	 |^	土木七弦琴	 |^	13,000 gp	 |
|^	42	 |^	节肢斗篷	 |^	14,000 gp	 |
|^	43	 |^	石马(军马)	 |^	14,800 gp	 |
|^	44	 |^	矮人腰带	 |^	14,900 gp	 |
|^	45	 |^	终止伤害护符	 |^	15,000 gp	 |
|^	46	 |^	梭螺号角	 |^	15,100 gp	 |
|^	47	 |^	席伦珍珠	 |^	15,300 gp	 |
|^	48	 |^	异能塑像(玛瑙犬)	 |^	15,500 gp	 |
|^	49	 |^	健康护符+4	 |^	16,000 gp	 |
|^	50	 |^	巨力腰带+4	 |^	16,000 gp	 |
|^	51	 |^	飞翼靴	 |^	16,000 gp	 |
|^	52	 |^	防御护腕+4	 |^	16,000 gp	 |
|^	53	 |^	魅力斗篷+4	 |^	16,000 gp	 |
|^	54	 |^	抗力斗篷+4	 |^	16,000 gp	 |
|^	55	 |^	敏捷手套+4	 |^	16,000 gp	 |
|^	56	 |^	智力头带+4	 |^	16,000 gp	 |
|^	57	 |^	4级法力再生珍珠	 |^	16,000 gp	 |
|^	58	 |^	感知护符+4	 |^	16,000 gp	 |
|^	59	 |^	锐锋之鞘	 |^	16,000 gp	 |
|^	60	 |^	异能塑像(黄金狮子)	 |^	16,500 gp	 |
|^	61	 |^	噪音钟琴	 |^	16,800 gp	 |
|^	62	 |^	飞天扫帚	 |^	17,000 gp	 |
|^	63	 |^	异能塑像(大理石象)	 |^	17,000 gp	 |
|^	64	 |^	天生防御护符+3	 |^	18,000 gp	 |
|^	65	 |^	艾恩石(七彩纺锤形)	 |^	18,000 gp	 |
|^	66	 |^	友伴手镯	 |^	19,000 gp	 |
|^	67	 |^	飞天魔毯(5X5)	 |^	20,000 gp	 |
|^	68	 |^	音爆号角	 |^	20,000 gp	 |
|^	69	 |^	艾恩石(淡紫椭圆形)	 |^	20,000 gp	 |
|^	70	 |^	艾恩石(珍珠白纺锤形)	 |^	20,000 gp	 |
|^	71	 |^	携带式次元洞	 |^	20,000 gp	 |
|^	72	 |^	幸运石	 |^	20,000 gp	 |
|^	73	 |^	异能塑像(象牙山羊)	 |^	21,000 gp	 |
|^	74	 |^	纠缠绳	 |^	21,000 gp	 |
|^	75	 |^	魔像手册(石魔像)	 |^	22,000 gp	 |
|^	76	 |^	头骨面具	 |^	22,000 gp	 |
|^	77	 |^	泰坦鹤嘴锄	 |^	23,348 gp	 |
|^	78	 |^	爆裂头饰	 |^	23,760 gp	 |
|^	79	 |^	天武护符+2	 |^	24,000 gp	 |
|^	80	 |^	次级移位斗篷	 |^	24,000 gp	 |
|^	81	 |^	潜水头盔	 |^	24,000 gp	 |
|^	82	 |^	高等神射护腕	 |^	25,000 gp	 |
|^	83	 |^	防御护腕+5	 |^	25,000 gp	 |
|^	84	 |^	抗力斗篷+5	 |^	25,000 gp	 |
|^	85	 |^	丧志镜片	 |^	25,000 gp	 |
|^	86	 |^	5级法力再生珍珠	 |^	25,000 gp	 |
|^	87	 |^	泰坦木槌	 |^	25,305 gp	 |
|^	88	 |^	念珠项链	 |^	25,800 gp	 |
|^	89	 |^	蝙蝠斗篷	 |^	26,000 gp	 |
|^	90	 |^	捆仙索	 |^	26,000 gp	 |
|^	91	 |^	抗冻魔方	 |^	27,000 gp	 |
|^	92	 |^	心灵感应头盔	 |^	27,000 gp	 |
|^	93	 |^	辟毒护符	 |^	27,000 gp	 |
|^	94	 |^	虹光法袍	 |^	27,000 gp	 |
|^	95	 |^	强身手册+1	 |^	27,500 gp	 |
|^	96	 |^	建骨手册+1	 |^	27,500 gp	 |
|^	97	 |^	灵巧手册+1	 |^	27,500 gp	 |
|^	98	 |^	静思卷册+1	 |^	27,500 gp	 |
|^	99	 |^	统驭卷册+1	 |^	27,500 gp	 |
|^	100	 |^	通晓卷册+1	 |^	27,500 gp	 |


''Table: 高级奇物''

|!	d%	 |!	名称	 |!	价格	 |
|^	01	 |^	次元镣铐	 |^	28,000	 |
|^	02	 |^	异能塑像(黑耀石驹)	 |^	28,500	 |
|^	03	 |^	慌乱鼓	 |^	30,000	 |
|^	04	 |^	艾恩石(橙色)	 |^	30,000	 |
|^	05	 |^	艾恩石(淡绿棱形)	 |^	30,000	 |
|^	06	 |^	显象提灯	 |^	30,000	 |
|^	07	 |^	融和法袍	 |^	30,000	 |
|^	08	 |^	天生防御护符+4	 |^	32,000	 |
|^	09	 |^	回避侦测护符	 |^	35,000	 |
|^	10	 |^	飞天魔毯(5X10)	 |^	35,000	 |
|^	11	 |^	魔像手册(钢铁魔像)	 |^	35,000	 |
|^	12	 |^	健康护符+6	 |^	36,000	 |
|^	13	 |^	巨力腰带+6	 |^	36,000	 |
|^	14	 |^	防御护腕+6	 |^	36,000	 |
|^	15	 |^	魅力斗篷+6	 |^	36,000	 |
|^	16	 |^	敏捷手套+6	 |^	36,000	 |
|^	17	 |^	智力头带+6	 |^	36,000	 |
|^	18	 |^	艾恩石(鲜紫棱形)	 |^	36,000	 |
|^	19	 |^	6级法力再生珍珠	 |^	36,000	 |
|^	20	 |^	感知护符+6	 |^	36,000	 |
|^	21	 |^	防护圣甲虫	 |^	38,000	 |
|^	22	 |^	艾恩石(淡紫及绿色椭圆形)	 |^	40,000	 |
|^	23	 |^	空间跳跃环	 |^	40,000	 |
|^	24	 |^	水晶球	 |^	42,000	 |
|^	25	 |^	魔像手册(高等石魔像)	 |^	44,000	 |
|^	26	 |^	天变球	 |^	48,000	 |
|^	27	 |^	传送靴	 |^	49,000	 |
|^	28	 |^	防御护腕+7	 |^	49,000	 |
|^	29	 |^	7级法力再生珍珠	 |^	49,000	 |
|^	30	 |^	天生防御护符+5	 |^	50,000	 |
|^	31	 |^	高等移位斗篷	 |^	50,000	 |
|^	32	 |^	识破隐形水晶球	 |^	50,000	 |
|^	33	 |^	英灵号角	 |^	50,000	 |
|^	34	 |^	侦测思想水晶球	 |^	51,000	 |
|^	35	 |^	飞天魔毯(6X9)	 |^	53,000	 |
|^	36	 |^	天武护符+3	 |^	54,000	 |
|^	37	 |^	飞翔之翼	 |^	54,000	 |
|^	38	 |^	灵化斗篷	 |^	55,000	 |
|^	39	 |^	折叠要塞	 |^	55,000	 |
|^	40	 |^	强身手册+2	 |^	55,000	 |
|^	41	 |^	建骨手册+2	 |^	55,000	 |
|^	42	 |^	灵巧手册+2	 |^	55,000	 |
|^	43	 |^	静思卷册+2	 |^	55,000	 |
|^	44	 |^	统驭卷册+2	 |^	55,000	 |
|^	45	 |^	通晓卷册+2	 |^	55,000	 |
|^	46	 |^	魅惑镜片	 |^	56,000	 |
|^	47	 |^	星光法袍	 |^	58,000	 |
|^	48	 |^	飞天魔毯(10X10)	 |^	60,000	 |
|^	49	 |^	黑暗头骨	 |^	60,000	 |
|^	50	 |^	力场魔方	 |^	62,000	 |
|^	51	 |^	防御护腕+8	 |^	64,000	 |
|^	52	 |^	8级法力再生珍珠	 |^	64,000	 |
|^	53	 |^	心灵感应水晶球	 |^	70,000	 |
|^	54	 |^	高等爆裂头饰	 |^	70,000	 |
|^	55	 |^	法力再生珍珠(两个法术)	 |^	70,000	 |
|^	56	 |^	传送头盔	 |^	73,500	 |
|^	57	 |^	真知宝石	 |^	75,000	 |
|^	58	 |^	法师之袍	 |^	75,000	 |
|^	59	 |^	坚信之袍	 |^	76,000	 |
|^	60	 |^	真实目光水晶球	 |^	80,000	 |
|^	61	 |^	9级法力再生珍珠	 |^	81,000	 |
|^	62	 |^	穿界井孔	 |^	82,000	 |
|^	63	 |^	强身手册+3	 |^	82,500	 |
|^	64	 |^	建骨手册+3	 |^	82,500	 |
|^	65	 |^	灵巧手册+3	 |^	82,500	 |
|^	66	 |^	静思卷册+3	 |^	82,500	 |
|^	67	 |^	统驭卷册+3	 |^	82,500	 |
|^	68	 |^	通晓卷册+3	 |^	82,500	 |
|^	69	 |^	夸力许装置	 |^	90,000	 |
|^	70	 |^	法术抗力斗篷	 |^	90,000	 |
|^	71	 |^	死敌分身镜	 |^	92,000	 |
|^	72	 |^	高等念珠项链	 |^	95,800	 |
|^	73	 |^	天武护符+4	 |^	96,000	 |
|^	74	 |^	石化镜片	 |^	98,000	 |
|^	75	 |^	水元素之杯	 |^	100,000	 |
|^	76	 |^	火元素火盆	 |^	100,000	 |
|^	77	 |^	风元素提炉	 |^	100,000	 |
|^	78	 |^	土元素魔石	 |^	100,000	 |
|^	79	 |^	强身手册+4	 |^	110,000	 |
|^	80	 |^	建骨手册+4	 |^	110,000	 |
|^	81	 |^	灵巧手册+4	 |^	110,000	 |
|^	82	 |^	静思卷册+4	 |^	110,000	 |
|^	83	 |^	统驭卷册+4	 |^	110,000	 |
|^	84	 |^	通晓卷册+4	 |^	110,000	 |
|^	85	 |^	异界传送护符	 |^	120,000	 |
|^	86	 |^	百眼法袍	 |^	120,000	 |
|^	87	 |^	光辉头盔	 |^	125,000	 |
|^	88	 |^	强身手册+5	 |^	137,500	 |
|^	89	 |^	建骨手册+5	 |^	137,500	 |
|^	90	 |^	灵巧手册+5	 |^	137,500	 |
|^	91	 |^	静思卷册+5	 |^	137,500	 |
|^	92	 |^	统驭卷册+5	 |^	137,500	 |
|^	93	 |^	通晓卷册+5	 |^	137,500	 |
|^	94	 |^	收妖瓶	 |^	145,000	 |
|^	95	 |^	天武护符+5	 |^	150,000	 |
|^	96	 |^	混沌之钻	 |^	160,000	 |
|^	97	 |^	异界之门魔方	 |^	164,000	 |
|^	98	 |^	收妖瓶	 |^	170,000	 |
|^	99	 |^	灵光镜	 |^	175,000	 |
|^	100	 |^	慑心镜	 |^	200,000	 |

 <<list-links "[tag[魔法物品]]+[tag[奇物]]+[tag[核心]]+[sort[title]]>>
权杖外形类似节杖,具有独特的魔力而且多半没有使用次数限制,任何人都可以使用权杖。

''外观说明:''权杖重约五磅,长二至三英尺,通常由铁或其他金属制成(由于质地坚硬,常可当作轻型硬头锤或木棒,详见其描述)。AC为9,生命值10点,破坏DC=27。

''启动:''每支权杖启动方式均不同。请参见各权杖说明。

''物品特色:''掷百分骰,若掷骰结果为01,为智能魔法物品;若结果为02-31,权杖上会有一些关于权杖功能的线索(造型,图案等);若结果为32-100,则不具任何特色。智能魔法权杖具有额外能力,有些具有特异力量或特殊意图。

具有使用次数限制的权杖,不能是智能魔法物品。

''表:权杖''

|!	中级	 |!	高级	 |!	权杖名称	 |!	价格	 |
|^	01–07	 |^	—	 |^	次级超魔扩展	 |^	3,000 gp	 |
|^	08–14	 |^	—	 |^	次级超魔延时	 |^	3,000 gp	 |
|^	15–21	 |^	—	 |^	次级超魔默发	 |^	3,000 gp	 |
|^	22–28	 |^	—	 |^	不动	 |^	5,000 gp	 |
|^	29–35	 |^	—	 |^	次级超魔强效	 |^	9,000 gp	 |
|^	36–42	 |^	—	 |^	金属及矿物探知	 |^	10,500 gp	 |
|^	43–53	 |^	01–04	 |^	抹消	 |^	11,000 gp	 |
|^	54–57	 |^	05–06	 |^	中级超魔扩展	 |^	11,000 gp	 |
|^	58–61	 |^	07–08	 |^	中级超魔延时	 |^	11,000 gp	 |
|^	62–65	 |^	09–10	 |^	中级超魔默发	 |^	11,000 gp	 |
|^	66–71	 |^	11–14	 |^	惊异	 |^	12,000 gp	 |
|^	72–79	 |^	15–18	 |^	蚺蛇	 |^	13,000 gp	 |
|^	80–83	 |^	—	 |^	次级超魔极效	 |^	14,000 gp	 |
|^	84–89	 |^	19–21	 |^	火焰扑灭	 |^	15,000 gp	 |
|^	90–97	 |^	22–25	 |^	毒蛇	 |^	19,000 gp	 |
|^	—	 |^	26–30	 |^	侦测敌人	 |^	23,500 gp	 |
|^	—	 |^	31–36	 |^	高等超魔扩展	 |^	24,500 gp	 |
|^	—	 |^	37–42	 |^	高等超魔延时	 |^	24,500 gp	 |
|^	—	 |^	43–48	 |^	高等超魔默发	 |^	24,500 gp	 |
|^	—	 |^	49–53	 |^	光辉灿烂	 |^	25,000 gp	 |
|^	—	 |^	54–58	 |^	枯萎	 |^	25,000 gp	 |
|^	98–99	 |^	59–64	 |^	中级超魔强效	 |^	32,500 gp	 |
|^	—	 |^	65–69	 |^	雷鸣闪电	 |^	33,000 gp	 |
|^	100	 |^	70–73	 |^	次级超魔瞬发	 |^	35,000 gp	 |
|^	—	 |^	74–77	 |^	抵消	 |^	37,000 gp	 |
|^	—	 |^	78–80	 |^	吸收法力	 |^	50,000 gp	 |
|^	—	 |^	81–84	 |^	链枷	 |^	50,000 gp	 |
|^	—	 |^	85–86	 |^	中级极效	 |^	54,000 gp	 |
|^	—	 |^	87–88	 |^	支配	 |^	60,000 gp	 |
|^	—	 |^	89–90	 |^	庇护	 |^	61,000 gp	 |
|^	—	 |^	91–92	 |^	王者	 |^	70,000 gp	 |
|^	—	 |^	93–94	 |^	中级超魔极效	 |^	73,000 gp	 |
|^	—	 |^	95–96	 |^	中级超魔瞬发	 |^	75,500 gp	 |
|^	—	 |^	97–98	 |^	警示	 |^	85,000 gp	 |
|^	—	 |^	99	 |^	高级超魔极效	 |^	121,500 gp	 |
|^	—	 |^	100	 |^	高级超魔瞬发	 |^	170,000 gp	 |

权杖描述:


虽然所有权杖看起来都很像,但细节和功能却大不相同。标准权杖的说明如下:


 <<list-links "[tag[魔法物品]]+[tag[权杖]]+[tag[核心]]+[sort[title]]>>
!! 武器

魔法武器的增强加值范围从+1到+5。战斗中,增强加值能同时提高攻击检定和伤害掷骰。所有的魔法武器都是精制品武器,但精制品武器的攻击检定加值不能与增强加值累计使用。

武器基本分为两大类:近战武器和远程武器。近战武器列表中的某些武器也可用于远程攻击。这种情况下,增强加值在两种攻击中都有效。

除了增强加值,武器还能有特殊能力。计算交易价格时,特殊能力通常按额外的增强加值计算,但不会提高武器的攻击检定和伤害掷骰(除非有特殊说明)。一件武器的有效加值(增强加值加上等价后的特殊能力)不能超过+10。武器必须至少有+1增强加值才能具有特殊能力。

一件武器或弹药可能由特殊材料制成。掷百分骰:01-95为 普通材料制成,96-100为特殊材料制成。

''武器制造者的施法者等级:''具有特殊能力的武器,其制造者的施法者等级写在物品说明中。只有增强加值而没有特殊能力的武器,施法者等级必须至少是增强加值的3倍。如果物品既有增强加值又有特殊能力,取两者中施法者等级较高者。

''额外伤害掷骰:''某些魔法武器能造成额外伤害掷骰。与其他伤害调整值不同,额外伤害掷骰不能累计在重击中。

''远程武器和弹药:''远程武器的增强加值不能和弹药的增强加值累计。使用时只能取两者中数值较高的那个。

从增强加值超过+1的弹射武器中发射出的普通弹药在对抗伤害减免时视作魔法武器。同样,从弹射武器中发射出的弹药具有和弹射武器一样的阵营(除非弹药已经有阵营)。

''魔法弹药和损坏:''没射中目标的魔法箭、弩矢和投石索弹丸有50%的几率损坏或因其他原因不可再用。魔法箭、弩矢和投石索弹丸一旦射中目标即损坏。

''发光:''30%的魔法武器能发出效果等同于光亮术(light)的光(半径20英尺内明亮,40英尺内昏暗)。会发光的武器显然是魔法武器。此类武器一旦被抽出,其光亮便不能被减弱或熄灭。某些武器不发光,武器说明中会指出这一点。

''硬度和生命值:''攻击者不能对魔法武器造成伤害,除非他的武器增强加值等于或高于被攻击的武器或盾牌的增强加值。魔法武器或盾牌每获得+1增强加值,其硬度和生命值也各+1。

''启动:''通常,人物受益于魔法武器和使用普通武器的方法一样——用它攻击。如果武器有需要启动才能使用的特殊能力,使用者则需要说出启动指令(一个标准动作)。

''魔法武器和重击:''一些武器特性和一些特殊武器会在重击时产生额外的效果。这些特殊效果在对付免疫重击的生物,如不死生物、元素生物和构装生物时也有效。当攻击这些生物时,和攻击普通生物一样掷攻击骰。一旦成功重击,特殊效果便起效,但武器的正常伤害不会起效。

 

''表:武器''

|!	次级	|!	中级	|!	高级	|!武器加值 |!	基本价格^^1^^	|
|	01–70	|	01–10	|	—	|	+1	|	2,000金币	|
|	71–85	|	11–29	|	—	|	+2	|	8,000金币	|
|	—	|	30–58	|	01–20	|	+3	|	18,000金币	|
|	—	|	59–62	|	21–38	|	+4	|	32,000金币	|
|	—	|	—	|	39–49	|	+5	|	50,000金币	|
|	—	|	—	|	—	|	+6^^2^^	|	72,000金币	|
|	—	|	—	|	—	|	+7^^2^^	|	98,000金币	|
|	—	|	—	|	—	|	+8^^2^^	|	128,000金币	|
|	—	|	—	|	—	|	+9^^2^^	|	162,000金币	|
|	—	|	—	|	—	|	+10^^2^^	|	200,000金币	|
|	86–90	|	63–68	|	50–63	|	特殊武器^^3^^	|	—	|
|	91–100	|	69–100	|	64–100	|	特殊能力,且重掷一次^^4^^	|	—	|

|1 这是50支箭、弩矢或投石索弹丸的价格。|<|<|<|<|
|2 一件武器的加值不能超过+5。具有特殊能力的武器才需参考此行。|<|<|<|<|
|3 见表:特殊武器。|<|<|<|<|
|4 近战武器见表:近战武器的特殊能力,远程武器见表:远程武器的特殊能力。|<|<|<|<|

''表:决定武器类型''

|!	d%	|!武器类型 |
|	01–70	|	普通近战武器	|
|	71–80	|	罕见武器	|
|	81–100	|	普通远程武器	|

 
''表:普通近战武器''

|!	d%	|!武器 |!	武器价格^^1^^	|
|	01–04	|	匕首	|	+302金币	|
|	05–14	|	巨斧	|	+320金币	|
|	15–24	|	巨剑	|	+350金币	|
|	25–28	|	单镰	|	+302金币	|
|	29–41	|	长剑	|	+315金币	|
|	42–45	|	轻型硬头槌	|	+305金币	|
|	46–50	|	重型硬头槌	|	+312金币	|
|	51–54	|	双节棍	|	+302金币	|
|	55–57	|	木棍^^2^^	|	+600金币	|
|	58–61	|	细剑	|	+320金币	|
|	62–66	|	弯刀	|	+315金币	|
|	67–70	|	短矛	|	+302金币	|
|	71–74	|	破摩锥	|	+303金币	|
|	75–84	|	重剑	|	+335金币	|
|	85–89	|	短剑	|	+310金币	|
|	90–100	|	矮人重斧	|	+330金币	|

|1 与表:武器上的价格相加以确定总共的交易价格。|<|<|
|2 精制品双头武器须为每个头支付精制品的价格(每个头+300金币,一共+600金币)。双头武器的两个头可以分别具有不同的魔法加值。如果是随机产生,掷百分骰,01-50为第二个头和第一个头有一样的增强加值,价格为增强加值价格的两倍;51-100则第二个头比第一个头增强加值少1且无特殊能力。所有的魔法武器都是精制品武器。|<|<|


''表:罕见武器''

|!	d%	|!武器 |!	武器价格^^1^^	|
|	01–03	|	兽人双头斧	|	+660金币	|
|	04–07	|	战斧	|	+310金币	|
|	08–10	|	刺链	|	+325金币	|
|	11–12	|	木棒	|	+300金币	|
|	13–16	|	单手弩	|	+400金币	|
|	17–19	|	连发弩	|	+550金币	|
|	20–21	|	拳匕	|	+302金币	|
|	22–23	|	弯刃大刀	|	+375金币	|
|	24–26	|	双头链枷^^2^^	|	+690金币	|
|	27–31	|	重型链枷	|	+315金币	|
|	32–35	|	轻型链枷	|	+308金币	|
|	36–37	|	铁手套	|	+302金币	|
|	38–39	|	带刺铁手套	|	+305金币	|
|	40–41	|	大砍刀	|	+308金币	|
|	42–43	|	巨木棒	|	+305金币	|
|	44–45	|	长钩刀	|	+309金币	|
|	46–48	|	戟	|	+310金币	|
|	49–51	|	矛	|	+301金币	|
|	52–54	|	侏儒钩式战锤^^2^^	|	+620金币	|
|	55–56	|	轻型战锤	|	+301金币	|
|	57–58	|	手斧	|	+306金币	|
|	59–61	|	反曲刀	|	+308金币	|
|	62–64	|	长枪	|	+310金币	|
|	65–67	|	长矛	|	+305金币	|
|	68–70	|	钉头锤	|	+308金币	|
|	71–72	|	捕网	|	+320金币	|
|	73–74	|	重型十字镐	|	+308金币	|
|	75–76	|	轻型十字镐	|	+304金币	|
|	77–78	|	刺叉	|	+310金币	|
|	79–80	|	十手	|	+301金币	|
|	81–82	|	巨镰	|	+318金币	|
|	83–84	|	手里剑	|	+301金币	|
|	85–86	|	镰刀	|	+306金币	|
|	87–89	|	双头剑^^2^^	|	+700金币	|
|	90–91	|	三叉矛	|	+315金币	|
|	92–94	|	矮人矛斧^^2^^	|	+650金币	|
|	95–97	|	战锤	|	+312金币	|
|	98–100	|	鞭子	|	+301金币	|

|1 与表:武器上的价格相加以确定总共的交易价格。|<|<|
|2 精制品双头武器须为每个头支付精制品的价格(每个头+300金币,一共+600金币)。双头武器的两个头可以分别具有不同的魔法加值。如果是随机产生,掷百分骰,01-50为第二个头和第一个头有一样的增强加值,价格为增强加值价格的两倍;51-100则第二个头比第一个头增强加值少1且无特殊能力。所有的魔法武器都是精制品武器。|<|<|

 

''表:普通远程武器''

|!	d%	|!武器 |!	武器价格^^1^^	|
|01–10		|	弹药(再掷一次)	|		|
|		|	01–50箭(50)	|	+350金币	|
|	|	51–80	弩矢(50)	|	+350金币	|
|	|	81–100	投石索弹丸(50)	|	+350金币	|
|	11–15	|	飞斧	|	+308金币	|
|	16–25	|	重弩	|	+350金币	|
|	26–35	|	轻弩	|	+335金币	|
|	36–39	|	飞镖	|	+300金币5银币	|
|	40–41	|	标枪	|	+301金币	|
|	42–46	|	短弓	|	+330金币	|
|	47–51	|	复合短弓(+0力量加值)	|	+375金币	|
|	52–56	|	复合短弓(+1力量加值)	|	+450金币	|
|	57–61	|	复合短弓(+2力量加值)	|	+525金币	|
|	62–65	|	投石索	|	+300金币	|
|	66–75	|	长弓	|	+375金币	|
|	76–80	|	复合长弓	|	+400金币	|
|	81–85	|	复合长弓(+1力量加值)	|	+500金币	|
|	86–90	|	复合长弓(+2力量加值)	|	+600金币	|
|	91–95	|	复合长弓(+3力量加值)	|	+700金币	|
|	96–100	|	复合长弓(+力量加值)	|	+800金币	|

|1 与表:武器上的价格相加以确定总共的交易价格。|
|所有魔法武器都是精制品武器。|

''表:近战武器特殊能力''

|!	次级	|!	中级	|!	高级	|!	特殊能力	|!	基本价格调整值^^1^^	|
|	01–10	|	01–06	|	01–03	|	[[Bane(破敌)]]	|	+1加值	|
|	11–17	|	07–12	|	—	|	[[Defending(护体)]]	|	+1加值	|
|	18–27	|	13–19	|	04–06	|	[[Flaming(炽焰)]]	|	+1加值	|
|	28–37	|	20–26	|	07–09	|	[[Frost(冻寒)]]|	+1加值	|
|	38–47	|	27–33	|	10–12	|	[[Shock(电击)]]	|	+1加值	|
|	48–56	|	34–38	|	13–15	|	[[Ghost Touch(幽冥)]]	|	+1加值	|
|	57–67	|	39–44	|	—	|	[[Keen(锐锋)]]^^2^^	|	+1加值	|
|	68–71	|	45–48	|	16–19	|	[[Ki Focus(真气)]]	|	+1加值	|
|	72–75	|	49–50	|	—	|	[[Merciful(慈悯)]]	|	+1加值	|
|	76–82	|	51–54	|	20–21	|	[[Mighty Cleaving(狂斩)]]	|	+1加值	|
|	83–87	|	55–59	|	22–24	|	[[Spell Storing(储法)]]	|	+1加值	|
|	88–91	|	60–63	|	25–28	|	[[Throwing(投掷)]]	|	+1加值	|
|	92–95	|	64–65	|	29–32	|	[[Thundering(雷鸣)]]	|	+1加值	|
|	96–99	|	66–69	|	33–36	|	[[Vicious(反噬)]]	|	+1加值	|
|	—	|	70–72	|	37–41	|	[[Anarchic(混沌)]]	|	+2加值	|
|	—	|	73–75	|	42–46	|	[[Axiomatic(秩序)]]	|	+2加值	|
|	—	|	76–78	|	47–49	|	[[Disruption(瓦解)]]^^3^^	|	+2加值	|
|	—	|	79–81	|	50–54	|	[[Flaming Burst(焰爆)]]	|	+2加值	|
|	—	|	82–84	|	55–59	|	[[Icy Burst(冰爆)]]	|	+2加值	|
|	—	|	85–87	|	60–64	|	[[Holy(神圣)]]	|	+2加值	|
|	—	|	88–90	|	65–69	|	[[Shocking Burst(电爆)]]|	+2加值	|
|	—	|	91–93	|	70–74	|	[[Unholy(邪恶)]]	|	+2加值	|
|	—	|	94–95	|	75–78	|	[[Wounding(血光)]]	|	+2加值	|
|	—	|	—	|	79–83	|	[[Speed(追击)]]	|	+3加值	|
|	—	|	—	|	84–86	|	[[Brilliant Energy(光能)]]	|	+4加值	|
|	—	|	—	|	87–88	|	[[Dancing(舞空)]]	|	+4加值	|
|	—	|	—	|	89–90	|	[[Vorpal(斩首)]]^^4^^	|	+5加值	|
|100| 96–100| 91–100|重新掷骰两次^^5^^ |— |

|1 和表:武器的增强加值相加以决定总交易价格。|
|2 仅适用于穿刺或挥砍武器。若随机产生的是钝击武器则重掷。|
|3 仅适用于钝击武器。若随机产生的是穿刺或挥砍武器则重掷。|
|4 仅适用于挥砍武器。若随机产生的是穿刺或钝击武器则重掷。|
|5 如果掷出和已经掷出的能力相同或相冲突的能力或者第二个能力使加值超过+10,则重掷第二个能力。武器的增强加值和等价后的特殊能力加值总合不能超过+10。|

 

表:远程武器特殊能力


|!	次级	|!	中级	|!	高级	|!	特殊能力	|!	基本价格调整值^^1^^	|
|	01–12	|	01–08	|	01–04	|	[[Bane(破敌)]]		|	+1加值	|
|	13–25	|	09–16	|	05–08	|	[[Distance(及远)]]	|	+1加值	|
|	26–40	|	17–28	|	09–12	|	[[Flaming(炽焰)]]	|	+1加值	|
|	41–55	|	29–40	|	13–16	|	[[Frost(冻寒)]]	|	+1加值	|
|	56–60	|	41–42	|	—	|	[[Merciful(慈悯)]]	|	+1加值	|
|	61–68	|	43–47	|	17–21	|	[[Returning(回力)]]	|	+1加值	|
|	69–83	|	48–59	|	22–25	|	[[Shock(电击)]]	|	+1加值	|
|	84–93	|	60–64	|	26–27	|	[[Seeking(寻踪)]]	|	+1加值	|
|	94–99	|	65–68	|	28–29	|	[[Thundering(雷鸣)]]	|	+1加值	|
|	—	|	69–71	|	30–34	|	[[Anarchic(混沌)]]		|	+2加值	|
|	—	|	72–74	|	35–39	|	[[Axiomatic(秩序)]]	|	+2加值	|
|	—	|	75–79	|	40–49	|	[[Flaming Burst(焰爆)]]	|	+2加值	|
|	—	|	80–82	|	50–54	|	[[Holy(神圣)]]	|	+2加值	|
|	—	|	83–87	|	55–64	|	[[Icy Burst(冰爆)]]		|	+2加值	|
|	—	|	88–92	|	65–74	|	[[Shocking Burst(电爆)]]	|	+2加值	|
|	—	|	93–95	|	75–79	|	[[Unholy(邪恶)]]	|	+2加值	|
|	—	|	—	|	80–84	|	[[Speed(追击)]]	|	+3加值	|
|	—	|	—	|	85–90	|	[[Brilliant Energy(光能)]]	|	+4加值	|
|	100	|	96–100	|	91–100	|	重新掷骰两次^^2^^	|	—	|

|1 和表:武器的增强加值相加以决定总交易价格。|
|2 如果掷出和已经掷出的能力相同或相冲突的能力或者第二个能力使加值超过+10,则重掷第二个能力。武器的增强加值和等价后的特殊能力加值总合不能超过+10。|

''非常规体型生物的武器:''对于制造非小体型或中等体型生物使用的武器的花费,其精制物品价格和魔法增强加值价格仍然不变。

''物品特色:''掷d100。如果是近战武器,01-30为武器会发光,31-45为武器上有关于其功能的线索(图案、花纹等等),46-100为武器没有特色。

如果是远程武器,01-15为武器上有关于其功能的线索(图案、花纹等等),16-100为武器没有特色。

!!! 魔法武器特殊能力说明

除了增强加值,武器可能还具有一个或更多以下所列的特殊能力。武器必须至少有+1增强加值才能具有特殊能力。

 <<list-links "[tag[魔法物品]]+[tag[武器]]-[tag[特殊武器]]+[tag[核心]]+[sort[title]]>>

 

''表:特殊武器''

|!	次级	|!	中级	|!	高级	|!	特殊武器	|!	交易价格	|
|	01–15	|	—	|	—	|	[[Sleep Arrow(昏睡箭)]]	|	132金币	|
|	16–25	|	—	|	—	|	[[Screaming Bolt(狂啸矢)]]	|	267金币	|
|	26–45	|	—	|	—	|		[[Silver Dagger, Masterwork(精制品银匕首)]]|	322金币	|
|	46–65	|	—	|	—	|	[[Masterwork Cold Iron Longsword(精制品寒铁长剑)]]	|	330金币	|
|	66–75	|	01–09	|	—	|	[[Javelin of Lightning(闪电标枪)]]	|	1,500金币	|
|	76–80	|	10–15	|	—	|	[[Slaying Arrow(追命箭)]]	|	2,282金币	|
|	81–90	|	16–24	|	—	|	[[Adamantine Dagger(精金匕首)]]	|	3,002金币	|
|	91–100	|	25–33	|	—	|	[[Adamantine Battleaxe(精金战斧)]]	|	3,010金币	|
|	—	|	34–37	|	—	|	[[Slaying Arrow (Greater)(高等追命箭)|Slaying Arrow(追命箭)]]	|	4,057金币	|
|	—	|	38–40	|	—	|	[[Shatterspike(粉碎者)]]	|	4,315金币	|
|	—	|	41–46	|	—	|	[[Dagger of Venom(剧毒匕首)]]	|	8,302金币	|
|	—	|	47–51	|	—	|	[[Trident of Warning(探敌三叉矛)]]	|	10,115金币	|
|	—	|	52–57	|	01–04	|	[[Assassin’s Dagger(暗杀匕首)]]|	10,302金币	|
|	—	|	58–62	|	05–07	|	[[Shifter’s Sorrow(希夫特的悲伤)]]	|	12,780金币	|
|	—	|	63–66	|	08–09	|	[[Trident of Fish Command(驯海三叉矛)]]	|	18,650金币	|
|	—	|	67–74	|	10–13	|	[[Flame Tongue(炽炎剑)]]	|	20,715金币	|
|	—	|	75–79	|	14–17	|	[[Luck Blade(吉兆刃)]](0许愿术)	|	22,060金币	|
|	—	|	80–86	|	18–24	|	[[Sword of Subtlety(背袭剑)]]	|	22,310金币	|
|	—	|	87–91	|	25–31	|	[[Sword of The Planes(异界剑)]]	|	22,315金币	|
|	—	|	92–95	|	32–37	|	[[Nine Lives Stealer(九转夺命剑)]]	|	23,057金币	|
|	—	|	96–98	|	38–42	|	[[Sword of Life Stealing(吸血剑)]]	|	25,715金币	|
|	—	|	99–100	|	43–46	|	[[Oathbow(誓仇弓)]]	|	25,600金币	|
|	—	|	—	|	47–51	|	[[Mace of Terror(惊骇硬头锤)]]	|	38,552金币	|
|	—	|	—	|	52–57	|	[[Life-Drinker(蚀魂者)]]	|	40,320金币	|
|	—	|	—	|	58–62	|	[[Sylvan Scimitar(森林弯刀)]]	|	47,315金币	|
|	—	|	—	|	63–67	|	[[Rapier of Puncturing(穿刺细剑)]]	|	50,320金币	|
|	—	|	—	|	68–73	|	[[Sun Blade(阳炎剑)]]	|	50,335金币	|
|	—	|	—	|	74–79	|	[[Frost Brand(寒冰剑)]]	|	54,475金币	|
|	—	|	—	|	80–84	|	[[Dwarven Thrower(矮人飞锤)]]	|	60,312金币	|
|	—	|	—	|	85–91	|	[[Luck Blade(吉兆刃)]](1许愿术)	|	62,360金币	|
|	—	|	—	|	92–95	|	[[Mace of Smiting(开山硬头锤)]]	|	75,312金币	|
|	—	|	—	|	96–97	|	[[Luck Blade(吉兆刃)]](2许愿术)	|	102,660金币	|
|	—	|	—	|	98–99	|	[[Holy Avenger(神圣复仇者)]]	|	120,630金币	|
|	—	|	—	|	100	|	[[Luck Blade(吉兆刃)]](3许愿术)	|	142,960金币	|


 

!!! 特殊武器

以下是特殊武器的说明。

 <<list-links "[tag[魔法物品]]+[tag[武器]]+[tag[特殊武器]]+[tag[核心]]+[sort[title]]>>

''Table: 药水''

|!	次级	 |!	中级	 |!	高级	 |!	药水名称	 |!	交易价格	 |
|^	01–10	 |^	—	 |^	—	 |^	治疗轻伤(药水)	 |^	50 gp	 |
|^	11–13	 |^	—	 |^	—	 |^	忍受环境(药水)	 |^	50 gp	 |
|^	14–15	 |^	—	 |^	—	 |^	动物无视术(药水)	 |^	50 gp	 |
|^	16–17	 |^	—	 |^	—	 |^	亡灵无视术(药水)	 |^	50 gp	 |
|^	18–19	 |^	—	 |^	—	 |^	跳跃(药水)	 |^	50 gp	 |
|^	20–22	 |^	—	 |^	—	 |^	法师护甲(药水)	 |^	50 gp	 |
|^	23–25	 |^	—	 |^	—	 |^	魔牙术(药水)	 |^	50 gp	 |
|^	26	 |^	—	 |^	—	 |^	魔石术(油)	 |^	50 gp	 |
|^	27–29	 |^	—	 |^	—	 |^	魔化武器(油)	 |^	50 gp	 |
|^	30	 |^	—	 |^	—	 |^	行踪无迹(药水)	 |^	50 gp	 |
|^	31–32	 |^	—	 |^	—	 |^	防护(阵营)(药水)	 |^	50 gp	 |
|^	33–34	 |^	—	 |^	—	 |^	移除恐惧(药水)	 |^	50 gp	 |
|^	35	 |^	—	 |^	—	 |^	圣域术(药水)	 |^	50 gp	 |
|^	36–38	 |^	—	 |^	—	 |^	虔诚护盾+2(药水)	 |^	50 gp	 |
|^	39	 |^	—	 |^	—	 |^	橡棍术(油)	 |^	50 gp	 |
|^	40–41	 |^	01–02	 |^	—	 |^	祝福武器(油)	 |^	100 gp	 |
|^	42–44	 |^	03–04	 |^	—	 |^	人类变巨术(药水)	 |^	250 gp	 |
|^	45	 |^	05	 |^	—	 |^	人类缩小术(药水)	 |^	250 gp	 |
|^	46–47	 |^	06	 |^	—	 |^	援助术(药水)	 |^	300 gp	 |
|^	48–50	 |^	07	 |^	—	 |^	树肤术+2(药水) gp	 |^	gp 300 	 |
|^	51–53	 |^	08–10	 |^	—	 |^	熊之坚韧(药水)	 |^	300 gp	 |
|^	54–56	 |^	11–13	 |^	01–02	 |^	朦胧术(药水)	 |^	300 gp	 |
|^	57–59	 |^	14–16	 |^	—	 |^	牛之力量(药水)	 |^	300 gp	 |
|^	60–62	 |^	17–19	 |^	—	 |^	猫之优雅(药水)	 |^	300 gp	 |
|^	63–67	 |^	20–27	 |^	03–07	 |^	治疗中伤(药水)	 |^	300 gp	 |
|^	68	 |^	28	 |^	—	 |^	黑暗术(油)	 |^	300 gp	 |
|^	69–71	 |^	29–30	 |^	08–09	 |^	黑暗视觉(药水)	 |^	300 gp	 |
|^	72–74	 |^	31	 |^	—	 |^	减缓毒发(药水)	 |^	300 gp	 |
|^	75–76	 |^	32–33	 |^	—	 |^	鹰之威仪(药水)	 |^	300 gp	 |
|^	77–78	 |^	34–35	 |^	—	 |^	狐之狡黠(药水)	 |^	300 gp	 |
|^	79–81	 |^	36–37	 |^	10–11	 |^	隐形(药水或油)	 |^	300 gp	 |
|^	82–84	 |^	38	 |^	12	 |^	次级复原术(药水)	 |^	300 gp	 |
|^	85–86	 |^	39	 |^	—	 |^	浮空术(药水或油)	 |^	300 gp	 |
|^	87	 |^	40	 |^	—	 |^	误导术(药水)	 |^	300 gp	 |
|^	88–89	 |^	41–42	 |^	—	 |^	枭之睿智(药水)	 |^	300 gp	 |
|^	90–91	 |^	43	 |^	—	 |^	防护箭矢10/魔法(药水)	 |^	300 gp	 |
|^	92–93	 |^	44	 |^	13	 |^	移除麻痹(药水)	 |^	300 gp	 |
|^	94–96	 |^	45–46	 |^	—	 |^	抵抗元素(类型)10(药水)	 |^	300 gp	 |
|^	97	 |^	47–48	 |^	14	 |^	虔诚护盾+3(药水)	 |^	300 gp	 |
|^	98–99	 |^	49	 |^	—	 |^	蛛行术(药水)	 |^	300 gp	 |
|^	100	 |^	50	 |^	15	 |^	隐匿阵营(药水)	 |^	300 gp	 |
|^	—	 |^	51	 |^	16	 |^	树肤术+3(药水)	 |^	600 gp	 |
|^	—	 |^	52	 |^	17–18	 |^	虔诚护盾+4(药水)	 |^	600 gp	 |
|^	—	 |^	53–55	 |^	19–20	 |^	抵抗元素伤害(类型)20(药水)	 |^	700 gp	 |
|^	—	 |^	56–60	 |^	21–28	 |^	治疗严重伤(药水)	 |^	750 gp	 |
|^	—	 |^	61	 |^	29	 |^	昼明术(油)	 |^	750 gp	 |
|^	—	 |^	62–64	 |^	30–32	 |^	移位术(药水)	 |^	750 gp	 |
|^	—	 |^	65	 |^	33	 |^	火焰箭(油)	 |^	750 gp	 |
|^	—	 |^	66–68	 |^	34–38	 |^	飞行(药水)	 |^	750 gp	 |
|^	—	 |^	69	 |^	39	 |^	气化形体(药水)	 |^	750 gp	 |
|^	—	 |^	70–71	 |^	—	 |^	高等魔牙术+1(药水)	 |^	750 gp	 |
|^	—	 |^	72–73	 |^	—	 |^	高等魔化武器+1(油)	 |^	750 gp	 |
|^	—	 |^	74–75	 |^	40–41	 |^	加速术(药水)	 |^	750 gp	 |
|^	—	 |^	76–78	 |^	42–44	 |^	英勇气概(药水)	 |^	750 gp	 |
|^	—	 |^	79–80	 |^	45–46	 |^	锋锐术(油)	 |^	750 gp	 |
|^	—	 |^	81	 |^	47	 |^	反阵营法阵(阵营)(药水)	 |^	750 gp	 |
|^	—	 |^	82–83	 |^	—	 |^	魔化防具+1(油)	 |^	750 gp	 |
|^	—	 |^	84–86	 |^	48–50	 |^	中和毒性(药水)	 |^	750 gp	 |
|^	—	 |^	87–88	 |^	51–52	 |^	回避侦测(药水)	 |^	750 gp	 |
|^	—	 |^	89–91	 |^	53–54	 |^	防护能量伤害(类型) (药水)	 |^	750 gp	 |
|^	—	 |^	92–93	 |^	55	 |^	狂暴术(药水)	 |^	750 gp	 |
|^	—	 |^	94	 |^	56	 |^	移除目盲/耳聋(药水)	 |^	750 gp	 |
|^	—	 |^	95	 |^	57	 |^	移除诅咒(药水)	 |^	750 gp	 |
|^	—	 |^	96	 |^	58	 |^	移除疾病(药水) 	 |^	750 gp	 |
|^	—	 |^	97	 |^	59	 |^	巧言术(药水)	 |^	750 gp	 |
|^	—	 |^	98–99	 |^	60	 |^	水下呼吸(药水)	 |^	750 gp	 |
|^	—	 |^	100	 |^	61	 |^	水上行走(药水)	 |^	750 gp	 |
|^	—	 |^	—	 |^	62–63	 |^	树肤术+4(药水)	 |^	900 gp	 |
|^	—	 |^	—	 |^	64	 |^	虔诚护盾+5	 |^	900 gp	 |
|^	—	 |^	—	 |^	65	 |^	强大希望(药水)	 |^	1050 gp	 |
|^	—	 |^	—	 |^	66–68	 |^	抵抗元素伤害(类型)30(药水)	 |^	1100 gp	 |
|^	—	 |^	—	 |^	69	 |^	树肤术+5(药水)	 |^	1,200 gp	 |
|^	—	 |^	—	 |^	70–73	 |^	高等魔牙+2(药水)	 |^	1200 gp	 |
|^	—	 |^	—	 |^	74–77	 |^	高等魔化武器+2(油)	 |^	1200 gp	 |
|^	—	 |^	—	 |^	78–81	 |^	魔化防具+2(油)	 |^	1200 gp 	 |
|^	—	 |^	—	 |^	82	 |^	防护箭矢15/魔法(药水)	 |^	1,500 gp	 |
|^	—	 |^	—	 |^	83–85	 |^	高等魔牙+3(药水)	 |^	180 gp 0	 |
|^	—	 |^	—	 |^	86–88	 |^	高等魔化武器+3(油)	 |^	1800 gp	 |
|^	—	 |^	—	 |^	89–91	 |^	魔化防具+3(油)	 |^	1800	 |
|^	—	 |^	—	 |^	92–93	 |^	高等魔牙+4(药水)	 |^	2400	 |
|^	—	 |^	—	 |^	94–95	 |^	高等魔化武器+4(油)	 |^	2400	 |
|^	—	 |^	—	 |^	96–97	 |^	魔化防具+4(油)	 |^	2400	 |
|^	—	 |^	—	 |^	98	 |^	高等魔牙+5(药水)	 |^	3000	 |
|^	—	 |^	—	 |^	99	 |^	高等魔化武器+5(油)	 |^	3000	 |
|^	—	 |^	—	 |^	100	 |^	魔化防具+5(油)	 |^	3000	 |
!!! 稳定角色伤势和恢复(STABLE CHARACTERS AND RECOVERY)

当角色实际生命值降低到-1到-9后下一轮以及接下来的所有轮内,投掷百分骰以决定濒死角色是否能够稳定。他有10%的机会稳定伤势。如果没能稳定,他将失去一点生命值。(无意识或者濒死的角色无法在轮到自己行动时使用任何特殊动作来改变自己的先攻值。)

如果角色的生命值降低到-10或者更低,他就死了。

你可以通过一次DC15的医疗检定来不让濒死角色继续丢失生命值并稳定住他的伤势。

如果濒死角色受到任何可以恢复他的哪怕一点伤害的治疗,他都将停止丢失生命值并且进入稳定状态。

让濒死角色的生命值恢复到0的治疗可以让角色恢复意识并且进入瘫痪状态。让濒死角色的生命值恢复到1或者更多的治疗可以让角色恢复完全的行动能力,就像他从未降低到0或更低HP的情况一样。施法者保留在HP低于0之前的施法能力。

被医者照料或者被魔法治疗的伤势稳定的角色最终将恢复意识并且正常的恢复生命值。如果没人照料这个角色,他依然很危险,而且有可能继续恶化伤势。

''在照料中恢复:''在被照料一个小时后,濒死角色将会变得伤势稳定,投掷百分骰判断。他有10%的机会恢复意识,他将处于瘫痪状态(就像0HP一样)。如果他没有恢复意识,在接下来的每个小时内都有同样的机会恢复并进入瘫痪。即使他还是无意识状态,他依然可以如常的恢复生命值。当生命值恢复到1或更高时,他将恢复正常。

''无人照料中恢复:''一个受伤严重的角色被单独留下后通常会死亡。不过他有很小的机会自己恢复过来。

自动稳定(在濒死期间获得10%的稳定机会)并且无人照顾的角色依然会失去生命值,不过速度要慢一些。每个小时内他都有10%的机会恢复意识。如果他在这种恢复意识的检定中失败了,每失败一次都将会失去一点生命值。他也不能象正常情况一样恢复生命值。

如果他恢复了意识进入瘫痪状态,一个无人援助的角色还是不能象正常情况一样恢复生命值。他每天有10%的机会开始正常的恢复生命值,否则他将失去一点生命值。一旦一个无人援助的角色开始正常的恢复生命值,他将不再有自然失去生命值的危险(甚至他的实际生命值是负数)。
''稳定(Stable):''曾处于濒死状态但目前已经不再继续损失生命值,同时生命值依然为负数的人物是稳定状态。这类人物不再处于濒死状态,但仍旧昏迷。如果其他人利用急救措施(例如医疗技能或魔法治疗)使濒死人物稳定下来,他就不会继续丢失生命值。他每小时有10%的机会清醒并进入瘫痪状态(尽管他的生命值可能是负的)。

如果人物并没有受到别人的帮助而是靠自己稳定下来的话,他仍然有丢失生命值的危险。他每小时有10%的机会清醒并进入瘫痪状态,否则就将失去1点生命值。

 
''恍惚(Staggered):''人物所受非致命伤害与其生命值相同则恍惚。恍惚的人物每轮只能做单一的移动动作或标准动作(不是两者都做,也不能作进行全回合动作)。如果当前生命值超过了所受非致命伤害,那么人物不再处于恍惚状态。非致命伤害值超过了生命值的则会陷入昏迷。

!!!雕像术(Statue)
|变化系|
|''等级:''术士/法师 7|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1轮|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:'' 1小时/等级(可解消)|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可 (无害)|
|雕像术可将目标连同其身上的衣物装备一同变成坚石。在雕像形态下,它的硬度为8。受术者依然保留原有生命值。|
|受术者可以正常地看,听,闻,但不需要呼吸和进食。触觉则仅限于能使花岗岩般坚硬的物体有所反应的感觉。削凿就如同搔痒,但切下雕像的手臂仍然是严重的伤害。|
|在法术持续时间内,只要愿意,受术者随时可以变回正常状态,展开行动,然后立即变回雕像状态(视作即时动作)。|
|//材料成分://石灰,沙子,一滴水,以钉子之类的细铁棒搅拌。|
!!!关照术(Status)
|预言系|
|''等级:''牧师 2|
|''法术成分:''言语,姿势|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''每三等级一个接触到的生物|
|''持续时间:'' 1小时/等级|
|''豁免:''意志,通过则无效 (无害)|
|''法术抗力:''可 (无害)|
|当你要和即将分离的同伴保持关注时,关照术使你可以从心中察觉同伴的相对位置和状态。你可以感觉到,受术者的方向、距离和所处状况,如:未受伤,受伤,瘫痪,恍惚,昏迷,濒死,恶心,慌乱,晕眩,中毒,生病,困惑等。一旦法术施展在受术者身上,那么只要施法者与受术者处于同一位面,他们之间的距离远近不影响法术效果。若一个受术者离开该位面或死亡,则法术结束该受术者的部分。|
!!! 隐秘(STEALTHY)[一般专长]

''效果:''在躲藏和潜行检定上获得+2的加值。
!!! 法术静发(STILL SPELL)[超魔专长]

''效果:''搭配本专长时,不需要姿态成分即可施法。

原本就不需姿态成分的法术不受影响。静发的法术需占用高于原本一个等级的法术位。
!!!臭云术(Stinking Cloud)
|咒法系(创造)|
|''等级:''术士/法师 3|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''扩散出半径20英尺,高20英尺的云|
|''持续时间:''1轮/等级|
|''豁免:''强韧,通过则无效|
|''法术抗力:''不可|
|和云雾术(fog cloud)一样,臭云术会造出一团云雾,不过这云雾令人作呕。被云雾笼罩的活物会反胃(nauseated)。只要生物还在这团云雾中,那么效果会一直持续,离开云雾后还会持续1d4+1轮。(每个生物分别投骰。)任何通过强韧豁免后仍留在云雾中的生物,每轮都需重投豁免。|
|臭云术可以用魔法恒定术(permanency)来永久化。被风吹散的永久化臭云术会在十分钟后重组。|
|//材料成分://一个臭鸡蛋或几根臭菘草叶子。|
!!Stirge(蚊蝠)

''超小型魔法兽''

|''生命骰:'' 1d10(5hp)|
|''先攻权:'' +4|
|''速度:'' 10尺(2格),飞行40尺(普通)|
|''防御等级:'' 16(+2体型,+4敏捷),接触16,措手不及12|
|''基本攻击/擒抱:'' +1/-11(攀附时+1)|
|''攻击:'' 触碰+7近战(攀附)|
|''全回合攻击:'' 触碰+7近战(攀附)|
|''面宽/触及:'' 2-1/2尺/0尺|
|''特殊攻击:'' 攀附,吸血|
|''特性:'' 黑暗视觉60尺,昏暗视觉|
|''豁免:'' 强韧+2,反射+6,意志+1|
|''属性:'' 力量3,敏捷19,体质10,智力1,感知12,魅力6|
|''技能:'' 躲藏+14,聆听+4,侦察+4|
|''专长:'' 警觉,武器娴熟|
|''环境:'' 温暖的沼泽|
|''组织:'' 成队(2-4),成群(5-8),或一大群(9-14)|
|''挑战等级:'' 1/2|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' -|
|''等级调整:'' -|

蚊蝠的肤色从红锈色到红棕色,下腹部位暗黄色。长吻的末端是粉红色,到了基部则变为灰色。

蚊蝠身长约1尺,翼展约2尺。它重约1磅。

!!!战斗
蚊蝠在战斗时会落在敌人身上,寻找一个脆弱的部位,然后将长吻刺入肉中。这属于接触攻击,并且只能攻击体型为小型或更小的生物。

''攀附 (Ex):''如果蚊蝠的触碰攻击命中对手的话,那么它的八只钳爪就会紧紧地抓住对方身体。攀附中的蚊蝠被视为正在擒抱其猎物。蚊蝠会在其防御等级上失去敏捷加值,因此防御等级变为12。蚊蝠进行擒抱检定时可获得+12的种族加值 (已在基本攻击/ 擒抱数据中列出)。

攀附中的蚊蝠可以被武器攻击或被擒抱。如果要通过擒抱移除攀附中的蚊蝠,对手则必须成功压制住蚊蝠。

''吸血 (Ex):''只要蚊蝠攀附在对手身上,那么在每轮开始时它就可以通过吸血造成1d4点体质伤害。一旦它造成了4点体质伤害,那么它就会飞离,到别的地方慢慢消化。如果受害者在满足蚊蝠的食欲前就死亡了的话,蚊蝠会飞离并寻找新的目标。
''Stone Horse(石马)'': 由硬质石头粗略切削而成的等比例马雕像。说出指令可使雕像活化,以背负重物或攻击敌人,如同活生生的马。
“石马”可以载重1000磅,永远不会累,也不需要休息或喂食。若想修复伤害,须先使用“解除石化”法术,然后再以一般马的方式进行医疗。完全康复之后,它会自动恢复石化。若处于石化状态,可以用喂食宝石的方式治疗伤害,每颗价值50金币的宝石可以回复1点生命值。

“石马”有下列两种:

*骏马:所有能力如同重型马,硬度10。
*军马:所有能力如同重型战马,硬度10。

施法者等级:14。先决条件:“制造奇物”,“石化术”、“活化物体”。交易价格:10000金币(骏马),14800金币(军马)。重量:6000磅。
''Stone of Alarm(警报石)'': 说出指令后,这颗方形石头可以附著到任何物体上。若未说出指令就触碰物体,此石会发出警报,刺耳声响持续一小时,四分之一英里内都听得到(如果没有障碍)。

Faint abjuration; CL 3rd; Craft Wondrous Item, alarm; Price 2,700 gp;Weight 2 lb.
''Stone of Controlling Earth Elementals(土元素魔石)'': 看起来像形状奇怪、粗糙打磨的石头。如果使用者携有土、泥或黏土,说出指令,就可以召唤出超大型土元素。说出指令进行召唤属于整轮动作,效果如同“七级召唤怪物术”。如果所用的土质是沙或非凿切石材,召唤出来的就是大型土元素,效果如同“六级召唤怪物术”。召唤土元素需要至少4英尺平方的区域,以及至少4立方码的空间。土元素会在1d4轮内出现。关于土元素的说明请见《怪物图鉴》。一次只能召唤一个土元素,第一个土元素消失后(被解除魔法、遣散或杀害),需要新的泥土或石头,才能召唤第二个。

Strong conjuration; CL 13th; Craft Wondrous Item, summon monster VI, summon monster VII; Price 100,000 gp;Weight 5 lb.
''Stone of Good Luck (幸运石)'': 粗磨的玛瑙或类似矿物。持有者的豁免检定、属性检定和技能检定有+1运气加值。

Faint evocation; CL 5th; Craft Wondrous Item, divine favor; Price 20,000 gp.
''Stone Salve(石化软膏)'': 此软膏有两种用途。首先,将一盎司涂在石化生物上,可以解除石化(效果如同“解除石化”法术)。其次,如果将一盎司涂在非石化的生物上,可以赋予“石肤术”效果。

Strong abjuration and transmutation; CL 13th; Craft Wondrous Item, flesh to stone, stoneskin; Price 4,000 gp per ounce.
!!!塑石术(Stone Shape)
|变化系[土]|
|''等级:''牧师 3,德鲁伊 3,土 3,术士/法师 4|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''接触到的石头或石制品,最多10立方英尺+1立方英尺/等级|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''不可|
|你可以将石头变成你想要的任何样子。你可以造出简易的石箱、石门,但无法精雕细琢。含可动零件的物体有30%的几率无法运作。|
|//奥术材料成分://软粘土,必须捏成你想塑造的大致形状,之后在施法念咒时拿它接触受术目标。|
!!!石言术(Stone Tell)
|预言系|
|''等级:''德鲁伊 6|
|''法术成分:''言语,姿势,法器|
|''施法时间:'' 10分钟|
|''距离:''个人|
|''目标:''自己|
|''持续时间:'' 1分钟/等级|
|你获得了与石头交谈的能力,由此了解谁接触过它们,或者它后面或下面藏有什么东西等。被讯问的石头会给以完整的描述。受石头本身的视野,理解力,知识的限制,你未必能得到你想要的细节。|
|你可以与天然或人工石头交谈。|
!!!解除石化(Stone To Flesh)
|变化系|
|''等级:''术士/法师 6|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''1个遭石化的生物,或者一个直径1至3英尺,最高10英尺的石柱|
|''持续时间:''立即|
|''豁免:''强韧,通过则无效(物体);见正文|
|''法术抗力:''可|
|此法术可使一个遭石化的生物恢复原状,包括生命和它携带的物品。生物必须通过DC 15的强韧豁免才能在此过程中存活。任何体型的石化生物都可以被复原。|
|此法术也能将石头转化成肉体。这样的肉体并没有生命,除非被赋予生命或魔法能量。(比如,石魔像可由此变为肉魔像,但一般的石像只能变成尸体。)你可以影响的目标必须可以放在一个直径1至3英尺,高10英尺的柱形区域内,也可以对更大的的石块中符合上述限制的部分施法。|
|//材料成分://一撮泥土和一滴血。|
!!!石肤术(Stoneskin)
|防护系|
|''等级:''德鲁伊 5,土 6,术士/法师 4,力量 6|
|''法术成分:''言语,姿势,材料|
|''施法时间:''一个标准动作|
|''距离:''接触|
|''目标:''被接触的生物|
|''持续时间:'' 10分钟/等级或直到能量散发|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可(无害)|
|受术者获得对刀砍斧削的抵抗能力。受术者获得10/精金的伤害减免(每次受到武器伤害时吸收前10点伤害,但无法吸收精金武器造成的伤害。)当法术吸收的伤害值达到10x施法者等级(最多150点)后,法术效果消失。|
|//材料成分://花岗岩和价值250金币的钻石尘,撒在受术者皮肤上。.|
!!!复仇风暴(Storm of Vengeance)
|咒法系(召唤)|
|''等级:''德鲁伊 9,牧师 9|
|''法术成分:''言语,姿势|
|''施法时间:''1轮|
|''距离:''远距(400英尺+40英尺/每等级)|
|''效果:''半径360半径的暴风云|
|''持续时间:''专注(最多10轮)(可解消)|
|''豁免:''见说明|
|''法术抗力:''可|
|此法术造出一团巨大凶暴的黑色暴风云。风暴挟带着闪电和霹雳雷鸣。云下的所有生物必须通过强韧检定否则耳聋1d4x10分钟。|
|如果你施法后没能维持专注,则法术结束。若你维持专注,在以后的每一轮,法术都会产生额外效果(见下文)。每一种效果都在你的回合中生效。|
|//第二轮://影响区域中降酸雨,造成1d6点强酸伤害(无豁免)。|
|//第三轮://从云上召下6道闪电。由你决定闪电击向何方。任何两道闪电不能击向同一个目标。每道闪电造成10d6点电击伤害。生物若通过反射检定则伤害减半。|
|//第四轮://降冰雹,造成5d6点钝击伤害(无豁免)。|
|//第五到十轮://狂风暴雨降低了能见度。大雨遮蔽了所有视觉,即便有黑暗视觉,生物也无法看到5英尺外的东西。5英尺内的生物获得掩蔽(进行攻击有20%失手几率)。五英尺外的生物获得全掩蔽(50%失手几率,攻击者无法靠视觉确定目标位置)。移动速度降低四分之三。暴风雨区域内无法进行远程攻击。要在暴风雨区域内施法必须先通过专注检定,DC为复仇风暴的豁免DC+欲施法术的等级。|
''Strand of Prayer Beads(念珠项链)'': 看起来像不值钱的珠宝,但对于神术施展者有特殊能力。



|!	念珠类型	 |!	念珠能力	 |
|^	祝福念珠	 |^	使用者可以施展“祝福术”	 |
|^	医疗念珠	 |^	使用者可以施展“移除目盲”、“移除疾病”或“治疗重伤”	 |
|^	魔力念珠	 |^	使用者施展法术的施法者等级+4(影响距离、持续时间等),有效时间10分钟。	 |
|^	打击念珠	 |^	视阵营不同,可以施展“圣光击”、混沌之锤、秩序之怒或邪影击(DC=17)	 |
|^	召唤念珠	 |^	呼唤使用者的神诋(90%)几率以实体出现(最好有充分的理由),只能使用一次	 |
|^	风行念珠	 |^	使用者可以施展御风而行	 |

  
 


除了“召唤念珠”外,每颗念珠每天可使用其能力一次。如果使用者召唤神祇时没有充分理由,神祇会取走使用者的物品,并施以可怕的惩罚,至少是“指使术”。如果取下念珠,其魔力即消失。有些项链出现时会有一颗以上的念珠。拥有者不需要佩带任何念珠,只要随身携带即可使用。

施法者等级:17。先决条件:“制造奇物”,“异界之门”、“御风而行”及下列法术之一:“祝福术”、“移除目盲”、“移除疾病”、“治疗重伤”、“圣光击”、“混沌之锤”、“秩序之怒”、“邪影击”(依念珠能力而定)。交易价格:600金币(祝福念珠),9000金币(魔力念珠),20000金币(医疗念珠),168000金币(打击念珠),20000金币(风行念珠),4000金币(召唤念珠)外加项链上的宝石1000金币。

The power of a special bead is lost if it is removed from the strand. Reduce the price of a strand of prayer beads that is missing one or more beads by the following amounts: bead of blessing –600 gp, bead of healing –9,000 gp, bead of karma –20,000 gp, bead of smiting –16,800 gp, bead of summons –20,000 gp, bead of wind walking –46,800 gp.

 

''震慑(Stunned):''被震慑住的人物手上的东西会掉落,无法行动,在AC上有-2的减值,并在AC上失去敏捷加值。

!!! 震慑拳(STUNNING FIST)[一般专长]

''先决条件:''敏捷13、感知13、精通徒手击打、基本攻击加值+8。

''效果:''在做出攻击检定之前你必须宣布使用本专长(因此,若攻击检定失败则即失去该次尝试机会)。你徒手击打出的震慑拳出造成普通伤害外,还迫使被伤害的敌人进行一次强韧检定(DC为10+你角色等级的一半+你的感知调整值)。被命中者若未能通过该检定则被震慑一轮(直到你下一轮动作之前)。被震慑的人物无法行动,防御等级上失去所有敏捷加值,并且还有-2减值。你每升四级便可在一天中使用一次震慑攻击(见特殊部分),但每轮只能使用一次。构装生物、泥状怪物、植物、不死生物、虚体生物和免疫重击的生物无法被震慑。

''特殊:''武僧可以在1级时选择本专长作为奖励专长,即使其不满足先决条件。选择了本专长的武僧每天可以使用震慑攻击的次数等于其武僧级别并加上非武僧级别除以四。

战士可以选择本专长作为战士的奖励专长。

h1 { color: #D8BFD8; }

h2 { color: #9400D3; }

h3 { color: #ED008C; }


h4, h5, h6 { color: #6495ED; }



.tc-sidebar-header { text-shadow: 0 0px 0 rgba(255,255,255, 0.8); }

.tc-table-of-contents li { font-size: 1.1em; font-weight: normal; }

.tc-table-of-contents li a { font-weight: normal; }

.tc-table-of-contents li li { font-size: 0.95em; font-weight: normal; line-height: 1.4; }

.tc-table-of-contents li li a { font-weight: normal; }

.tc-table-of-contents li li li { font-size: 0.95em; font-weight: normal; line-height: 1.5; }

.tc-table-of-contents li li li a { font-weight: normal; }

.tc-table-of-contents li li li li { font-size: 0.95em; font-weight: normal; }

button.tc-tiddlylink, a.tc-tiddlylink { text-decoration: none; font-weight: normal; color: #4F91CD; -webkit-user-select: inherit; /* Otherwise the draggable attribute makes links impossible to select */ }

.tc-table-of-contents svg { width: 0.7em; height: 0.7em; vertical-align: middle; fill: #ffb6c1; }

.tc-tabbed-table-of-contents .tc-table-of-contents { z-index: 100; display: inline-block; padding-left: 1em; max-width: 50%; -webkit-flex: 0 0 auto; flex: 0 0 auto; background: #EBECEE; border-left: 1px solid #cccccc; border-top: 1px solid #cccccc; border-bottom: 1px solid #cccccc; }

.tc-tabbed-table-of-contents .tc-table-of-contents .toc-item > a { border-top: 1px solid #EBECEE; border-left: 1px solid #EBECEE; border-bottom: 1px solid #EBECEE; }



table { border: 0px solid #dddddd; width: auto; max-width: 100%; caption-side: bottom; margin-top: 1em; margin-bottom: 1em; }

table th, table td { padding: 0 7px 0 7px; border-top: 0px solid #dddddd; border-left: 0px solid #dddddd; }

table thead tr td, table th { background-color: #f0f0f0; font-weight: bold; }

table tfoot tr td { background-color: #a8a8a8; }


.tc-scrollable-demo {
	border: 1px solid <<colour message-border>>;
	background-color: <<colour message-background>>;
	padding: 1em;
	height: 400px;
	position: relative;
}


.tc-scrollable-150 {
	border: 1px solid <<colour message-border>>;
	background-color: <<colour message-background>>;
	padding: 1em;
	height: 150px;
	position: relative;
}
```
当前的标题样式
```



! Heading1

!! Heading2

!!! Heading3

!!!! Heading4

!!!!! Heading5

!!!!!! Heading6


```

页面内带滚动条内容(Stylesheet里有tc-scrollable-demo的定义)
```

<$scrollable class='tc-scrollable-demo'>

<<list-links "[tag[法术]]+[sort[title]]">>

</$scrollable>

```

查看其他页面内容(View Widget)
```

<$view tiddler="Aid(援助术)" format="plainwikified">
!!!群体暗示术(Suggestion, Mass)
|惑控系 (胁迫)[基于语言,影响心灵]|
|''等级:''吟游诗人 5,术士/法师 6|
|''距离:''中距(100英尺+10英尺/每等级)|
|''目标:''一个生物/等级,生物之间相距不超过30英尺|
|和暗示术一样,不过此法术可以作用于多个生物,这些生物将全部受到同一种暗示的影响。|
!!!暗示术(Suggestion)
|惑控系(胁迫)[基于语言,影响心灵]|
|''等级:''吟游诗人 2,术士/法师 3|
|''法术成分:''言语,材料|
|''施法时间:''一个标准动作|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''一个活物|
|''持续时间:'' 1小时/等级或直到完成|
|''豁免:''意志,通过则无效|
|''法术抗力:''可|
|你通过暗示受术者(最多一两句话)采取某种方式的活动影响它的行动。你的暗示言辞必须能让那种活动听上去合情合理。若要求生物作出自残行为将使法术自动失效。|
|受术者将在法术持续时间内始终遵循被暗示的行动。如果该行动很快达成,则受术者达到目标后法术即告结束。你也可以设定特殊条件来触发受术者的行为。如果在法术结束前未达成触发条件,则暗示的行为不会发生。|
|一个相当合理的暗示会使受术者在进行豁免检定时受到减值(比如-1或-2)|
|//材料成分://一条蛇舌加上少量蜂巢或一滴橄榄油。|
!!!召唤乐器(Summon Instrument)
|咒法系 (召唤)|
|''等级:''吟游诗人 0|
|''法术成分:''言语,姿势|
|''施法时间:''1轮|
|''距离:''0英尺|
|''效果:''召唤一件可手持的乐器|
|''持续时间:''1分钟/等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|此法术可以召唤一件可手持的乐器。乐器将在你手中或脚边出现(这由你决定)。它与普通乐器相同。每次施法只能召唤一件乐器,且仅供施法者演奏。你不能召唤出大到无法手持的乐器。|
!!!一级召唤怪物术(Summon Monster I)
|咒法系(召唤)[见正文]|
|''等级:''吟游诗人 1,牧师 1,术士/法师 1|
|''法术成分:''言语,姿势,器材/法器|
|''施法时间:''1 轮|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''一个召唤来的生物|
|''持续时间:''1轮/等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|此法术可以召唤一个跨位面生物(通常来说是些异界生物、元素生物,或源自其他位面的魔法兽)。在你的回合里,它出现在你指定的位置并立即开始行动。它将尽全力攻击你的敌人。如果你可以与该生物交流,你可以让它不进行攻击,攻击特定目标,或进行其他行动。|
|此法术可召唤出召唤怪物列表中1级列表内的一个生物。你可以选择召唤生物的种类,并且每次施法时都可以改变选择。|
|被召唤来的生物不能再召唤其他生物,也不可以使用任何传送或位面旅行能力。生物不会被召唤进入不支持它的环境中。|
|当你召唤气,混乱,土,邪恶,火,善良,守序或水类生物时,法术类型即为该类型。|
|//奥术器材成分://一个微型包和一根小蜡烛(不必点燃)。|


|!	1级	 |!		 |
|^	天界犬(Celestial dog)	 |^	守序善良	 |
|^	天界枭(Celestial owl)	 |^	守序善良	 |
|^	天界巨火甲虫(Celestial giant fire beetle)	 |^	中立善良	 |
|^	天界海豚^^1^^(Celestial porpoise1)	 |^	中立善良	 |
|^	天界獾(Celestial badger)	 |^	混乱善良	 |
|^	天界猴(Celestial monkey)	 |^	混乱善良	 |
|^	炼狱凶暴鼠(Fiendish dire rat)	 |^	守序邪恶	 |
|^	炼狱渡鸦(Fiendish raven)	 |^	守序邪恶	 |
|^	中型炼狱变异蜈蚣(Fiendish monstrous centipede, Medium)	 |^	中立邪恶	 |
|^	小型炼狱变异蝎(Fiendish monstrous scorpion, Small)	 |^	中立邪恶	 |
|^	炼狱猎鹰(Fiendish hawk)	 |^	混乱邪恶	 |
|^	小型炼狱变异蜘蛛(Fiendish monstrous spider, Small)	 |^	混乱邪恶	 |
|^	炼狱章鱼^^1^^(Fiendish octopus)	 |^	混乱邪恶	 |
|^	小型炼狱毒蛇(Fiendish snake, Small viper)	 |^	混乱邪恶	 |

|1 //只能在水中或者有水的环境召唤。//|
!!!二级召唤怪物术(Summon Monster II)
|咒法系 (召唤)[见一级召唤怪物术说明]|
|''等级:''吟游诗人 2,牧师 2,术士/法师 2|
|''效果:''一个或多个召唤来生物,生物之间最多不超过30尺|
|和一级召唤怪物术一样,不过你可以从2级列表中召唤一个怪物,或者从1级列表中召唤1d3个同种怪物。|

|!	2级	 |!		 |
|^	巨型天界蜂(Celestial giant bee)	 |^	守序善良	 |
|^	天界巨投弹甲虫(Celestial giant bombardier beetle)	 |^	中立善良	 |
|^	天界骑乘犬(Celestial riding dog)	 |^	中立善良	 |
|^	天界鹰(Celestial eagle)	 |^	混乱善良	 |
|^	劣魔(魔鬼)(Lemure (devil))	 |^	守序邪恶	 |
|^	炼狱乌贼^^1^^(Fiendish squid)	 |^	守序邪恶	 |
|^	炼狱狼(Fiendish wolf)	 |^	守序邪恶	 |
|^	大型炼狱变异蜈蚣(Fiendish monstrous centipede, Large)	 |^	中立邪恶	 |
|^	中型炼狱变异蝎(Fiendish monstrous scorpion, Medium)	 |^	中立邪恶	 |
|^	中型炼狱鲨^^1^^(Fiendish shark, Medium)	 |^	中立邪恶	 |
|^	中型炼狱变异蛛(Fiendish monstrous spider, Medium)	 |^	混乱邪恶	 |
|^	中型炼狱毒蛇(Fiendish snake, Medium viper)	 |^	混乱邪恶	 |

|1 //只能在水中或者有水的环境召唤。//|
!!!三级召唤怪物术(Summon Monster III)
|咒法系 (召唤)[见一级召唤怪物术说明]|
|''等级:''吟游诗人 3,牧师 3,术士/法师 3|
|''效果:''一个或多个召唤来生物,生物之间最多不超过30尺|
|和一级召唤怪物术一样,不过你可以从3级列表中召唤一个怪物,或者从2级列表中召唤1d3个同种怪物,或者从1级列表中召唤1d4+1个同种怪物。|

|!	3级	 |!		 |
|^	天界黑熊(Celestial black bear)	 |^	守序善良	 |
|^	天界野牛(Celestial bison)	 |^	中立善良	 |
|^	天界凶暴獾(Celestial dire badger)	 |^	混乱善良	 |
|^	天界鹫马(Celestial hippogriff)	 |^	混乱善良	 |
|^	小型元素(任何种类)(Elemental, Small (any))	 |^	中立	 |
|^	炼狱猿(Fiendish ape)	 |^	守序邪恶	 |
|^	炼狱凶暴鼬(Fiendish dire weasel)	 |^	守序邪恶	 |
|^	地狱犬(Hell hound)	 |^	守序邪恶	 |
|^	炼狱蟒(Fiendish snake, constrictor )	 |^	守序邪恶	 |
|^	炼狱野猪(Fiendish boar)	 |^	中立邪恶	 |
|^	炼狱凶暴蝙蝠(Fiendish dire bat)	 |^	中立邪恶	 |
|^	超大型炼狱变异蜈蚣(Fiendish monstrous centipede, Huge)	 |^	中立邪恶	 |
|^	炼狱鳄鱼(Fiendish crocodile)	 |^	混乱邪恶	 |
|^	攫屈魔(恶魔)(Dretch (demon))	 |^	混乱邪恶	 |
|^	大型炼狱毒蛇(Fiendish snake, Large viper)	 |^	混乱邪恶	 |
|^	炼狱狼獾(Fiendish wolverine)	 |^	混乱邪恶	 |
!!!四级召唤怪物术(Summon Monster IV)
|咒法系 (召唤)[见一级召唤怪物术说明]|
|''等级:''吟游诗人 4,牧师 4,术士/法师 4|
|''效果:''一个或多个召唤来生物,生物之间最多不超过30尺|
|和一级召唤怪物术一样,不过你可以从4级列表中召唤一个怪物,或者从3级列表中召唤1d3个同种怪物,或者从更低等级列表中召唤1d4+1个同种怪物。|


|!	4级	 |!		 |
|^	圣光神使(Archon, lantern)	 |^	守序善良	 |
|^	巨型天界枭(Celestial giant owl)	 |^	守序善良	 |
|^	巨型天界鹰(Celestial giant eagle)	 |^	混乱善良	 |
|^	天界狮(Celestial lion)	 |^	混乱善良	 |
|^	魔蝠(任何种类)(Mephit (any))	 |^	中立	 |
|^	炼狱凶暴狼(Fiendish dire wolf)	 |^	守序邪恶	 |
|^	巨形炼狱蜂(Fiendish giant wasp)	 |^	守序邪恶	 |
|^	炼狱巨螳螂(Fiendish giant praying mantis)	 |^	中立邪恶	 |
|^	大型炼狱鲨^^1^^(Fiendish shark, Large)	 |^	中立邪恶	 |
|^	夜魔犬(Yeth hound)	 |^	中立邪恶	 |
|^	大型炼狱变异蛛(Fiendish monstrous spider, Large)	 |^	混乱邪恶	 |
|^	超大型炼狱毒蛇(Fiendish snake, Huge viper)	 |^	混乱邪恶	 |
|^	嚎兽(Howler)	 |^	混乱邪恶	 |

|1 //只能在水中或者有水的环境召唤。//|
!!!九级召唤怪物术(Summon Monster IX)
|咒法系 (召唤)[见一级召唤怪物术说明]|
|''等级:''混乱9,牧师 9,邪恶 9,善良 9,秩序 9,术士/法师 9|
|和一级召唤怪物术一样,不过你可以从9级列表中召唤一个怪物,或者从8级列表中召唤1d3个同种怪物,或者从更低等级列表中召唤1d4+1个同种怪物。|


|!	9级	 |!		 |
|^	羽蛇(Couatl)	 |^	守序善良	 |
|^	Leonal(鹏羽天)(Leonal (guardinal))	 |^	中立善良	 |
|^	天界鹏(Celestial roc)	 |^	混乱善良	 |
|^	元素长老(任何种类)(Elemental, elder (any))	 |^	中立	 |
|^	刺魔(Devil, barbed)	 |^	守序邪恶	 |
|^	炼狱凶暴鲨^^1^^(Fiendish dire shark)	 |^	中立邪恶	 |
|^	巨型炼狱变种蝎(Fiendish monstrous scorpion, Gargantuan)	 |^	中立邪恶	 |
|^	老鬼婆(Night hag)	 |^	中立邪恶	 |
|^	狩魔蛛(恶魔)(Bebilith (demon))	 |^	混乱邪恶	 |
|^	超巨型炼狱变种蛛(Fiendish monstrous spider, Colossal)	 |^	混乱邪恶	 |
|^	狂战魔(恶魔)(Hezrou (demon))	 |^	混乱邪恶	 |

|1 //只能在水中或者有水的环境召唤。//|
!!!五级召唤怪物术(Summon Monster V)
|咒法系 (召唤)[见一级召唤怪物术说明]|
|''等级:''吟游诗人 5,牧师 5,术士/法师 5|
|''效果:''一个或多个召唤来生物,生物之间最多不超过30尺|
|和一级召唤怪物术一样,不过你可以从5级列表中召唤一个怪物,或者从4级列表中召唤1d3个同种怪物,或者从更低等级列表中召唤1d4+1个同种怪物。|

|!	5级	 |!		 |
|^	獒首神使(Archon, hound)	 |^	守序善良	 |
|^	天界棕熊(Celestial brown bear)	 |^	守序善良	 |
|^	天界巨锹甲虫(Celestial giant stag beetle)	 |^	中立善良	 |
|^	天界海猫^^1^^(Celestial sea cat1)	 |^	中立善良	 |
|^	天界狮鹫(Celestial griffon)	 |^	混乱善良	 |
|^	中型元素(任何种类)(Elemental, Medium (any))	 |^	中立	 |
|^	鹦哥兽(Achaierai)	 |^	守序邪恶	 |
|^	须魔(Devil, bearded)	 |^	守序邪恶	 |
|^	炼狱恐爪龙(Fiendish deinonychus)	 |^	守序邪恶	 |
|^	炼狱凶暴猿(Fiendish dire ape)	 |^	守序邪恶	 |
|^	炼狱凶暴野猪(Fiendish dire boar)	 |^	中立邪恶	 |
|^	超大型炼狱鲨(Fiendish shark, Huge)	 |^	中立邪恶	 |
|^	大型炼狱变异蝎(Fiendish monstrous scorpion, Large)	 |^	中立邪恶	 |
|^	影獒(Shadow mastiff)	 |^	中立邪恶	 |
|^	炼狱凶暴狼獾(Fiendish dire wolverine)	 |^	混乱邪恶	 |
|^	炼狱巨鳄鱼(Fiendish giant crocodile)	 |^	混乱邪恶	 |
|^	炼狱虎(Fiendish tiger)	 |^	混乱邪恶	 |

|1 //只能在水中或者有水的环境召唤。//|
!!!六级召唤怪物术(Summon Monster VI)
|咒法系 (召唤)[见一级召唤怪物术说明]|
|''等级:''吟游诗人 6,牧师 6,术士/法师 6|
|''效果:''一个或多个召唤来生物,生物之间最多不超过30尺|
|和一级召唤怪物术一样,不过你可以从6级列表中召唤一个怪物,或者从5级列表中召唤1d3个同种怪物,或者从更低等级列表中召唤1d4+1个同种怪物。|

|!	6级	 |!		 |
|^	天界北极熊(Celestial polar bear)	 |^	守序善良	 |
|^	天界逆戟鲸^^1^^(Celestial orca whale1)	 |^	中立善良	 |
|^	Bralani (迦勒天)(Bralani (eladrin))	 |^	混乱善良	 |
|^	天界凶暴狮(Celestial dire lion)	 |^	混乱善良	 |
|^	大型元素(任何种类)(Elemental, Large (any))	 |^	中立	 |
|^	小巨灵(巨灵)(Janni (genie))	 |^	中立	 |
|^	混沌兽(Chaos beast)	 |^	混乱中立	 |
|^	链魔(Devil, chain)	 |^	守序邪恶	 |
|^	锡尔族(Xill)	 |^	守序邪恶	 |
|^	巨型炼狱变异蜈蚣(Fiendish monstrous centipede, Gargantuan)	 |^	中立邪恶	 |
|^	炼狱犀牛(Fiendish rhinoceros)	 |^	中立邪恶	 |
|^	炼狱薄板龙^^1^^(Fiendish elasmosaurus)	 |^	混乱邪恶	 |
|^	超大型炼狱变异蛛(Fiendish monstrous spider, Huge)	 |^	混乱邪恶	 |
|^	炼狱巨蟒(Fiendish snake, giant constrictor)	 |^	混乱邪恶	 |


|1 //只能在水中或者有水的环境召唤。//|
!!!七级召唤怪物术(Summon Monster VII)
|咒法系 (召唤)[见一级召唤怪物术说明]|
|''等级:''牧师 7,术士/法师 7|
|和一级召唤怪物术一样,不过你可以从7级列表中召唤一个怪物,或者从6级列表中召唤1d3个同种怪物,或者从更低等级列表中召唤1d4+1个同种怪物。|

|!	7级	 |!		 |
|^	天界象(Celestial elephant)	 |^	守序善良	 |
|^	鹏羽天使(盖丁天族)(Avoral (guardinal))	 |^	中立善良	 |
|^	天界须鲸^^1^^(Celestial baleen whale)	 |^	中立善良	 |
|^	风巨灵(巨灵)(Djinni (genie))	 |^	混乱善良	 |
|^	巨型元素生物(任何种类)(Elemental, Huge (any))	 |^	中立	 |
|^	隐形潜伏怪(Invisible stalker)	 |^	中立	 |
|^	骨魔(Devil, bone)	 |^	守序邪恶	 |
|^	炼狱猛禽龙(Fiendish megaraptor)	 |^	守序邪恶	 |
|^	超大型炼狱变种蝎(Fiendish monstrous scorpion, Huge)	 |^	中立邪恶	 |
|^	Babau(恶魔)(Babau (demon))	 |^	混乱邪恶	 |
|^	炼狱巨章鱼^^1^^(Fiendish giant octopus)	 |^	混乱邪恶	 |
|^	炼狱四臂猩猩(Fiendish girallon)	 |^	混乱邪恶	 |

|1 //只能在水中或者有水的环境召唤。//|
!!!八级召唤怪物术(Summon Monster VIII)
|咒法系 (召唤)[见一级召唤怪物术说明]|
|''等级:''牧师 8,术士/法师 8|
|和一级召唤怪物术一样,不过你可以从8级列表中召唤一个怪物,或者从7级列表中召唤1d3个同种怪物,或者从更低等级列表中召唤1d4+1个同种怪物。|

|!	8级	 |!		 |
|^	天界凶暴熊(Celestial dire bear)	 |^	守序善良	 |
|^	天界抹香鲸^^1^^(Celestial cachalot whale)	 |^	中立善良	 |
|^	天界三角龙(Celestial triceratops)	 |^	中立善良	 |
|^	翼蛇人(Lillend)	 |^	混乱善良	 |
|^	超大型元素(任何种类)(Elemental, greater (any))	 |^	中立	 |
|^	炼狱巨乌贼^^1^^(Fiendish giant squid)	 |^	守序邪恶	 |
|^	地狱猫(Hellcat)	 |^	守序邪恶	 |
|^	超巨型炼狱变种蜈蚣(Fiendish monstrous centipede, Colossal)	 |^	中立邪恶	 |
|^	炼狱凶暴虎(Fiendish dire tiger)	 |^	混乱邪恶	 |
|^	巨型炼狱变种蛛(Fiendish monstrous spider, Gargantuan)	 |^	混乱邪恶	 |
|^	炼狱暴龙(Fiendish tyrannosaurus)	 |^	混乱邪恶	 |
|^	弗洛魔(恶魔)(Vrock (demon))	 |^	混乱邪恶	 |


|1 //只能在水中或者有水的环境召唤。//|
!!!一级召唤自然盟友术(Summon Nature’s Ally I)
|咒法系(召唤)|
|''等级:''德鲁伊 1, 巡林客 1|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1轮|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''一个召唤来的生物|
|''持续时间:''1轮/等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|此法术可以召唤一个自然生物。它在你的回合出现在你指定的位置,并且立即展开行动。它会尽全力攻击你的敌人。如果你能与该生物交流,你可以让他停止攻击,攻击特定目标或展开其他行动。|
|召唤来的怪物不会召唤其他生物,也不能使用传送或位面旅行能力。生物不能被召唤到它们无法生存的位置。|
|此法术可召唤出召唤自然盟友列表中1级列表内的一个生物。你可以选择要召唤的生物,每次施法时都可以改变选择。表格中的所有生物均为绝对中立,除非另有标注。|

|!1级 |
|凶暴鼠(Dire rat)|
|鹰(动物)(Eagle (animal))|
|猴(动物)(Monkey (animal))|
|章鱼^^1^^(动物)(Octopus (animal))|
|猫头鹰(动物)(Owl (animal))|
|海豚 ^^1^^(动物)(Porpoise (animal))|
|小型毒蛇(动物)(Snake, Small viper (animal))|
|狼(动物)(Wolf (animal))|

|1 //只能在水中或者有水的环境召唤。//|
!!!二级召唤自然盟友术(Summon Nature’s Ally II)
|咒法系(召唤)|
|''等级:''德鲁伊 2,巡林客 2|
|''效果:''|
|一个或多个召唤来的生物,生物之间相距不超过30英尺。|
|同一级召唤自然盟友术(summon nature’s ally I),不过你可以召唤一个2级生物,或1d3个1级的同种生物。|

|!	2级	 |
|^	黑熊(动物)(Bear, black (animal))	 |
|^	鳄鱼(动物)(Crocodile (animal))	 |
|^	凶暴獾(Dire badger)	 |
|^	凶暴蝙蝠(Dire bat)	 |
|^	小型元素生物(任何种类)(Elemental, Small (any))	 |
|^	鹫马(Hippogriff)	 |
|^	中型鲨鱼^^1^^(动物)(Shark, Medium (animal))	 |
|^	中型毒蛇(动物)(Snake, Medium viper (animal))	 |
|^	乌贼^^1^^(动物)(Squid (animal))	 |
|^	狼獾(动物)(Wolverine (animal))	 |

|1 //只能在水中或者有水的环境召唤。//|
!!!三级召唤自然盟友术(Summon Nature’s Ally III)
|咒法系(召唤)[见说明]|
|''等级:''德鲁伊 3,巡林客 3|
|''效果:''一个或多个召唤来的生物,生物之间相距不超过30英尺。|
|同一级召唤自然盟友术(summon nature’s ally I),不过你可以召唤一个3级生物,或1d3个2级的同种生物,或1d4+1个1级的同种生物。|
|当你召唤气,混乱,土,邪恶,火,善良,守序或水类生物时,法术类型即为该类型。|

|!	3级	 |
|^	猿(动物)(Ape (animal))	 |
|^	凶暴鼬(Dire weasel)	 |
|^	凶暴狼(Dire wolf)	 |
|^	巨鹰(中立善良)(Eagle, giant [NG])	 |
|^	狮(Lion)	 |
|^	巨猫头鹰(中立善良)(Owl, giant [NG])	 |
|^	半羊人[无序善良;无牧笛](Satyr [CN; without pipes])	 |
|^	大型鲨^^1^^(动物)(Shark, Large (animal))	 |
|^	蟒蛇(动物)(Snake, constrictor (animal))	 |
|^	大型毒蛇(动物)(Snake, Large viper (animal))	 |
|^	土焢虫(Thoqqua)	 |


|1 //只能在水中或者有水的环境召唤。//|

!!!四级召唤自然盟友术(Summon Nature’s Ally IV)
|咒法系(召唤)[见说明]|
|''等级:''动物 4,德鲁伊 4,巡林客 4|
|''效果:''一个或多个召唤来的生物,生物之间相距不超过30英尺。|
|同一级召唤自然盟友术(summon nature’s ally I),不过你可以召唤一个4级生物,或1d3个3级的同种生物,或1d4+1个更低等级的同种生物。|
|当你召唤气,混乱,土,邪恶,火,善良,守序或水类生物时,法术类型即为该类型。|


|!	4级	 |
|^	幼年箭鹰(Arrowhawk, juvenile)	 |
|^	棕熊(动物)(Bear, brown (animal))	 |
|^	巨型鳄鱼(动物)(Crocodile, giant (animal))	 |
|^	恐爪龙 (恐龙)(Deinonychus (dinosaur))	 |
|^	凶暴猿(Dire ape)	 |
|^	凶暴熊(Dire boar)	 |
|^	凶暴狼獾(Dire wolverine)	 |
|^	中型元素生物(任何种类)(Elemental, Medium (any))	 |
|^	烈焰火蜥蜴 [中立邪恶](Salamander, flamebrother [NE])	 |
|^	海猫^^1^^(Sea cat1)	 |
|^	超大型鲨鱼1(动物)(Shark, Huge1 (animal))	 |
|^	超大型毒蛇(动物)(Snake, Huge viper (animal))	 |
|^	虎(动物)(Tiger (animal))	 |
|^	幼年突蟹龟^^1^^(Tojanida, juvenile1)	 |
|^	独角兽 [混乱善良](Unicorn [CG])	 |
|^	小型索尔石怪(Xorn, minor)	 |

|1 //只能在水中或者有水的环境召唤。//|
!!!九级召唤自然盟友术(Summon Nature’s Ally IX)
|咒法系(召唤)[见说明]|
|''等级:''德鲁伊 9|
|''效果:''一个或多个召唤来的生物,生物之间相距不超过30英尺。|
|同一级召唤自然盟友术(summon nature’s ally I),不过你可以召唤一个9级生物,或1d3个8级的同种生物,或1d4+1个更低等级的同种生物。|
|当你召唤气,混乱,土,邪恶,火,善良,守序或水类生物时,法术类型即为该类型。|

|!	9级	 |
|^	元素长老(Elemental, elder)	 |
|^	格利精[中立善良;带拉提琴](精怪)(Grig [NG; with fiddle] (sprite))	 |
|^	皮克精*(精怪) [中立善良;带昏睡箭和失忆箭](Pixie* (sprite) [NG; with sleep and memory loss arrows])	 |
|^	独角兽,天界冲锋者(Unicorn, celestial charger)	 |

|^	* //可施展迷舞(irresistible dance)//	 |

!!!五级召唤自然盟友术(Summon Nature’s Ally V)
|咒法系(召唤)[见说明]|
|''等级:''德鲁伊 5|
|''效果:''一个或多个召唤来的生物,生物之间相距不超过30英尺。|
|同一级召唤自然盟友术(summon nature’s ally I),不过你可以召唤一个5级生物,或1d3个4级的同种生物,或1d4+1个更低等级的同种生物。|
|当你召唤气,混乱,土,邪恶,火,善良,守序或水类生物时,法术类型即为该类型。|

|!	5级	 |
|^	成年箭鹰(Arrowhawk, adult)	 |
|^	北极熊(动物)(Bear, polar (animal))	 |
|^	凶暴狮(Dire lion)	 |
|^	薄板龙^^1^^ (恐龙)(Elasmosaurus1 (dinosaur))	 |
|^	大型元素生物(任何种类)(Elemental, Large (any))	 |
|^	狮鹫(Griffon)	 |
|^	小巨灵(巨灵)(Janni (genie))	 |
|^	犀牛(动物)(Rhinoceros (animal))	 |
|^	半羊人 [混乱中立;有笛](Satyr [CN; with pipes])	 |
|^	巨蟒(动物)(Snake, giant constrictor (animal))	 |
|^	尼克精(精怪)(Nixie (sprite))	 |
|^	成年突蟹龟^^1^^(Tojanida, adult)	 |
|^	逆戟鲸^^1^^(动物)(Whale, orca (animal))	 |


|1 //只能在水中或者有水的环境召唤。//|
!!!六级召唤自然盟友术(Summon Nature’s Ally VI)
|咒法系(召唤)[见说明]|
|''等级:''德鲁伊 6|
|''效果:''一个或多个召唤来的生物,生物之间相距不超过30英尺。|
|同一级召唤自然盟友术(summon nature’s ally I),不过你可以召唤一个6级生物,或1d3个5级的同种生物,或1d4+1个更低等级的同种生物。|
|当你召唤气,混乱,土,邪恶,火,善良,守序或水类生物时,法术类型即为该类型。|

|!	6级	 |
|^	凶暴熊(Dire bear)	 |
|^	大型元素生物(任何种类)(Elemental, Huge (any))	 |
|^	象(动物)(Elephant (animal))	 |
|^	四臂猩猩(Girallon)	 |
|^	猛禽龙(恐龙)(Megaraptor (dinosaur))	 |
|^	巨章鱼^^1^^(动物)(Octopus, giant1 (animal))	 |
|^	皮克精*(精怪) [中立善良;无特殊箭](Pixie* (sprite) [NG; no special arrows])	 |
|^	普通火蜥蜴 [中立邪恶](Salamander, average [NE])	 |
|^	须鲸^^1^^(Whale, baleen1)	 |
|^	普通索尔石怪(Xorn, average)	 |

|^	* //不可施展迷舞(irresistible dance)	// |
|1 //只能在水中或者有水的环境召唤。//|

!!!七级召唤自然盟友术(Summon Nature’s Ally VII)
|咒法系(召唤)[见说明]|
|''等级:''德鲁伊 7|
|''效果:''一个或多个召唤来的生物,生物之间相距不超过30英尺。|
|同一级召唤自然盟友术(summon nature’s ally I),不过你可以召唤一个7级生物,或1d3个6级的同种生物,或1d4+1个更低等级的同种生物。|
|当你召唤气,混乱,土,邪恶,火,善良,守序或水类生物时,法术类型即为该类型。|


|!	7级	 |
|^	老年箭鹰(Arrowhawk, elder)	 |
|^	凶暴虎(Dire tiger)	 |
|^	超大型元素生物(任何种类)(Elemental, greater (any))	 |
|^	风巨灵 (巨灵) [中立善良](Djinni (genie) [NG])	 |
|^	隐形潜伏怪(Invisible stalker)	 |
|^	皮克精*(精怪) [中立善良; 带昏睡箭](Pixie* (sprite) [NG; with sleep arrows])	 |
|^	巨乌贼^^1^^(动物)(Squid, giant1 (animal))	 |
|^	三角龙(恐龙)(Triceratops (dinosaur))	 |
|^	暴龙 (恐龙)(Tyrannosaurus (dinosaur))	 |
|^	抹香鲸^^1^^(动物)(Whale, cachalot1 (animal))	 |
|^	老年索尔石怪(Xorn, elder)	 |

|^	* //不可施展迷舞(irresistible dance)//	 |
|1 //只能在水中或者有水的环境召唤。//|
!!!八级召唤自然盟友术(Summon Nature’s Ally VIII)
|咒法系(召唤)[见说明] |
|''等级:''动物 8,德鲁伊 8|
|''效果:''一个或多个召唤来的生物,生物之间相距不超过30英尺。|
|同一级召唤自然盟友术(summon nature’s ally I),不过你可以召唤一个8级生物,或1d3个7级的同种生物,或1d4+1个更低等级的同种生物。|
|当你召唤气,混乱,土,邪恶,火,善良,守序或水类生物时,法术类型即为该类型。|

|!	8级	 |
|^	凶暴鲨^^1^^(Dire shark)	 |
|^	鹏鸟(Roc)	 |
|^	火蜥蜴贵族[中立邪恶](Salamander, noble [NE])	 |
|^	老年突蟹龟(Tojanida, elder)	 |


|1 //只能在水中或者有水的环境召唤。//|
!!!飞虫走兽(Summon Swarm)
|咒法系 (召唤)|
|''等级:''吟游诗人 2,德鲁伊 2,术士/法师 2|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1轮|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''效果:''一个蝙蝠集群、老鼠集群或蜘蛛集群|
|''持续时间:''专注+2轮|
|''豁免:''无|
|''法术抗力:''不可|
|你可以召唤一个蝙蝠集群、老鼠集群或蜘蛛集群(这由你决定)来攻击它所在区域内的所有生物。(你可以将它们召唤到其他生物所在的区域内,它们可以共用一个区域。)如果该区域没有其他生物,虫兽群将尽可能攻击或者接近最近的生物。施法者将无法控制它们的攻击目标或移动方向。|
|//奥术材料成分:// 一块红布方巾。|
''召唤(Summon,类法术能力):''具有召唤能力的生物可以召唤同一类的其他生物,如同施展怪物召唤术(summon monster),但通常有一个有限的成功率(在生物说明中给出)。投百分骰决定,如果失败,没有生物会回应召唤。召唤出来的生物会在来到1小时后自动回归。被召唤的生物在1小时内不能使用自身的召唤能力。大多数具有此能力的生物不会轻易使用召唤,因为这样它需要报答被召唤的生物。大体上说,只有在它需要救命的时候才会使用。为便于进行专注检定或解除被召唤生物的检定,每种召唤能力都给出了一个对应的法术等级。被召唤的生物不会分享经验值。

''Sun Blade(阳炎剑):''
这把剑的大小和重剑相同,但挥动它的感觉却好像在使用一把短剑(就是说,这把武器的外观和造成的伤害与重剑相同,但持握时的感觉却如同一把短剑)。任何擅长使用短剑或巨剑的人都擅长使用阳炎剑。无论针对短剑和重剑的专攻武器和专精武器专长对阳炎剑都适用,但效果不能叠加。

在通常的战斗中,这把金光闪闪的剑攻击效果等同于一把+2巨剑。对抗邪恶生物时,增强加值变为+4;对抗负能量界生物和不死生物时,武器造成双倍伤害(重击倍数变为x3而不是通常的x2)。

这把剑还有阳炎的能力,每天可使用一次。当使用者把剑举过头顶用力挥动并说出启动词时,阳炎剑会发出一道日光般明亮的黄色射线,照亮使用者周围10英尺半径的范围,并在接下来的10轮里以每轮5英尺的速度向外扩散,最终形成一个半径60英尺的球形光亮区域。如果使用者停止挥动,光芒会慢慢减弱,1分钟后完全消失。所有的阳炎剑都是善良阵营的,任何企图使用此剑的邪恶阵营生物会遭受两个负向等级。只要剑在手中负向等级就一直存在,除非把剑扔掉。这个负向等级并没有造成真正的等级降低,但是只要剑在手中,负向等级便不能以任何方式移除(包括复原术(restoration))。

中等塑能系灵光;CL10;制造魔法武器和防具,昼明术(daylight),制造者必须是善良阵营;价格50335金币;制造花费25335金币+2000经验值。

!!!阳炎射线(Sunbeam)
|塑能系[光亮]|
|''等级:''德鲁伊 7,太阳7|
|''法术成分:''言语,姿势,法器|
|''施法时间:''一个标准动作|
|''距离:''60 ft.|
|''区域:''自你手掌起的直线区域|
|''持续时间:''1轮/等级或直到所有射线耗尽|
|''豁免:''反射通过则无效和反射通过效果减半;见正文|
|''法术抗力:''可|
|在法术持续时间内,你每轮可以用一个标准动作来射出一道耀眼的强烈射线。每三施法者等级可以发出一道射线(最多18级时6道)。超过持续时间或发出的射线达到上限后,法术结束。|
|被射线照到的生物陷入目盲状态,并且受到4d6点伤害。任何终日不见阳光或会为阳光所伤的生物将受到双倍伤害。通过反射豁免则不会目盲,且伤害减半。|
|被射线照到的不死生物受到的伤害为1d6/施法者等级(最多20d6),通过反射豁免则伤害减半。另外,会被阳光所伤的不死生物若豁免失败就会被射线摧毁。|
|法术产生的紫外线会对覃(fungi),霉菌(mold),泥形怪(oozes)以及黏怪(slimes)造成伤害,效果如同对不死生物。|
!!!阳炎爆(Sunburst)
|塑能系 [光亮]|
|''等级:''德鲁伊 8,术士/法师 8,太阳 8|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''一个标准动作|
|''距离:''远距(400英尺+40英尺/每等级)|
|''区域:''半径80英尺爆发|
|''持续时间:''立即|
|''豁免:''反射,通过则部分生效;见正文|
|''法术抗力:''可|
|阳炎爆可产生灼热的光球,在你所指定的位置无声地爆发。球内的所有生物陷入目盲状态,并且受到6D6点伤害。终日不见阳光,或者会为阳光所伤的生物将受到双倍的伤害。通过反射豁免则不会目盲并且伤害减半。|
|光球内的不死生物受到的伤害为1d6/施法者等级(最高25d6),如通过检定则伤害减半。特别畏惧阳光的不死生物若检定失败就会被强光摧毁。|
|法术产生的紫外线会对覃(fungi),霉菌(mold),泥形怪(oozes)以及黏怪(slimes)造成伤害,效果如同对不死生物。|
|阳炎爆可以驱散区域内所有低于9级的黑暗法术|
|//奥术材料成分://一片日长石和一团明火。|
!!!击破武器(SUNDER)

你可以使用挥砍或钝击武器对敌人所持有的武器或盾牌进行一次近战攻击。如果你要尝试击破武器或是盾牌,就必须遵循下述的几个步骤。(攻击对方手中持有的、除武器和盾牌以外的其它物品的情况,也包括在下文中。)

|!	武器或盾牌	|!	硬度	|!	生命值^^1^^	|
|^	轻型刃器	|^	10	|^	2	|
|^	单手型刃器	|^	10	|^	5	|
|^	双手型刃器	|^	10	|^	10	|
|^	轻型金属柄武器	|^	10	|^	10	|
|^	单手型金属柄武器	|^	10	|^	20	|
|^	轻型带柄武器	|^	5	|^	2	|
|^	单手型带柄武器	|^	5	|^	5	|
|^	双手型带柄武器	|^	5	|^	10	|
|^	弹射型武器	|^	5	|^	5	|
|^	盔甲	|^	特殊^^2^^	|^	盔甲加值x5	|
|^	小圆盾	|^	10	|^	5	|
|^	轻型木盾	|^	5	|^	7	|
|^	重型木盾	|^	5	|^	15	|
|^	轻型钢盾	|^	10	|^	10	|
|^	重型钢盾	|^	10	|^	20	|
|^	塔盾	|^	5	|^	20	|

|^	1 //此处给出的HP数值只是针对中型的盔甲、武器和盾牌而言。相应的装备每比中型小1个体型级别,则在此数值基础上除以2,而每比中型大1个体型级别,则在此数值基础上乘以2。//	|^		|^		|
|^	2 //根据原材料来决定。//	|^		|^		|

 

''步骤 1:借机攻击。''你如果要尝试击破目标的武器或盾牌,就会引发该目标的一次借机攻击。(如果你有精通击破武器专长,在进行这种尝试时就不会招致目标的借机攻击。)

''步骤 2:对抗投骰。''你和防御者用各自的武器进行对抗攻击检定。在进行击破武器尝试时,使用双手武器者可以在对抗检定中得到+4的加值,而使用轻武器者则会受到-4的减值。如果对抗双方的体型不同,那么体型较大的一方每大过其对手一级,就可以在攻击投骰上得到+4的加值。

''步骤 3:结果。''如果你在对抗检定中胜过防御者,那么就可以投掷伤害骰,并对防御者的武器或是盾牌造成等同于该数值的伤害。根据“表:普通盔甲、武器、和盾牌的硬度以及生命值”来决定你总共要造成多少伤害才能将目标武器或是目标盾牌彻底破坏。

如果你的击破武器尝试失败,那么你就不会造成任何伤害。

击破携带或穿戴中的物品:要对一件携带或穿戴中的物品造成伤害时,你不需要进行对抗攻击检定。你只要针对该物品的AC进行正常的攻击投骰即可。携带或穿戴中的物品AC=10+它的体型调整值+携带者或穿戴者的敏捷调整值。攻击携带或穿戴中的物品和攻击被持有的物品一样,都会引发对方的借机攻击。要尝试夺取一件对方穿戴中的物品而不是破坏它时,请参阅“卸除武器”。你无法击破其他人物所穿戴的盔甲。
!! Survival(生存)(感知)

''检定:''你可以让你自己和他人在野外过的安全和获得食物。下表给出了各种情况下生存检定的DC。

生存技能不能让你跟着难以察觉的痕迹追踪,除非你是巡林客或者有追踪专长(Track)(见之后限制说明)。

|!	生存DC	|!	任务	|
|^	10 	|^	在野外活下去。可以以最多你陆地移动速度的一半来一边打猎和搜集可以吃的东西(不需要食物和水的支持)一边移动。检定结果比10每多出2点,你就可以给另外一个人提供食物和水。	|
|^	15	|^	以最多陆地移动速度一半的速度移动时,在对抗恶劣天气的所有强韧检定上获得+2加值,如果保持不动,则加值为+4。检定结果比15每多出1点,你就可以给另外一个人物提供相同的加值。	|
|^	15 	|^	避免迷失或者避开自然灾害,例如流沙。	|
|^	15 	|^	在冒险时预报24小时内的天气。检定结果比15每多出5点,你就能额外预报一天的天气。	|
|^	可变	|^	追随踪迹(见追踪专长(Track))。	|

 

''动作:''可变。单独的一次生存检定可能需要数个小时或者一整天。用来寻找足迹的生存检定至少需要一个整轮动作,并且有可能会更长。

''重试:''可变。要在野外活下去或者按前表提到的方法增加强韧豁免加值,你需要每24小时做一次生存检定。该检定结果将一直应用到做下一次检定。要避免迷失或者避开自然灾害,每当情况要求你就必须做一次生存检定。避免迷失或避开自然灾害不得重试。在寻找踪迹时,你可以在失败的检定1小时(室外)或10分钟(室内)后重试来重新搜索。

''限制:''任何人都能用生存技能来寻找踪迹(无论DC多少),也可以追踪踪迹,只要该任务的DC为10或更低。只有巡林客(或者有追踪专长(Track)的角色)可以追踪具有更高DC的踪迹。

''特别:''如果你在生存上级数达到5或者更高,你就能自动找到相对于你的正北方向。

巡林客在用生存检定寻找或追踪宿敌时获得加值。

如果你有自救专长(Self-Sufficient),你在生存检定上有+2加值。

共效:如果在生存上级数达到5或更高,你在知识(自然)检定上获得+2加值。

如果在知识(地下城)上级数达到5或更高,你在地下的生存(Survival)检定上获得+2加值。

如果在知识(自然)上级数达到5或更高,你在地表自然环境(水域,沙漠,森林,丘陵,沼泽,山脉,平原)下的生存(Survival)检定上获得+2加值。

如果在知识(地理)上级数达到5或更高,你在防止迷路或避免自然灾害的生存(Survival)检定上获得+2加值。

如果在知识(位面)上级数达到5或更高,你在在其他位面的生存(Survival)检定上获得+2加值。

如果你在搜索上级数达到5或更高,在你用生存(Survival)检定来找到踪迹或追踪时获得+2加值。

''Sustaining Spoon(莫林汤匙)'': 一般是由兽角削成,如果放入容器里(如碗、杯、盘等),容器便充满浓稠的麦片粥。虽然味道闻起来像湿暖的纸板,但其营养可满足任何草食、杂食或肉食生物。每天制造出的麦片粥足供四名人类食用。

Faint conjuration; CL 5th; Craft Wondrous Item, create food and water; Price 5,400 gp.
''Sustenance(维生):''此戒指会随时为穿戴者提神醒脑、恢复体力,所以穿戴者一天只需睡眠两小时,就有如同睡眠八小时的效果。穿戴者必须穿戴此戒指一周,效果才会开始发挥。一旦脱下此戒指,就必须再戴一周,使戒指与身体同调。

施法者等级:5。先决条件:“锻造戒指”,“造粮术”。交易价格:2500金币。
''活吞(Swallow Whole,特异能力):''如果具有此特殊攻击的生物在回合开始时正用嘴定身一个对手(参见精通攫抓),它可以在进行一次新的擒抱检定(如同尝试压制对手)。如果成功,它便吞下它的猎物,并且对方受到啮咬伤害。除非特别说明,否则对手体型最大只能到比该生物体型小一等级。被吞下可能有不同的后果,视展开活吞的生物而定。被吞下的生物视作被擒抱,而进行活吞的主体生物不视为擒抱。被活吞的生物可以尝试用轻型的挥砍或穿刺武器切开对手逃脱(切开从而逃脱所需的伤害数目在生物描述中给出),也可以尝试逃脱擒抱。活吞生物体内的防御等级通常为10+1/2它的天生防御加值,没有体型或敏捷加值。如果被吞下的生物逃脱擒抱成功,便会回到活吞生物的嘴里,他可能会遭到啮咬或者再次被吞下去。
''集群(Swarm)亚种:''一个集群是一些超微型、微型或超小型生物的集合,它们在行动方式上看作是一个生物。除了如下的说明之外,一个集群具有组成它的个体种类的性质。集群有单一的生命骰和生命值,单一的行动顺序调整值,单一的移动速度以及单一的防御等级。集群在进行豁免检定时亦和单个生物一样。一个集群占据边长10尺的正方形(如果由不会飞的生物组成)或立方体(由飞行生物组成),但和组成它的生物一样触及为0尺。在攻击时,它要移进对手的方格,这可能引发借机攻击。由于它会附着在猎物身上,它可以和任意大小的生物一起占据共同的空间。集群可以不受阻碍的穿越敌人占据的方格,反之也如此,但集群这么做会引发借机攻击。如果一个裂缝或者洞口足够组成集群的生物通过,那么集群也可以通过。

一群超小型生物包含300只不会飞的生物或1,000只飞行生物。一群微型生物包含1,500只不会飞的生物或5,000只飞行生物。而一群超微型生物包含10,000只生物,无论会飞与否。在不会飞的集群中,生物通常是紧紧地堆叠在一起,在移动和进攻时翻越其它的个体一起向猎物涌去,所以它们具有比10尺见方通常能容纳的多得多的数量。更大的集群可由多个单个集群的总和来体现。大型集群所占据的区域形状可以随意改变,但是集群通常会保持所占据方格都是相邻的。

//特性://集群没有明显的前胸后背也不存在明确的生理结构,所以它不受重击和夹击。由超小型生物组成的集群对于挥砍或穿刺武器只受一半伤害。由微型和超微型生物组成的集群免疫所有武器伤害。将一个集群的生命值减到0或更低可以将它打散,但直到该数目以前的伤害都无法降低它攻击和抵御攻击的能力。集群从来不会因为受伤失去战斗力或者处于濒死状态。它们不可能被绊摔、擒抱或冲撞,也不可能擒抱一个对手。

集群免疫针对具体数目生物的法术或效果(包括单目标法术比如解离术(disintegrate)),但如果集群具有智力值和群体意识,那么影响心灵的效果(魅惑[charm]、胁迫[compulsion]、魅影幻觉[phantasm]、心灵幻觉[pattern]、以及士气效果[morale effect])是例外情况。影响区域的法术或效果可对群体额外造成一半的伤害,比如泼溅武器和许多塑能系法术。

由微型或超微型生物组成的集群易受强风的影响,比如造风术(gust of wind)法术造成的。在决定风对于集群的影响时,集群看作具有和组成它的生物相同的体型。因为受到非致命伤害而昏迷的集群会乱作一团并分散开,只有在它的生命值超过它所受非致命伤害时才会重新组织起来。
//
集群攻击://具有集群的生物不会展开通常的近身攻击。取而代之,它们不需要进行攻击检定即可对它们移动结束时所占据格子中的任何生物自动造成伤害。集群攻击不受隐蔽或掩蔽所带来的失手几率的影响。集群生物的数据中“攻击”和“全力攻击”一栏都有“集群”攻击,它是没有攻击加值的。一个集群造成的伤害基于它的HD,如下列出。

|!	集群HD	|!	集群基本伤害	|
|	1-5	|	1d6	|
|	6-10	|	2d6	|
|	11-15	|	3d6	|
|	16-20	|	4d6	|
|	21或更多	|	5d6	|

除非集群的介绍中特别说明,否则集群的攻击是没有魔法性质的。假如一个生物具有足够将集群攻击伤害抵消到0的伤害减免、是虚体或是具有一些其他特性,则通常可以免疫(或者至少可以抵消一些)来自一个集群的攻击伤害。一些集群在造成正常伤害的同时还会造成附加的酸、毒、吸血或者其他特殊攻击。

集群并不威胁同一方格中的生物,也无法用它的集群攻击作出借机攻击。但是,它们能扰乱他们所占据方格内的对手的心神,见下面描述。

//扰乱心神(Distraction,特异能力)://任何易受集群伤害的活物,在它回合开始时若和一个集群在同一个方格内,会反胃(nauseated)一回合;通过强韧豁免(DC等于10+1/2集群HD+它的体质调整值;具体DC在集群描述中给出)则不受影响。在集群占据范围中施法或维持专注需要进行专注检定(DC等于20+法术等级)。这种情况下,使用需要耐心和集中精神的技能也需要进行DC20的专注检定。

集群由一大群密集的超微型、微型或超小型生物组成,这些生物在分成小群时没有什么威胁,但聚到足够的数量之后会变得相当危险。在游戏中集群在10英尺区域内被视为一个单独的生物——巨型的聚落则被分为互相贴近的几个集群。集群有单一的生命骰和生命值,单一的先攻调整值,单一的移动速度以及单一的防御等级。集群在进行豁免检定时亦和单个生物一样。

许多不同的生物都可以组成集群:蝙蝠集群、蜈蚣集群、黄蜂集群、蝗虫集群、老鼠集群和蜘蛛集群在下文中有介绍。集群的生物类别和组成生物的天然类别一样(大多数是动物或虫类),但所有集群都有“集群”的亚种。

一个超小型生物集群包含300只不会飞的生物或1,000只飞行生物。一个微型生物集群包含1,500只不会飞的生物或5,000只飞行生物。一个超微型生物集群包含10,000只生物,无论会飞与否。在一个不会飞的集群中,生物通常是紧紧地堆叠在一起,在移动和进攻时翻越其它的个体一起向猎物涌去,所以它们具有比10英尺见方通常能容纳的多得多的数量。更大的集群可由多个单个集群的总和来体现。大型集群的形状可以随意改变,但是它们总是保持相邻在一起。


!!!战斗

在战斗时,集群会移入对手所占据的位置,这会引发一次借机攻击。由于它会附着在猎物身上,因此可以和任意大小的生物一起占据共同的空间,但在10英尺空间内依然是单一的生物。集群无法对对手进行借机攻击,但可以引起对手的借机攻击。

和其他占据10英尺空间的生物不同,集群的形状可以改变。它可以占据任意四个邻接的方格,并且任何空间只要能容纳一只组成集群的生物,这个集群就能够穿越它。

!!!!集群的弱点

用物理攻击相当难以消灭集群。然而,集群依然存在着一些特别的弱点,如下:

挥舞点燃的火把作为临时武器每击会造成1d3的火焰伤害。

拥有炽焰或冻寒属性的武器每击会对其造成完整的能量伤害,尽管武器的通常伤害无法影响到集群。

点燃的提灯可以作为投掷武器,对其炸开的邻接方格中所有生物造成1d4火焰伤害。


!!!Bat Swarm(蝙蝠集群)

''微型动物(集群)''

|''生命骰:'' 3d8(19hp)|
|''先攻权:'' +2|
|''速度:'' 5ft(1格),飞行40ft(良好)|
|''防御等级:'' 16(+4体型,+2敏捷)接触16,措手不及14|
|''基本攻击/擒抱:'' +2/-|
|''攻击:'' 集群(1d6)|
|''全回合攻击:'' 集群(1d6)|
|''面宽/触及:'' 10ft/0ft|
|''特殊攻击:'' 扰乱心神,创伤|
|''特性:'' 盲感20英尺,对武器伤害免疫,昏暗视觉,集群特性|
|''豁免:'' 强韧+3,反射+7,意志+3|
|''属性:'' 力量3,敏捷15,体质10,智力2,感知14,魅力4|
|''技能:'' 聆听+11,侦察+11|
|''专长:'' 警觉,闪电反射|
|''环境:'' 温带沙漠|
|''组织:'' 单独,成队(2-4集群),或大群(11-20集群)|
|''挑战等级:'' 2|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 无|
|''等级调整:'' -|


蝙蝠集群属于夜行生物,白天在地表无法见到它们。

!!!战斗

蝙蝠集群会搜寻并攻击周围的任何恒温动物以捕食它们。集群会在移动后对任何和它相处同一位置的生物造成1d6的伤害。

''扰乱心神(Distraction,Ex):''任何和集群处在同一格中的活物在其每轮开始时必须通过一个DC11的强韧检定否则反胃一轮。该豁免基于体质。

''创伤(Wounding,Ex):''蝙蝠集群在伤害到任何活物时会形成一个流血不止的伤口,并且每轮失去1点生命值。多个伤口不会形成流血累加。伤口可以通过DC10的医疗鉴定或使用任何治疗法术或其他医疗法术来缝合。

''盲感(Blindsense,Ex):''蝙蝠集群可以注意并定位20英尺内的生物。对手在对抗蝙蝠集群时依然拥有全掩蔽(但集群攻击忽略掩蔽)。

''技能:''蝙蝠集群在聆听和侦察检定上有+4种族加值,在盲感无效时会失去此加值。

!!!Centipede Swarm(蜈蚣集群)

''微型动物(集群)''

|''生命骰:'' 9d8-9(31hp)|
|''先攻权:'' +4|
|''速度:'' 20ft(4格),攀爬20ft|
|''防御等级:'' 18(+4体型,+4敏捷)接触18,措手不及14|
|''基本攻击/擒抱:'' +6/-|
|''攻击:'' 集群(2d6附带毒素)|
|''全回合攻击:'' 集群(2d6附带毒素)|
|''面宽/触及:'' 10ft/0ft|
|''特殊攻击:'' 扰乱心神,毒素|
|''特性:'' 黑暗视觉60英尺,对武器伤害免疫,集群特性,颤动感知30英尺,虫类特性|
|''豁免:'' 强韧+5,反射+7,意志+5|
|''属性:'' 力量1,敏捷19,体质8,智力-,感知10,魅力2|
|''技能:'' 攀爬+12,侦察+4|
|''专长:'' 武器娴熟B|
|''环境:'' 地底|
|''组织:'' 单独,成队(2-4集群),或大群(7-12集群)|
|''挑战等级:'' 4|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 无|
|''等级调整:'' -|

!!!!战斗

蜈蚣集群会搜寻并攻击周围的任何活物以捕食它们。集群会在移动后对任何和它相处同一位置的生物造成2d6的伤害。

''扰乱心神(Distraction,Ex):''任何和集群处在同一格中的活物在其每轮开始时必须通过一个DC13的强韧检定否则反胃一轮。该豁免基于体质。

''毒素(Poison,Ex):''啮咬,强韧DC12,初始和后续伤害为1d4敏捷,该豁免基于体质。

''技能:''蜈蚣集群在侦察检定上有+4种族加值,在攀爬检定上有+8种族加值,并且使用其敏捷调整值代替力量调整值进行攀爬检定。蜈蚣集群总是可以在攀爬检定上取10,即使受到威胁或分心。



!!!Hellwasp Swarm(黄泉蜂集群)

''微型魔法兽(异界,邪恶,集群)''

|''生命骰:'' 12d10+27(93hp)|
|''先攻权:'' +10|
|''速度:'' 5ft(1格),飞行40ft(良好)|
|''防御等级:'' 20(+4体型,+6敏捷)接触20,措手不及14|
|''基本攻击/擒抱:'' +12/-|
|''攻击:'' 集群(3d6附带毒素)|
|''全回合攻击:'' 集群(3d6附带毒素)|
|''面宽/触及:'' 10ft/0ft|
|''特殊攻击:'' 扰乱心神,寄生,毒素|
|''特性:'' 伤害减免10/魔法,黑暗视觉60英尺,母巢意识,对武器伤害免疫,抗火10,昏暗视觉,集群特性|
|''豁免:'' 强韧+10,反射+14,意志+7|
|''属性:'' 力量1,敏捷22,体质14,智力6,感知13,魅力9|
|''技能:'' 躲藏+19,聆听+10,侦察+10|
|''专长:'' 能力专攻(毒素),警戒,精通先攻,钢铁意志,健壮|
|''环境:'' 邪恶位面|
|''组织:'' 单独,恐骇(2-4集群),或惊栗(5-8集群)|
|''挑战等级:'' 8|
|''宝物:'' 无|
|''阵营:'' 总是守序邪恶|
|''进化:'' 无|
|''等级调整:'' -|


除了带着洋红色条纹的锃亮黑色甲壳以外,黄泉蜂看起来就和一只普通拇指大小的黄蜂类似,一对复眼呈现华美的绿色。在集群中,黄泉蜂集合成了一个有着母巢意识的,充满炼狱式狡诈和嗜杀的智慧体。

!!!!战斗

和许多集群一样,黄泉蜂集群会搜寻并攻击周围的任何活物以捕食它们。集群会在移动后对任何和它相处同一位置的生物造成3d6的伤害。集群会占据猎物的身体并且在其身上寄生,将他们如同生物(或死物)傀儡一般操纵以实现这种一般昆虫集群都未有尝试过的艺术。

黄泉蜂集群的攻击在对抗伤害减免时被视为邪恶阵营的武器。

''扰乱心神(Distraction,Ex):''任何和集群处在同一格中的活物在其每轮开始时必须通过一个DC18的强韧检定否则反胃一轮。该豁免基于体质。

''寄生(Inhabit,Ex):''黄泉蜂集群可以从口鼻或其他孔穴进入一具无助的身体或死体生物之中。寄生需要1分钟,并且受害者的体形必须是小型,中型或大型(然而四个集群可以一起来占据一个超大型生物)。集群可以随时放弃这具身体,并且因此花费1整轮时间。任何对宿主的攻击都会对黄泉蜂集群如常造成一半的伤害,然而集群的抗力和免疫可能会忽略其中的部分或全部伤害。

黄泉蜂集群寄生死体时可以使之恢复活动,并且操纵其行动,效果如同将之变为一只同体型的僵尸一般。若黄泉蜂寄生了一个活着的受害者,它便可以压制这个俘虏并且支配其行动,效果如同在受害者身上施展“支配怪物”的法术。黄泉蜂会吞噬受害者,并且对其身体每小时造成2d4体质伤害。身体的体质降至0便会死亡。

被黄泉蜂寄生的生物其体表会有昆虫状物体蠕动,因而比较容易识破。集群也可能聪明到伪装呼吸或用宽大的斗篷覆盖体表以使其不被察觉。集群可以用一个易容检定以隐藏宿主被寄生的状态,并且在寄生小型宿主时有-4的惩值。

移除疾病或医疗术可以促使黄泉蜂脱离被寄生的宿主。

''毒素(Poison,Ex):''啮咬,强韧检定DC18,初始和后续伤害为1d6敏捷,豁免DC基于体质。

''母巢意识(Hive Mind,Ex):''生命值至少存有每个HD1点的黄泉蜂集群(或者对于一个标准的黄泉蜂集群而言,12点生命值)会形成母巢意识,得到6的智力。当黄泉蜂集群的生命值降至此数值以下时,它会重新变回无心智的样子。

!!!Locust Swarm(蝗虫集群)

''微型动物(集群)''

|''生命骰:'' 6d8-6(21hp)|
|''先攻权:'' +4|
|''速度:'' 10ft(4格),飞行30ft(笨拙)|
|''防御等级:'' 18(+4体型,+4敏捷)接触18,措手不及14|
|''基本攻击/擒抱:'' +4/-|
|''攻击:'' 集群(2d6)|
|''全回合攻击:'' 集群(2d6)|
|''面宽/触及:'' 10ft/0ft|
|''特殊攻击:'' 扰乱心神|
|''特性:'' 黑暗视觉60英尺,对武器伤害免疫,集群特性,虫类特性|
|''豁免:'' 强韧+4,反射+6,意志+2|
|''属性:'' 力量1,敏捷19,体质8,智力-,感知10,魅力2|
|''技能:'' 聆听+4,侦察+4|
|''专长:'' -|
|''环境:'' 温带平原|
|''组织:'' 单独,云状(2-7集群),或灾疫(11-20集群)|
|''挑战等级:'' 3|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 无|
|''等级调整:'' -|


蝗虫集群是一片由成千只带翼的昆虫组成的云雾,吞噬沿途的所有有机物质。

!!!!战斗

蝗虫集群会搜寻并攻击周围的任何活物以捕食它们。集群会在移动后对任何和它相处同一位置的生物造成2d6的伤害。

''扰乱心神(Distraction,Ex):''任何和集群处在同一格中的活物在其每轮开始时必须通过一个DC12的强韧检定否则反胃一轮。该豁免基于体质。

''技能:''蝗虫集群在聆听和侦察检定上有+4种族加值。

!!!Rat Swarm(老鼠集群)

''超小型动物(集群)''

|''生命骰:'' 4d8(13hp)|
|''先攻权:'' +2|
|''速度:'' 15ft(3格),攀爬15ft|
|''防御等级:'' 14(+2体型,+2敏捷)接触14,措手不及12|
|''基本攻击/擒抱:'' +3/-|
|''攻击:'' 集群(1d6附带疾病)|
|''全回合攻击:'' 集群(1d6附带疾病)|
|''面宽/触及:'' 10ft/0ft|
|''特殊攻击:'' 疾病,扰乱心神|
|''特性:'' 挥砍和穿刺伤害减半,昏暗视觉,灵敏嗅觉,集群特性|
|''豁免:'' 强韧+4,反射+6,意志+2|
|''属性:'' 力量2,敏捷15,体质10,智力2,感知12,魅力2|
|''技能:'' 平衡+10,攀爬+10,躲藏+16,聆听+6,侦察+7,游泳+10|
|''专长:'' 警觉,隐秘,武器娴熟(天生)|
|''环境:'' 温带沙漠|
|''组织:'' 单独,成队(2-4集群),或大群(7-12集群)|
|''挑战等级:'' 2|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 无|
|''等级调整:'' -|


!!!!战斗

老鼠集群会搜寻并攻击周围的任何恒温动物以捕食它们。集群会在移动后对任何和它相处同一位置的生物造成1d6的伤害。

''疾病(Disease,Ex):''腐热症状—集群攻击,强韧DC12,潜伏期1d3天,造成1d3敏捷伤害和1d3体质伤害。该豁免基于体质。

''扰乱心神(Distraction,Ex):''任何和集群处在同一格中的活物在其每轮开始时必须通过一个DC12的强韧检定否则反胃一轮。该豁免基于体质。

''技能:''老鼠集群在躲藏和潜行检定上有+4种族加值,并且在平衡、攀爬和游泳检定上有+8种族加值。老鼠集群总是可以在攀爬检定上取10,即使受到威胁或分心。老鼠集群使用其敏捷调整值代替力量调整值进行攀爬和游泳检定。



!!Spider Swarm(蜘蛛集群)

''微型动物(集群)''

|''生命骰:'' 2d8(9hp)|
|''先攻权:'' +3|
|''速度:'' 20ft(4格),攀爬20ft|
|''防御等级:'' 17(+4体型,+3敏捷)接触17,措手不及14|
|''基本攻击/擒抱:'' +1/-|
|''攻击:'' 集群(1d6附带毒素)|
|''全回合攻击:'' 集群(1d6附带毒素)|
|''面宽/触及:'' 10ft/0ft|
|''特殊攻击:'' 扰乱心神,毒素|
|''特性:'' 黑暗视觉60英尺,对武器伤害免疫,集群特性,颤动感知30英尺,虫类特性|
|''豁免:'' 强韧+3,反射+3,意志+0|
|''属性:'' 力量1,敏捷17,体质10,智力-,感知10,魅力2|
|''技能:'' 攀爬+11,躲藏+19,侦察+4|
|''专长:'' -|
|''环境:'' 暖和的森林|
|''组织:'' 单独,成队(2-4集群),或大群(7-12集群)|
|''挑战等级:'' 1|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 无|
|''等级调整:'' -|


!!!!战斗

蜘蛛集群会搜寻并攻击周围的任何活物以捕食它们。集群会在移动后对任何和它相处同一位置的生物造成1d6的伤害。

''扰乱心神(Distraction,Ex):''任何和集群处在同一格中的活物在其每轮开始时必须通过一个DC11的强韧检定否则反胃一轮。该豁免基于体质。

''毒素(Poison,Ex):''啮咬,强韧DC11,初始和后续伤害为1d3力量,该豁免基于体质。

''技能:''蜘蛛集群在躲藏和侦察检定上有+4种族加值,在攀爬检定上有+8种族加值,并且使用其敏捷调整值代替力量调整值进行攀爬检定。蜈蚣集群总是可以在攀爬检定上取10,即使受到威胁或分心。
!! Swim(游泳)(力量;防具检定减值)

''检定:''当你在水里的时候你每轮都要做一次游泳检定。成功意味着你可以游至多半速距离(作为整轮动作)或者四分之一速度的距离(作为移动动作)。如果你失败4或更少,那么你在水中没有前进。如果你失败5或者更多,你沉下去了。

如果你在水下,不管是因为游泳检定失败还是因为你主动游向水下,你都必须屏住呼吸。你可以屏住呼吸的轮数等于你的体质值,但是在这期间你除了移动动作和自由动作外不能做任何其他动作。如果你做一个标准动作或者整轮动作(例如做一次攻击),那么你剩下可以继续屏住呼吸的时间将减少一轮。(即战斗中的角色可以屏住呼吸的时间是他正常时间的一半。)在这时间过后你必须在接下来的时间里每轮做一次DC10的体质检定来继续屏住呼吸。每过一轮这个检定的DC都会增加1。如果你这个体质检定失败,你开始被淹到了。

游泳检定的DC和水的情况相关,见下表。

|!	水	|!	游泳DC	|
|^	平静的水 	|^	10	|
|^	涌动的水 	|^	15	|
|^	激烈的水流 	|^	20^^1^^	|
|^	1 //在激烈的水流里你不能在游泳检定上取10,即便你没有受到其他威胁或分心也是如此。//	|<|


每游一个小时,你都必须做一次DC20的游泳检定,否则会因为疲劳受到1d6的非致命伤害。

''动作:''一次成功的游泳检定允许你以一个移动动作游四分之一速度的距离,或者以一个整轮动作游半速的距离。

''特别:''游泳检定中承受的防具检定减值和负重减值是正常的两倍。

如果你有竞技专长(Athletic),你在游泳检定上有+2加值。

如果你有持久忍耐专长(Endurance),在避免因疲劳遭受非致命伤害时的游泳检定上有+4加值。

有游泳速度的生物可以以说明的速度在水中移动而无需做游泳检定。同时它在任何需要游泳检定的特殊动作或用来避开危险时的游泳检定上都有+8加值。这种生物在游泳检定上总是可以取10,即便是在分心或者有危险的情况下游泳也是如此。这类生物可以在游泳时采用奔跑动作,只要它的游泳路线是在一条直线上。

''Swimming, Improved(强化游泳):''与游泳戒指相似,除了“游泳”技能有+10能力加值。

中等变化系灵光;CL7;先决条件:“锻造戒指”,制造者的“游泳”技能级数须达10。交易价格:10,000金币。
Swimming(游泳):这是镂刻着波浪花纹的银戒指,穿戴者的“游泳”检定有+5能力加值。

微弱变化系灵光;CL2;先决条件:“锻造戒指”,制造者的“游泳”技能级数须达5。交易价格:2500金币。


''Sword of Life Stealing(吸血剑):''
这把黑色铁制+2长剑造成重击时会使目标遭受一个负向等级。每造成一个负向等级,使用者获得1d6点暂时生命值,维持24小时。遭受负向等级的目标第二天必须为每个负向等级做DC16的强韧豁免检定,失败则失去一个人物等级。

强烈死灵系灵光;CL17;制造魔法武器和防具,弱能术(enervation);价格25715金币;制造花费12857金币5银币+1029经验值。

''Sword of Subtlety(背袭剑):''
这把+1短剑的刀刃锋利,且呈暗灰色。使用者进行偷袭时,攻击检定获得+4加值。

中等幻术系灵光;CL7;制造魔法武器和防具,朦胧术(blur);价格22310金币;制造花费11155金币+892经验值。
''Sword of The Planes(异界剑):''
这把长剑在主物质界时有+1增强加值,而在元素界则变为+2。(处在主物质界对抗元素生物时增强加值也是+2 。)在星界和灵界以及对抗星界和灵界生物时,视为+3长剑。在其他界域或对抗来自其他界域的生物时,视为+4长剑。

强烈塑能系灵光;CL15;制造魔法武器和防具,异界传送(plane shift);价格22315金币;制造花费11157金币+893经验值。
''Sylvan Scimitar(森林弯刀):''
这把+3弯刀在温带室外地区使用时,持握者可使用顺势斩,并造成额外1d6点伤害。

中等塑能系灵光;CL11;制造魔法武器和防具,神能(divine power)或制造者为7级以上的德鲁伊;价格47315金币;制造花费23657金币5银币+1893经验值。
!!!死亡徽记(Symbol of Death)
|死灵系 [死亡]|
|''等级:''牧师 8,术士/法师 8|
|''法术成分:''言语,姿势,材料|
|''施法时间:''10分钟|
|''距离:''0英尺;见正文|
|''效果:''一个徽记|
|''持续时间:''见正文|
|''豁免:''强韧,通过则无效|
|''法术抗力:''可|
|你可以在物体表面描画出强力符文。一旦被触发,死亡徽记会杀死60尺内(视作爆发)的一个或多个生物,这些生物的当前生命值总和不能高于150。死亡徽记首先影响最靠近的生物,它会略过生命值太高无法影响的生物。一旦被触发,徽记就会被启动,同时开始发光,持续每施法者等级10分钟时间或直到杀死了生命值总和150的生物。在死亡徽记生效时,任何进入影响范围的生物都会成为徽记的影响对象,不管它在徽记触发时是否在其影响范围内。只要生物一直呆在影响区域内,它就只需要做一次豁免检定。但如果它离开该区域,并且在徽记生效期间内又回来,它就必须再做一次检定。|
|一直到触发前,死亡徽记都是不活动的(但在60尺内清晰可见)。为使其有效,死亡徽记必须画在清晰可见的显著位置。掩藏或覆盖徽记会使其失效,直到有生物移开遮蔽物,这使得死亡徽记可正常发挥效用。|
|死亡徽记的默认触发条件为,有生物作了以下任意一个或多个动作就触发,动作由你指定:注视符文、阅读符文、接触符文、经过符文,或通过绘有符文的出入口。不过无论选择哪种触发方式,在徽记60尺以外的生物都不会触发它(即便它符合触发条件,比如阅读符文)。一旦开始施法,死亡徽记的触发条件就不可改变。|
|在这种情况下,“阅读”符文是指以任何方式尝试研究、鉴定或推敲其含义。用遮蔽物去挡住死亡徽记不会触发条件为接触的徽记。你不能使用死亡徽记作为攻击性使用;例如用带有触发条件为接触的徽记的物体接触其他生物不会触发徽记。同样的,死亡徽记不可以画在武器上以使其在命中敌人时生效。|
|你可以指定特殊的触发条件,繁简由你。特殊的触发条件可以基于生物的名字,特征或阵营,但其他条件必须基于可识别的动作或特质。等级,职业,生命骰和生命值等无形特质不可以被指定。|
|铭刻死亡徽记时,你可以设定密码或口令,生物使用它就可以不会触发徽记。任何使用密码的生物在60尺范围内停|
|你可以让任意数量的生物与死亡徽记同调,但是这会延长施法时间。同调一或两个生物的时间可以忽略不计,同调一小群生物(最多10个)会让施法时间延长为1小时,同调一大群生物(最多25个)要花24小时。同调更多生物相应地要花更多时间。与死亡徽记同调的生物不会触发它,同时对它的效果免疫,即便它在徽记触发后留在被影响的区域内。你自动与你设定的死亡徽记同调,因此不会受影响也不会无意触发它。|
|你可以通过阅读魔法(Read magic)来鉴别一个死亡徽记,这需要通过DC 19的辨识法术检定。当然如果死亡徽记被设定为阅读时触发,那么这么做将触发徽记。|
|直接针对符文的解除魔法(dispel magic)成功后可以移除死亡徽记。抹消术(erase)对死亡徽记无效。摧毁死亡徽记所附着的表面可以毁去徽记,但会触发其效果。|
|魔法恒定术(permanency)可以使得死亡徽记永久化。永久死亡徽记在被解除后或影响了它生命值上限的生物后会失效10分钟,然后可以重新被正常触发。|
|//注意://诸如死亡徽记之类的魔法陷阱是很难被侦测、解除的。只有游荡者可以通过搜索检定来发现死亡徽记,并用解除装置技能除去。DC为25+法术等级,对于死亡徽记来说DC为33。|
|//材料成分://水银和磷,以及分别价值至少5,000金币的钻石和猫眼石粉末。|
!!!恐惧徽记(Symbol of Fear)
|死灵系 [恐惧,影响心灵]|
|''等级:''牧师 6,术士/法师 6|
|''豁免:''意志,通过则无效|
|此法术作用类似于死亡徽记(symbol of death),只是它会使恐惧徽记60尺范围内的所有生物陷入恐慌(panicked),持续时间1轮/施法者等级。|
|''注意:''诸如恐惧徽记之类的魔法陷阱是很难被侦测、解除的。只有游荡者可以通过搜索检定来发现恐惧徽记,并用解除装置技能除去。DC为25+法术等级,对于恐惧徽记来说DC为31。|
|//材料成分:// 水银和磷,以及分别价值至少1,000金币的钻石和猫眼石粉末。|
!!!摄魂徽记(Symbol of Insanity)
|惑控系(胁迫) [影响心灵]|
|''等级:''牧师 8,术士/法师 8|
|''豁免:''意志,通过则无效|
|此法术作用类似于死亡徽记(symbol of death),只是摄魂徽记会使60尺范围内的所有生物永久性精神错乱(如同精神错乱(insanity))。|
|摄魂徽记没有生命值的限制;一旦被触发,它会在10分钟/施法者等级内保持启动状态。|
|//注意://诸如摄魂徽记之类的魔法陷阱是很难被侦测、解除的。只有游荡者可以通过搜索检定来发现摄魂徽记,并用解除装置技能除去。DC为25+法术等级,对于摄魂徽记来说DC为33。|
|//材料成分://水银和磷,以及分别价值至少5,000金币的钻石和猫眼石粉末。|
!!!痛苦徽记(Symbol of Pain)
|死灵系 [邪恶]|
|''等级:''牧师 5,术士/法师 5|
|此法术作用类似于死亡徽记(symbol of death),只是痛苦徽记会使60尺范围内的所有生物受到极度的痛苦,因此在攻击检定、技能检定以及属性检定上受到-4减值。这些效果会持续下去,直到该生物离开徽记60英尺达到1小时。|
|与死亡徽记不同的是,痛苦徽记没有生命值的限制。一旦被触发,它会在10分钟/施法者等级内保持启动状态。|
|//注意://诸如痛苦徽记之类的魔法陷阱是很难被侦测、解除的。只有游荡者可以通过搜索检定来发现恐惧徽记,并用解除装置技能除去。DC为25+法术等级,对于痛苦徽记来说DC为30。|
|//材料成分://水银和磷,以及分别价值至少1,000金币的钻石和猫眼石粉末。|
!!!说服徽记(Symbol of Persuasion)
|惑控系(魅惑)[影响心灵]|
|''等级:''牧师 6,术士/法师 6|
|''豁免:''意志,通过则无效|
|此法术作用类似于死亡徽记(symbol of death),只是说服徽记会使影响范围内的所有生物被施法者魅惑(如同魅惑怪物)1小时/施法者等级。|
|说服徽记没有生命值的限制。一旦被触发,它会在10分钟/施法者等级内保持启动状态。|
|//注意://诸如说服徽记之类的魔法陷阱是很难被侦测、解除的。只有游荡者可以通过搜索检定来发现说服徽记,并用解除装置技能除去。DC为25+法术等级,对于说服徽记来说DC为32。|
|//材料成分://水银和磷,以及分别价值至少5,000金币的钻石和猫眼石粉末。|
!!!睡眠徽记(Symbol of Sleep)
|惑控系(胁迫)[影响心灵] |
|''等级:''牧师 5,术士/法师 5|
|''豁免:''意志,通过则无效|
|此法术作用类似于死亡徽记(symbol of death),只是睡眠徽记会使60尺范围内的所有HD不高于10的生物进入僵硬的沉眠中达3d6x10分钟。和睡眠术(sleep)不同,在时间期限结束前睡着的生物不会被非魔法手段唤醒。|
|睡眠徽记没有生命值的限制。一旦被触发,它会在10分钟/施法者等级内保持启动状态。|
|//注意://诸如睡眠徽记之类的魔法陷阱是很难被侦测、解除的。只有游荡者可以通过搜索检定来发现睡眠徽记,并用解除装置技能除去。DC为25+法术等级,对于睡眠徽记来说DC为30。|
|//材料成分://水银和磷,以及分别价值至少1,000金币的钻石和猫眼石粉末。|


!!!震慑徽记(Symbol of Stunning)
|惑控系(胁迫)[影响心灵]|
|''等级:''牧师 7,术士/法师 7|
|''豁免:''意志,通过则无效|
|此法术作用类似于死亡徽记(symbol of death),只是震慑徽记会使60尺范围内的所有生物震慑1d6轮。|
|//注意://诸如震慑徽记之类的魔法陷阱是很难被侦测、解除的。只有游荡者可以通过搜索检定来发现震慑徽记,并用解除装置技能除去。DC为25+法术等级,对于震慑徽记来说DC为32。|
|//材料成分://水银和磷,以及分别价值至少5,000金币的钻石和猫眼石粉末。|

!!!衰弱徽记(Symbol of Weakness)
|死灵系|
|''等级:''牧师 7, 术士/法师 7|
|此法术作用类似于死亡徽记(symbol of death),只是衰弱徽记会使60尺范围内的所有生物受到破坏性的削弱,导致他们受到3d6的力量伤害。|
|衰弱徽记没有生命值的限制。一旦被触发,它会在10分钟/施法者等级内保持启动状态。|
|//注意://诸如衰弱徽记之类的魔法陷阱是很难被侦测、解除的。只有游荡者可以通过搜索检定来发现衰弱徽记,并用解除装置技能除去。DC为25+法术等级,对于衰弱徽记来说DC为32。|
|//材料成分://水银和磷,以及分别价值至少5,000金币的钻石和猫眼石粉末。|
!!!共振术(Sympathetic Vibration)
|塑能系[音波]|
|''等级:''吟游诗人 6|
|''法术成分:''言语,姿势,器材|
|''施法时间:''10分钟|
|''距离:''接触|
|''目标:''一个独立物体|
|''持续时间:''至多1轮/等级|
|''豁免:''无;见正文|
|''法术抗力:''可|
|你可以将自己的频率调整到与一独立物体的固有频率相同,这样你可以在其体内产生致命振动。振动开始后,目标物体受到每轮2d10点伤害。(物体硬度不影响法术伤害。)你可以在施法时限制法术的持续时间,如果没有这么做,那么它将持续1轮/等级。如果目标物体并非是独立的,周围的岩石会分散法术效果,因此目标物体不受伤害。|
|共振术不会影响生物(包括构装生物)。因为建筑物是一个未被持有的物体,因此它无法使用豁免来对抗此效果。|
|//器材成分://一把音叉。|
!!!共鸣术(Sympathy)
|惑控系(胁迫)[影响心灵]|
|''等级:''德鲁伊 9,术士/法师 8|
|''法术成分:''言语,姿势,材料|
|''施法时间:'' 1小时|
|''距离:''近距(25英尺+5英尺/每2等级)|
|''目标:''单一地点(最多10英尺立方区域/每等级)或单一物体。|
|''持续时间:'' 2小时/等级(可解消)|
|''豁免:''意志,通过则无效;见正文|
|''法术抗力:''可|
|你可以使一个物体或区域发出魔法共鸣,以此来吸引一些特定类型的智慧生物或特定阵营的生物,生物类型和阵营由你指定。被影响的生物类型必须明确指定。生物亚种还不够精确。同样的,生物阵营也必须明确指定。|
|被影响到的生物会非常乐于进入目标区域内或者产生接触或占有目标物体的冲动。留在目标区域内或接触目标物体的冲动是难以抵御的。通过意志检定的生物能克制冲动离开该区域,但是1d6x10分钟后必须再做检定。若检定失败,则受影响的生物就会尝试回到该区域或物体处。|
|共鸣术可以反制和解除嫌恶术(antipathy)。|
|//材料成分://价值1,500金币的珍珠碎片和一滴蜂蜜。|
<div class="tc-table-of-contents">

<<toc-selective-expandable 'TableOfContents'>>

</div>
!!Tarrasque(泰拉斯奎巨兽)

''超巨型魔法兽''

|''生命骰:'' 48d10+594(858hp)|
|''先攻权:'' +7|
|''速度:'' 20尺(4格)|
|''防御等级:'' 35(-8体型,+3敏捷,+30天生),接触5,措手不及32|
|''基本攻击/擒抱:'' +48/+81|
|''攻击:'' 啮咬+57近战(4d8+17/18-20/*3)|
|''全回合攻击:'' 啮咬+57近战(4d8+17/18-20/*3)及2角顶+52近战(1d10+8)及2爪抓+52近战(1d12+8)及尾击+52近战(3d8+8)|
|''面宽/触及:'' 30尺/20尺|
|''特殊攻击:'' 增强重击,气势凶猛,精通攫抓,急奔,囫囵活吞|
|''特性:'' 甲壳,伤害减免15/传奇,对火焰、毒素、疾病、能量吸取及属性伤害免疫,再生40,灵敏嗅觉,法术抗力32|
|''豁免:'' 强韧+38,反射+29,意志+20|
|''属性:'' 力量45,敏捷16,体质35,智力3,感知14,魅力14|
|''技能:'' 聆听+17,搜索+9,侦察+17,生存+14(+16追踪)|
|''专长:'' 警觉,无畏一击,盲斗,顺势斩,战斗反射,闪避,大顺势斩,精通冲撞,精通先攻,钢铁意志,猛力攻击,健壮(6)|
|''环境:'' 任意|
|''组织:'' 单独|
|''挑战等级:'' 20|
|''宝物:'' 无|
|''阵营:'' 总是中立|
|''进化:'' 49+HD(超巨型)|
|''等级调整:'' -|

泰拉斯奎巨兽有70尺长,50尺高,约130吨重。

泰拉斯奎巨兽不会说话。

!!!战斗
泰拉斯奎巨兽使用其爪子、牙齿、角及尾巴进行攻击。

在对抗伤害减免时,泰拉斯奎巨兽的天生武器被视为传奇武器。

''增强重击 (Ex):''泰拉斯奎巨兽的啮咬攻击造成重击的重击范围是18-20,成功做出重击可造成三倍伤害。

''气势凶猛 (Su):''泰拉斯奎巨兽能借由冲锋或攻击来使人恐惧。受影响的生物必须通过一个DC 36的意志豁免检定否则就会战栗,而且只要它还处于泰拉斯奎巨兽60尺范围内就会一直处于此状态。该豁免检定DC基于魅力调整值。

''精通攫抓 (Ex):''使用此能力之前,泰拉斯奎巨兽必须通过其啮咬攻击击中一个体型为超大型或更小的生物。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。如果它成功将对手定身,就可以在下一轮中尝试囫囵活吞对手。

''急奔 (Ex):''每分钟一次,原本移动缓慢的泰拉斯奎巨兽能以150尺的速度进行移动。

''囫囵活吞 (Ex):''泰拉斯奎巨兽可以通过一个成功的擒抱检定尝试活吞一个被擒抱的体型为超大型或更小的对手。一旦被吞下,对手因泰拉斯奎巨兽的胃而受到每轮2d8+8点钝击伤害及2d8+6点酸伤害。被吞下的生物可以通过对泰拉斯奎巨兽的胃 (AC 25)造成50点伤害而逃脱。一旦生物脱出之后,胃的肌肉活动会将伤口合起来;因此其他被囫囵活吞的生物必须再以上述方法逃脱。

泰拉斯奎巨兽的胃部可以容纳2个超大型、8个大型、32个中型、128个小型、512个超小型或更小的生物。

''甲壳 (Ex):''泰拉斯奎巨兽盔甲般的甲壳既坚韧又具有折射性,它可以偏折所有射线、线形、锥形甚至魔法飞弹法术。有30%的几率可以将任意上述效果反射回施法者身上;如果没有成功,就会使这些效果消失。对折射进行的检定要在对抗泰拉斯奎巨兽的法术抗力之前进行。

''再生 (Ex):''没有任何种类的攻击能够对泰拉斯奎巨兽造成致命伤害。泰拉斯奎巨兽即使对抗解离术或死亡效果失败也仍然可以再生。如果泰拉斯奎巨兽在对抗能使其立刻死亡的法术或效果 (比如上面提到的)时失败,该法术或效果则只能造成等同于此生物正常状态下总生命值+10 (或868 hp)的淤伤。泰拉斯奎巨兽对那些会造成无法治疗或创伤的效果免疫,比如腐尸症、创伤之剑或粘土魔像的创伤能力。只有对其造成等同于其正常状态下总生命值+10 (或868 hp)的淤伤并且使用祈愿术或奇迹术不让它复活时,才能将泰拉斯奎巨兽杀死。

泰拉斯奎巨兽若失去一部分身体,在1d6分钟后就会重新长出来 (断掉的部分将自然腐烂掉)。另外,泰拉斯奎巨兽也可将断肢放在残干上面,将它接续起来。

''技能:''在进行聆听和侦察检定时泰拉斯奎巨兽可获得+8的种族加值。 

!!!心灵遥控(Telekinesis)
|变化系|
|''等级:''术士/法师 5|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''远距(400英尺+40英尺/等级)|
|''目标:''见下文|
|''持续时间:''专注(最长1轮/等级)或立即;见下文|
|''豁免坚定:''意志(物品)通过则无效,或无;见下文|
|''法术抗力:''可(物品);见下文|
|你通过专注于物体或生物来移动它们。本法术有三种功效可供选择,你可柔和地持续发力、做多种战斗动作,或猛烈短暂地发力一次。|
|//持续发力://本功效可移动的物体最重不超过25磅每施法者等级(15级时达到最高值375磅),每轮最多移动20英尺。被移动物品的拥有者可以通过意志豁免或法术抗力使该法术失效。|
|此功效持续时间为每施法者等级1轮,当你不再专注时法术也会失效。物体可以垂直或水平移动,亦可同时在这两个方向移动,但是不可以移出法术范围。如果超出范围,法术也会结束。若你不再专注,物体马上掉落或停止移动。|
|本功效可以如单手操控一样操控物体。例如:拉下扳手或绳子,转动钥匙,旋转物体等,只要所需要的力量不朝超过重量限制。你甚至可以试着解开简单的绳节,但是象这样细腻的动作要通过智力检定。|
|//战斗动作://你可以选择使用心灵遥控来进行冲锋、卸除武器、擒抱(包括压制)或者拌摔,每轮一次。进行这些尝试和平常一样,但它们不会引起借机攻击,你用施法者等级来代替基本攻击加值(在卸除武器和擒抱检定中),用智力调整值(如果是法师)或魅力调整值(如果是术士)来代替力量和敏捷调整值,并且失败的尝试不会引发对方的反击(比如反卸除武器或反绊摔)。在进行这些尝试时,对方不能进行豁免检定,但法术抗力仍会起作用。这种功效可持续每施法者等级1轮,当你不再专注时法术失效。|
|//猛烈发力://法术的能量在一轮中被完全释放。你可以猛推法术范围内数量为每施法者等级1个(最多15个)的物品或生物(每两个间的距离不超过10英尺),使它们向目标撞去,该目标与所有物体的距离不超过每等级10英尺。你最多可以推动的物品总重量为每施法者等级25磅(15级时达到最高值375磅)。|
|每推动一个物体你必须通过攻击检定来击中目标,进行检定时使用你的基本攻击加值+智力调整值(如果是法师)或魅力调整值(如果是术士),武器造成正常伤害,但不计算力量加值。在用这种方法使用箭和矢时,它们的伤害等同于同等型号的匕首。其他物品造成的伤害从每25磅造成1点伤害(低危险性的物品)到每25磅1d6点伤害(坚实的物品)。|
|你也可以推动在重量范围内的生物或生物拥有的物品,但他们可以进行意志检定(和法术抗力)来抵消这种功效。被本心灵遥控的生物若被推向硬物,他所受的伤害如同从10英尺高度坠落(1d6点)|
''Telekinesis(心灵遥控):''穿戴者可以使出如同“心灵遥控”法术的效果。

施法者等级:9。先决条件:“锻造戒指”,“心灵遥控”。交易价格:75000金币。
!!!灵动法球(Telekinetic Sphere)
|塑能系[力场]|
|''等级:''术士/法师8|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/2级)|
|''效果:''以目标物体或生物为中心,直径为1尺/等级的球体|
|''持续时间:''1分钟/等级|
|''豁免:''反射,通过则无效|
|''法术抗力:''有|
|与弹力法球(resilient sphere)相同,但球内的物体或生物几乎没有重量。灵动法球内的物体重量仅为平常的1/16。你可以通过心灵控制举起平常有5,000磅的物体。在法球成功包裹住物体后,从你算起心灵控制的距离可达到中距(100英尺+10英尺每施法者等级)。|
|你可以通过专注来移动球体内不重于5000磅的物体或生物。你可以在完成施法后的下一轮开始移动球体。如果你保持专注(一个标准动作),你每轮最多可以移动它30英尺。如果你停止专注,如果球停在平面上,那么球体在那轮将不再移动(),如果球在空中,那么它就会以自己的下坠速度开始坠落,直到着地,或者超过持续时间,或者你重新专注。如果你停止专注(自愿的或专注检定失败),那么只要是在持续时间内,你就可以在下一轮或者更后面任意一轮中重新专注。|
|法球的坠落速度仅有每轮60英尺,这种速度下坠不足以使包裹在其中的生物受到伤害。|
|即便你在法球内你也可以操控它。|
|//材料成分://一小片半球形的洁净水晶,一片与水晶相配的半球形树胶,以及一对小磁铁棒。|
!!!心灵连线(Telepathic Bond)
|预言系|
|''等级:''术士/法师5|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/2级)|
|''目标:''每3级可多影响一个生物,其中任意两个间的距离不超过30尺|
|''持续时间:''10分钟/等级|
|''豁免:''无|
|''法术抗力:''无|
|你在你自己和一些自愿的生物间建立心灵连线,这些生物的智力必须高于或等于3。这种连接内任一生物都与其他所有生物相连。不管语言如何,这些生物可以通过连线用心灵沟通。心灵连线不会产生任何特殊的力量或影响。一旦建立了心灵连线,它能在任何距离上起作用(但不能跨位面)。|
|如果愿意,你可以不把自己包括在心灵连线内。这必须在施法时做出决定。|
|可以使用魔法恒定术(permanency)建立永久的心灵连线,但每次施展魔法恒定术只能联系两个生物。|
|//材料成分://两种不同生物的蛋壳碎片。|
''心灵感应(Telepathy,超自然能力):''具有这种能力的生物可以在特定范围内(在生物描述中指定,通常为100尺)和其他具有语言的生物通过心灵感应进行沟通。它可以做到同时和多个生物心灵感应,虽然同时维持和多个生物的心灵交谈就象与多个人同时进行听说交流一样难。

有些生物只具有有限的心灵感应能力,而其他一些则具有更强大许多的这类能力。
!!!物品传送术(Teleport Object)
|咒法系(传送)|
|''等级:''术士/法师7|
|''法术成分:''言语,材料 |
|''距离:''接触|
|''目标:''最多50磅/等级,3立方英尺/等级的接触到的物品|
|''豁免:''意志,通过则无效(物体)|
|''法术抗力:''可(物体)|
|与传送术相同,但本法术传送的是物品而不是你本身。生物和魔法力场不能被传送。|
|如果愿意,可以将目标物品传送到灵界位面的远处。在这种情况下,物品被传走的地点保持微弱的魔力,直到物品被取回。在该点成功地施展目标型解除魔法(dispel magic)可以将物品自灵界位面取回。|
!!!高等传送术(Teleport, Greater)
|咒法系(传送)|
|''等级:''术士/法师7,旅行7|
|该法术作用类似传送术(teleport),但没有距离限制,也不会出现目标误差情况。你不需要看见目的地,但在这种情况下,你必须准确地描述出目的地。如果你没有足够的信息(或者掌握了错误的信息)就进行传送,你会消失一下然后出现在原地。不能利用本法术进行跨位面传送。|
!!!传送术(Teleport)
|咒法系(传送)|
|''等级:''术士/法师5,旅行5|
|''法术成分:''言语 |
|''施法时间:''1个标准动作|
|''距离:''个人和接触|
|''目标:''自己和接触到的物品或其它接触到的自愿生物|
|''持续时间:''立即|
|''豁免:''无,和意志通过则无效(物体)|
|''法术抗力:''不可和可(物体)|
|本法术可将你立即传送到指定地点,距离最大可达每施法者等级100英里,但不能进行位面间旅行。你可以携带物体,只要它们的重量不超过你的最大负重。你的施法者等级每3级就可以多带一个自愿的中体型或更小体型的生物(该生物可携带最多不超过其最大负重的装备)或等同于此的生物(见下文)。大体型生物视为两个中体型生物,超大体型生物视为两个大体型生物,以此类推。所有被传送的生物必须和其他一个被传送者接触,并且至少有一个被传送者要与你接触。和任何法术范围为个人、且目标是你的法术一样,你自己不需要进行豁免检定,自己的法术抗力也对法术无效。只有物品为他人所有或使用,才必须进行豁免和应用法术抗力。|
|你必须对目的地的位置和大致地形有清晰的了解。你头脑中的图像越清晰,传送成功的可能性就越大。试图传送到那些有着巨大物理或魔法能量的地区会很危险,甚至使得传送失败。|
|想要确定传送的工作状态,可以通过掷百分骰并对照下表来决定传送是否成功。表格意义如下:|
|//熟悉度://“非常熟悉”指的是你常去的地方,让你有家的感觉的地方。“极有研究”指的是你很了解的地方,你可能当时看得见那里,可能常去,或是通过某些方法研究过该地点(比如施展探知(scrying)法术)。“偶尔见过”是你见过几次的地方,但你不是很熟悉。“见过一次”是你只见过一次的地方,可能是透过魔法。|
|“查无此地”是根本不存在的地方,或者是你曾经熟悉的地方,但如今已经不再存在或完全改变以致于你不再熟悉。当向“查无此地”旅行时,所掷的不是百分骰而是掷1d20+80再查表。因为地点完全错误,所以无所谓目标正确或目标误差。|
|//目标正确://你出现在想要到达的正确地点。|
|//目标误差://你安全出现和目的地有一定距离和方向误差的位置上。掷两个1d10将结果相乘即为距离误差百分比,再乘以应该传送的距离来计算出到目的地的误差距离。而误差方向为随机决定。|
|//相似地区://你被误传送到某个视觉上或风格上相似的地方。|
|通常你会出现在法术距离内最近的相似地点。如果没有这样的地方,传送失败。|
|//遇难://你和其他被传送者发生意外并“迫降”。所有人都受到1d10点伤害,然后你重新掷1d20+80来决定再次出现的位置。若再出现“遇难”,所有人再度受伤,且再需要重投。|

|!	熟悉度	 |!	目标正确	 |!	目标错误	 |!	相似地区	 |!	遇难	 |
|^	非常熟悉	 |^	01–97	 |^	98–99	 |^	100	 |^	—	 |
|^	极有研究	 |^	01–94	 |^	95–97	 |^	98–99	 |^	100	 |
|^	偶尔见过	 |^	01–88	 |^	89–94	 |^	95–98	 |^	99–100	 |
|^	见过一次	 |^	01–76	 |^	77–88	 |^	89–96	 |^	97–100	 |
|^	查无此地 (1d20+80)	 |^	—	 |^	—	 |^	81–92	 |^	93–100	 |
!!!传送法阵(Teleportation Circle)
|咒法系(传送)|
|''等级:''术士/法师9|
|''法术成分:''言语,材料 |
|''施法时间:''10分钟|
|''距离:''0英尺|
|''效果:''半径5英尺的法阵,能传送启动者|
|''持续时间:''10分钟/等级(可解消)|
|''豁免:''无|
|''法术抗力:''可|
|你可以在地面或其他水平面上造出一个用来传送的法阵,任何踏入此法阵的生物都会象高等传送术(greater teleport)一样被传送到指定地点。一旦法阵目的地被确定就不能再更改。如果你试图设定法阵将生物传送到固体内,或你不熟悉且无法清晰描述的地点,或是其他位面,则此法术失效。|
|此法阵本身相当隐秘,难以察觉。如果你想避免它被意外启动,你需要以其他方式来做些标记。|
|传送法阵可以通过魔法恒定术(permanency)恒定。被解除的永久传送法阵会停止作用10分钟,然后再度启动。|
|//注意://传送法阵一类的魔法陷阱难以侦测和解除。只有游荡者可以通过搜索技能来发现陷阱,并用解除装置技能来除去。这些DC均为25+法术等级,对于传送法阵来说,DC为34。|
|//材料成分://覆盖整个法阵的琥珀粉,价值1,000金币。|
!!!永恒静滞(Temporal Stasis)
|变化系|
|''等级:''术士/法师8|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的生物|
|''持续时间:''立即|
|''豁免:''强韧,通过则无效|
|''法术抗力:''可|
|你必须成功进行一次近战接触攻击。受术者会处于一种完全失去活力的状态。对该生物而言时间停止流动,它的生理状况也被固定。受术者不会变老。他的生理功能暂时停止,也没有任何力量或效果可以伤害他。此状态持续到此法术被移除(例如被解除魔法(dispel magic)成功解除或被加以解锢术(freedom))。|
|//材料成分://钻石、绿宝石、红宝石和蓝宝石的混合宝石粉,总价值至少5,000金币。|
暂时生命值(TEMPORARY HIT POINTS)

某些效果可以让角色获得暂时生命值。当角色获得暂时生命值时,这些生命值记在他的实际总生命值中。当这些暂时生命值消失时,角色的生命值将会降到他的实际总生命值。如果角色的生命值被降低到比他实际总生命值低,所有的暂时生命值都将失去,角色的总生命值不会降低。

当暂时生命值失去后,它们不能象真实生命值那样被恢复,即使魔法也不行。

增加体质值和实际生命值(Increases in Constitution Score and Current Hit Points):增加角色的体质值,甚至是暂时性增加,都将会给他更多的生命值(有效生命值增加),但是这些生命值不是暂时生命值。它们不会像暂时生命值那样优先失去。
!!! 暂时生命值(TEMPORARY HIT POINTS)

某些效果可以让角色获得暂时生命值。当角色获得暂时生命值时,这些生命值记在他的实际总生命值中。当这些暂时生命值消失时,角色的生命值将会降到他的实际总生命值。如果角色的生命值被降低到比他实际总生命值低,所有的暂时生命值都将失去,角色的总生命值不会降低。

当暂时生命值失去后,它们不能象真实生命值那样被恢复,即使魔法也不行。

''增加体质值和实际生命值(Increases in Constitution Score and Current Hit Points):''增加角色的体质值,甚至是暂时性增加,都将会给他更多的生命值(有效生命值增加),但是这些生命值不是暂时生命值。它们不会像暂时生命值那样优先失去。
!!Tendriculos(触手魔藤)

''超大型植物''

|''生命骰:'' 9d8+54(94hp)|
|''先攻权:'' -1|
|''速度:'' 20尺(4格)|
|''防御等级:'' 16(-2体型,-1敏捷,+9天生),接触7,措手不及16|
|''基本攻击/擒抱:'' +6/+23|
|''攻击:'' 啮咬+13近战(2d8+9)及2藤蔓+8近战(1d6+4)|
|''全回合攻击:'' 啮咬+13近战(2d8+9)及2藤蔓+8近战(1d6+4)|
|''面宽/触及:'' 15尺/15尺|
|''特殊攻击:'' 精通攫抓,麻痹,囫囵活吞|
|''特性:'' 昏暗视觉,植物特性,再生10|
|''豁免:'' 强韧+12,反射+2,意志+4|
|''属性:'' 力量28,敏捷9,体质22,智力3,感知8,魅力3|
|''技能:'' 躲藏+9,聆听+1,潜行+1,侦察+1|
|''专长:'' 警觉,钢铁意志,猛力攻击,隐秘|
|''环境:'' 温带森林|
|''组织:'' 单独|
|''挑战等级:'' 6|
|''宝物:'' 1/10钱币,50%工艺品,50%物品|
|''阵营:'' 总是中立|
|''进化:'' 10-16HD(超大型);17-27HD(巨型)|
|''等级调整:'' -|

动物和其他植物类生物都畏惧触手魔藤的存在;它们会避开触手魔藤以及任何24小时内触手魔藤停留过的地方。

!!!战斗
潜伏在森林深处或等待于植物茂密的区域 (看起来就好像一个小山丘),触手魔藤会无所畏惧且野蛮地展开攻击。它会尽快地吞食尽可能多的血肉。

''精通攫抓 (Ex):''使用此能力之前,触手魔藤必须通过其啮咬攻击击中一个体型至少比它小一级的生物。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。如果它成功将对手定身,就可以在下一轮尝试囫囵活吞对手。

触手魔藤也可以在它进行藤蔓攻击时使用此能力。如果它成功将对手定身的话就可以通过一个即时动作将对手送到其嘴边,自动造成啮咬伤害。

''囫囵活吞/ 麻痹 (Ex):''触手魔藤可以通过一个成功的擒抱检定尝试活吞一个被擒抱的对手。一旦被吞下,对手则必须通过一个DC 20的强韧豁免检定否则会因触手魔藤的消化液而麻痹3d6轮,受到每轮2d6点酸伤害。生物处于触手魔藤体内的每一轮都要进行一次新的豁免检定。该豁免检定DC基于体质调整值。

被活吞而没有被麻痹的生物可以通过一个成功的擒抱检定爬出触手魔藤的胃。这会使它回到触手魔藤的口部,在这里需要通过另一个成功的擒抱检定以逃脱。被吞下的生物也可以通过使用轻型挥砍或穿刺武器对触手魔藤的胃 (AC 14)造成25点伤害而逃脱。一旦生物脱出之后,胃的肌肉活动会将伤口合起来;因此其他被囫囵活吞的生物必须再以上述方法逃脱。

超大型触手魔藤的胃部可以容纳2个大型、8个中型、32个小型、128个超小型、512个微型或更小的生物。

''再生 (Ex):''钝击武器和酸能对触手魔藤造成正常伤害。

触手魔藤若失去一部分身体,在1d6分钟后就会重新长出来 (断掉的部分将自然腐烂掉)。另外,触手魔藤可将断肢放在残干上面,将它接续起来。
''生命骰:''d4。

!!!!先决条件

要具备咒法召唤师的资格,人物必须符合以下全部条件。

''专长:''专攻法术(咒法系)。

''施法:''能够施展法术次等异界誓盟(lesser planar ally)。

!!!!本职技能
咒法召唤师的本职技能如下(括号中为该技能的关键属性):专注(体质),手艺(智力),交涉(魅力),知识(宗教)(智力),知识(位面)(智力),专业(感知),察言观色(感知),语言(无),辨识法术(智力)。

''升级技能点数:''2+智力调整值。

 

''表:咒法召唤师''

|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!	特殊能力	|!	每日法术数量	|
|^	1	|^	+0	|^	+0	|^	+0	|^	+2	|^	高级誓盟	|^	现有施法职业等级+1	|
|^	2	|^	+1	|^	+0	|^	+0	|^	+3	|^	强效召唤	|^	现有施法职业等级+1	|
|^	3	|^	+1	|^	+1	|^	+1	|^	+3	|^	召唤延时	|^	现有施法职业等级+1	|
|^	4	|^	+2	|^	+1	|^	+1	|^	+4	|^	意外咒法	|^	现有施法职业等级+1	|
|^	5	|^	+2	|^	+1	|^	+1	|^	+4	|^	异界部属	|^	现有施法职业等级+1	|

 

!!!!职业特性:

下述均为咒法召唤师进阶职业的职业特性:

''武器和防具擅长:''咒法召唤师不获得任何武器或防具的擅长。

''每日法术数量:''咒法召唤师每次升级,每日法术数量都会增加,就像之前施法职业获得提升一样。但他不能获得之前施法职业的其它能力。这意味着他可以将咒法召唤师等级加上其它施法职业等级来决定其每日法术数量和相关施法者等级。若人物在成为咒法召唤师之前拥有多个施法职业,则必须选择要将此升级的咒法召唤师等级各加在哪一种施法职业上,以决定新的每日法术数量。

''高级誓盟(Improved Ally):''当施展异界誓盟(planar ally)法术(包括次等和高等两种版本)时,咒法召唤师可以通过进行一次交涉检定说服召唤来的生物降低所要求的报酬。若咒法召唤师的交涉检定成功的改变了该生物的态度,只要不违背它的本性,则其所要求的报酬将会降至原先的50%。

咒法召唤师的高级誓盟职业特性只在他召唤来的生物至少有一部分阵营与其相同时才会起作用。

咒法召唤师在同一时期内只能有一个这样的誓盟,不过通常情况下可以请求它作多项任务。

''强效召唤(Augment Summoning):''到了2级,咒法召唤师将获得强效召唤专长。

''召唤延时(Extended Summoning):''到了3级或更高等级,咒法召唤师施展的所有召唤子学派的法术持续时间加倍,如同法术延时专长的效果。不过并不会该改变召唤法术的等级。此能力可以与法术延时专长的效果累计,但这样做会改变法术等级。

''条件咒法(Contingent Conjuration):''到了4级,咒法召唤师能够事先准备一个召唤或呼唤子学派法术,并会被某些指定条件触发。此能力作用如同法术触发术(contingency)的描述,包括咒法召唤师预先准备的召唤或呼唤子学派法术。当达到触发条件时,此法术便会发生效力。

触发法术的条件必须要指定清楚,即使是很普通的条件。如果条件指定得十分复杂或令人费解,法术的触发可能会失败。法术的触发仅仅以指定的条件为基础,不管咒法召唤师是否希望法术被触发,虽然大部分的咒法还是可以被正常解除的。咒法召唤师在同一时期只能启用一个条件咒法。

''异界部属(Planar Cohort):''到了5级,咒法召唤师能够通过任一种异界誓盟法术召唤一个生物作为他的部属。只要咒法召唤师不断地向这个生物认为很重要的事业方向前进,该生物就会继续忠诚且很好地服侍咒法召唤师。

召唤异界部属需要咒法召唤师施展相关法术,正常消耗经验值。召唤异界部属需要一份价值该生物的生命骰数乘以1,000金币的供奉,而且高级誓盟职业特性无法减免此项花费。异界部属的生命骰数不能高于咒法召唤师,并且其有效人物等级不能高于咒法召唤师的人物等级-2。

咒法召唤师同一时期只能拥有一名异界部属,但是他可以继续同其它召唤生物正常缔交协议。若咒法召唤师身边有通过其领导力专长招募来的部署,异界部属将会取代其位置。

!!Thoqqua(土焢虫)

''中型元素生物 (土系,跨位面,火系)''

|''生命骰:'' 3d8+3(16hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格),掘穴20尺|
|''防御等级:'' 18(+1敏捷,+7天生),接触11,措手不及17|
|''基本攻击/擒抱:'' +2/+4|
|''攻击:'' 挥击+4近战(1d6+3外加2d6火焰)|
|''全回合攻击:'' 挥击+4近战(1d6+3外加2d6火焰)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 高温,烧灼|
|''特性:'' 黑暗视觉60尺,元素特性,对火焰免疫,颤动感知60尺,易受寒冷伤害|
|''豁免:'' 强韧+4,反射+2,意志+2|
|''属性:'' 力量15,敏捷13,体质13,智力6,感知12,魅力10|
|''技能:'' 聆听+5,潜行+3,生存+3|
|''专长:'' 警觉,追踪|
|''环境:'' 火元素位面|
|''组织:'' 单独或成对|
|''挑战等级:'' 2|
|''宝物:'' 无|
|''阵营:'' 通常是中立|
|''进化:'' 4-9HD(大型)|
|''等级调整:'' -|

土焢虫直径约1尺,长约4到5尺。它重约200磅。

!!!战斗
土焢虫受到惊扰时,它的第一反应就是攻击。它最喜欢的战术就是直接跃向敌人,不是从岩石内冲出就是弯曲其身体如弹簧般跃出。 (将之视为冲锋,即使土焢虫在攻击前无需移动10尺。)

''高温 (Ex):''只要接触到土焢虫或被它们接触到,就会自动受到2d6点火焰伤害。

''烧灼 (Ex):''当土焢虫的挥击攻击击中时,对手必须通过一个DC 12的反射豁免检定否则身上就会着火。该豁免检定DC基于体质调整值。如果没有立即扑灭,火焰就会燃烧1d4轮。着火的生物可以通过一个整轮动作来扑灭火焰。 


''Three Wishes(三愿):''此戒指镶有三颗红宝石,每颗内藏一个“愿望术”。每使用一次“愿望术”,宝石就消失一颗。随机产生的“三愿戒指”须掷1d3决定剩下的红宝石数目。所有“愿望术”都用掉之后,此戒指就不再是魔法物品。

施法者等级:20。先决条件:“锻造戒指”,“愿望术”或“奇迹术”。交易价格:97950金币。制造耗费:11475金币+15918 XP。
!!!投掷泼溅武器(THROW SPLASH WEAPON)

泼溅武器属于一种远程武器,它在受到撞击时会破碎开来,将其中的内容物泼溅或是散洒向攻击目标以及邻近的生物或是物品。使用泼溅武器进行攻击时,要针对目标进行一次远程接触攻击。使用投掷类武器不需要任何武器擅长,所以你在攻击时不会受到-4的非擅长武器减值。攻击命中则对目标造成直接命中伤害,并对目标周围5英尺以内的所有生物都造成泼溅伤害。

或者你也可以指定地图方格线的交叉点作为目标。将这种情况视为进行目标AC 5的远程攻击。如果你将方格线交叉点作为目标,那么和该点相接的所有方格里的生物都会受到泼溅伤害,但是就不会有生物受到直接命中伤害。(如果方格线交叉点正好被某个生物的身体所覆盖,比如某种体型为大型或是更大的生物,那么你就无法将该交叉点作为投掷目标;在这种情况下,你就必须以该生物作为目标。)

如果你没有命中目标(无论目标是某个生物还是方格线交叉点),就必须投1d8。以投骰结果来决定本次投掷的偏离方向,投骰结果为1时,表示直线向后往你自己所在的方向偏离回来。而投骰结果为2到8时,则要以顺时针方向围绕着方格线交叉点或是目标生物来顺推偏离方向。然后,在确定好的方向上数出一定数量的方格作为偏离距离,该距离等于投掷物的射程单位。

在你决定好该武器会在哪个位置着陆之后,该武器即对相邻方格内所有的生物都造成泼溅伤害。
''Throwing(投掷):''
只有近战武器才能获得此能力。擅长此种类武器的使用者可以投掷此武器,射程10英尺。

微弱变化系灵光;CL5;制造魔法武器和防具,魔石术(magic stone);价格+1加值。
''雷鸣闪电(Thunder and Lightning):''这是以银铆合的铁制权杖,视同+2轻型硬头锤。能力如下:

*雷鸣:此权杖可当作+3轻型硬头锤,被攻击的对象会被声响震慑(强韧过则无效,DC=13)。启动此功能属于即时动作。启动后一轮内击中敌人才有效。此功能每天可使用一次。
*闪电:当权杖击中敌人时,杖头会跳出火花,除了+2轻型硬头锤的正常伤害(1d6点)之外,还会造成2d6点电击伤害。若攻击检定结果未能正常命中,但足以成功进行近战接触攻击,仍会造成2d6点电击伤害。启动此功能属于即时动作。启动后一轮内击中敌人才有效。此功能每天可使用一次。
*雷鸣轰:制造震耳欲聋的声响(标准动作),效果如同“咆哮术”(DC=14,2d6点音波伤害,目标耳聋2d6轮)。此功能每天可使用一次。
*闪电击:放出五英尺宽的“闪电束”(标准动作,造成9d6伤害,DC=14),最远达200英尺。此功能每天可使用一次。
*雷鸣闪电:合并雷鸣轰和闪电击的威力(标准动作)。在闪电束10英尺范围内会受到雷鸣影响。闪电可造成9d6点伤害(掷出1或2都视为3,伤害范围27 到54点),加上2d6点音波伤害,耳聋2d6轮。通过反射检定(DC=14)则伤害减半,但仍会耳聋。此功能每周可使用一次。

施法者等级:9。先决条件:“制造权杖”,“制造魔法武器及防具”,“闪电束”、“咆哮术”。交易价格:23000金币。
''Thundering(雷鸣):''
雷鸣武器在造成重击时能发出打雷一样的巨响。这声音不会伤害使用者。重击时,雷鸣武器能造成额外的1d8音波伤害。如果武器的重击倍数为x3,则再增加2d8点音波伤害;如果是x4,则再增加3d8点。弓、弩和投石索自动将音波能量灌注在其发射的弹药中。遭受雷鸣武器重击的对象须进行DC14的强韧豁免检定,失败则永久变聋。

微弱死灵系灵光;CL5;制造魔法武器和防具,目盲术/耳聋术(blindness/deafness);价格+1加值。
!!Tiger(虎 )

''大型动物''

|''生命骰:'' 6d8+18 (45 hp)|
|''先攻权:'' +2|
|''速度:'' 40尺 (8格)|
|''防御等级:'' 14 (-1体型,+2敏捷,+3天生),接触11,措手不及12|
|''基本攻击/擒抱:'' +4/ +14|
|''攻击:'' 爪抓 +9 近战 (1d8+6)|
|''全回合攻击:'' 2 爪抓 +9 近战 (1d8+6)及啮咬 +4 近战 (2d6+3)|
|''面宽/触及:'' 10尺/ 5尺|
|''特殊攻击:'' 精通攫抓,猛扑,耙抓 1d8+3|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+8,反射+7,意志+3|
|''属性:'' 力量23,敏捷15,体质17,智力2,感知12,魅力6|
|''技能:'' 平衡+6,躲藏+3*,聆听+3,潜行+9,侦察+3,游泳+11|
|''专长:'' 警觉,强化天生攻击 (啮咬),强化天生攻击 (爪抓)|
|''环境:'' 温暖的森林|
|''组织:'' 单独|
|''挑战等级:'' 4|
|''进化:'' 7-12HD (大型);13-18HD (超大型)|
|''等级调整:'' -|

这些大猫站立时肩高超过3尺,体长约9尺。它们重约400到600磅。

!!!战斗

''精通攫抓 (Ex):''使用此能力之前,虎必须通过其爪抓或啮咬攻击击中对手。然后它就可以通过一个即时动作尝试展开擒抱,此动作不会引发借机攻击。如果它成功将对手定身,就能展开耙抓攻击。

''猛扑 (Ex):''当虎冲锋对手时,它可以作出全回合攻击,包括两次耙抓攻击。

''耙抓 (Ex):''攻击加值 +9 近战,伤害 1d8+3。

''技能:''在进行平衡、躲藏及潜行检定时虎可获得+4的种族加值。*在长草区或浓密树丛中时,躲藏加值可提升为+8。
!!!时间静止(Time Stop)
|变化系|
|''等级:''术士/法师9,诡术9|
|''法术成分:''言语|
|''施法时间:''1个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''1d4+1轮(表面时间)|
|这个法术看上去像是让除了你以外的其他人都进入时间静止状态。但事实上是你的速度变得非常快,使得其他生物看起来完全静止,尽管他们实际上依然可以正常运动。你可以在1d4+1轮(以你的观点)内自由行动。普通或是魔法火焰、寒冷、毒气等依然会伤害你。时间静止作用期间,其他生物不会因你的攻击或法术而受伤,你不能以那些生物为物理攻击或法术的目标。区域法术持续时间若比时间静止剩下的时间长,则可在时间静止结束后继续生效。大多数施法者利用这些额外的时间来加强防御、召唤盟友,或者逃离战斗。|
|若物品被其他生物所持有、携带或穿着,则你不能移动或伤害它们,但你可以影响无主物品。|
|在时间静止的持续时间内,你不可被侦测。在时间静止的效果下你不能进入被反魔场(antimagic field)保护的区域。|
!!!避难小屋(Tiny Hut)
|塑能系[力场]|
|''等级:''吟游诗人3,术士/法师3 |
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''20英尺|
|''效果:''以你所在地点为中心的的球,半径20英尺|
|''持续时间:''2小时/等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|你创造出一个不可移动、不透明的的力场球围绕着你,球的颜色为任何你想要的颜色。该球体一半在地面上,另一半在地下。最多可以有9个中型生物和你一起呆在球内;他们可以自由进出球体而不破坏它。但是,如果你自己离开了球体,法术会停止。|
|如果球外的温度为华氏0至100度,那么球体内的温度为华氏70度。球外温度每低于0度(或高于100度)一度,球内温度也相应降低(或提高)1度。木屋也能抵御恶劣气候,比如:雨、灰尘、沙尘暴等。木屋还能抵御任何不强于飓风的大风,但是飓风(时速75英里以上)和比飓风更强的风力会摧毁它。|
|小屋内部为半球形空间。你可以按意愿命令它以微光照明或熄灭光芒。尽管力场从外面看是不透明的,但从内部看却是透明的。箭矢、武器和大多数法术可以地穿过木屋却不影响它,不过小屋里的人仍然不会被外面的人看到(屋内的人处于全隐蔽状态)。|
|//材料成分://一颗小水晶珠。它会在法术的终止或被解除时碎裂。|
!!Titan(泰坦)

''超大型异界生物 (混乱,跨位面)''

|''生命骰:'' 20d8+280(370hp)|
|''先攻权:'' +1|
|''速度:'' 穿半身甲时40尺(8格);基本陆地速度60尺|
|''防御等级:'' 38(-2体型,+19天生,+11+4半身甲),接触8,措手不及38|
|''基本攻击/擒抱:'' +20/+44|
|''攻击:'' 巨型+3精金战锤+37近战(4d6+27/*3);或+3标枪+22远程(2d6+19);或挥击+34近战(1d8+16)|
|''全回合攻击:'' 巨型+3精金战锤+37/+32/+27/+22近战(4d6+27/*3);或+3标枪+22远程(2d6+19);或2挥击+34近战(1d8+16)|
|''面宽/触及:'' 15尺/15尺|
|''特殊攻击:'' 超大武器,类法术能力|
|''特性:'' 改变外形,伤害减免15/守序,黑暗视觉60尺,法术抗力32|
|''豁免:'' 强韧+26,反射+13,意志+21|
|''属性:'' 力量43,敏捷12,体质39,智力21,感知28,魅力24|
|''技能:'' 平衡+7,唬骗+19,攀爬+22,专注+37,手艺(任意1种)+28,交涉+11,易容+7(+9表演),医疗+20,威吓+32,跳跃+38,知识(任意1种)+28,聆听+32,表演(演讲)+30,察言观色+32,搜索+28,法术辨识+17,侦察+32,生存+9(+11追踪),游泳+16|
|''专长:'' 无畏一击,盲斗,顺势斩,精通冲撞,精通击破武器,猛力攻击,类法术能力瞬发(连环闪电)|
|''环境:'' 混乱善良位面|
|''组织:'' 单独或成对|
|''挑战等级:'' 21|
|''宝物:'' 双倍标准外加+4半身甲和巨型+3精金战锤|
|''阵营:'' 总是混乱(任意混乱阵营)|
|''进化:'' 21-30HD(超大型);31-60HD(巨型)|
|''等级调整:'' -|

泰坦约25尺高,重约14000磅。

泰坦会说深渊语,通用语,天界语,龙语和巨人语。

!!!战斗
在对抗伤害减免时,泰坦的天生武器与其所持有的任何武器一样,都被视为具有混乱阵营。

''改变外形 (Su):''泰坦可以变成任何体型为中型或小型的类人生物形态。无论其形态如何,泰坦都拥有其超大武器特殊攻击能力。

''超大武器 (Ex):''泰坦可使用巨大的双手战锤 (适合巨型生物使用)而不受罚值。

''类法术能力:''施法等级20。该豁免检定DC基于魅力调整值。

|//随意施展 //- 连环闪电 (DC 23),魅惑怪物 (DC 21),治疗致命伤 (DC 21),火焰风暴 (DC 24),高等解除魔法,怪物定身术 (DC 22),隐形术,消除隐形,浮空术,长驻幻影 (DC 22);|
|//每天3次 //- 同游灵界,混沌真言 (DC 22),九级自然盟友召唤术;|
|//每天1次// - 异界之门,迷宫术,流星爆 (DC 26)。|

除此之外,善良及中立阵营的泰坦也可施展以下类法术能力。施法等级20。该豁免检定DC基于魅力调整值:

|//随意施展// - 昼明术,圣光击 (DC 21),移除诅咒 (DC 21);|
|//每天1次// - 高等复原术。|

邪恶阵营的泰坦也可以施展以下类法术能力。施法等级20。该豁免检定DC基于魅力调整值:

|//随意施展// - 降咒 (DC 21),深幽黑暗术,邪影击 (DC 21);|
|//每天1次// - 粉碎掌 (DC 26)。|

!!!每轮战术
泰坦喜欢战斗且通常会与敌人展开近战。如果效果不好的话,它们就会快速后退并使用类法术能力和魔法效果来攻击敌人。因为泰坦拥有类法术能力瞬发专长,所以它可以通过一个即时动作来施展连环闪电,并且会在近战的同时频繁使用此能力。
开战之前:消除隐形或隐形术。

//第1轮://冲锋并尝试击破最危险的敌人的武器。向处于近战范围之外的敌人施展连环闪电。

//第2轮://全回合攻击被卸除武器的对手,同时向其他对手施展连环闪电。

//第3轮://从第一个对手身旁退开,对任何给自己制造麻烦的施法者施展迷宫术或流星爆。

//第4轮://击破另一个有威胁的近战者的武器,或对身边所有对手施展高等解除魔法。

//第5轮://全回合攻击身边的任意对手,或者施展火焰风暴。

如果感觉敌人的确很危险的话,再次施展瞬发连环闪电。

泰坦通常会保留其异界之门和同游灵界能力来脱离进展不顺利的战斗。
|!		|!	幼年突蟹龟(Juvenile Tojanida)	|!	成年突蟹龟(Adult Tojanida)	|!	突蟹龟长老(Elder Tojanida)	|
|!		|!	小型异界生物(跨位面,水系)	|!	中型异界生物(跨位面,水系)	|!	大型异界生物(跨位面,水系)	|
|^	''生命骰:''	|^	3d8+6(19hp)	|^	7d8+14(45hp)	|^	15d8+60(127hp)	|
|^	''先攻权:''	|^	+1	|^	+1	|^	+1	|
|^	''速度:''	|^	10尺(2格),游泳90尺	|^	10尺(2格),游泳90尺	|^	10尺(2格),游泳90尺	|
|^	''防御等级:''	|^	22(+1体型,+1敏捷,+10天生),接触12,措手不及21	|^	23(+1敏捷,+12天生),接触11,措手不及22	|^	24(-1体型,+1敏捷,+14天生),接触10,措手不及23	|
|^	''基本攻击/擒抱:''	|^	+3/+1	|^	+7/+10	|^	+15/+25	|
|^	''攻击:''	|^	啮咬+6近战(2d6+2)	|^	啮咬+10近战(2d8+3)	|^	啮咬+20近战(4d6+6)	|
|^	''全回合攻击:''	|^	啮咬+6近战(2d6+2)及2爪抓+1近战(1d4+1)	|^	啮咬+10近战(2d8+3)及2爪抓+5近战(1d6+1)	|^	啮咬+20近战(4d6+6)及2爪抓+15近战(1d8+3)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	5尺/5尺	|^	10尺/5尺	|
|^	''特殊攻击:''	|^	精通攫抓,墨汁云	|^	精通攫抓,墨汁云	|^	精通攫抓,墨汁云	|
|^	''特性:''	|^	全域视野,黑暗视觉60尺,对酸和寒冷免疫,对电和火焰抗力10	|^	全域视野,黑暗视觉60尺,对酸和寒冷免疫,对电和火焰抗力10	|^	全域视野,黑暗视觉60尺,对酸和寒冷免疫,对电和火焰抗力10	|
|^	''豁免检定:''	|^	强韧+5,反射+4,意志+4	|^	强韧+7,反射+6,意志+6	|^	强韧+13,反射+10,意志+10	|
|^	''属性:''	|^	力量14,敏捷13,体质15,智力10,感知12,魅力9	|^	力量16,敏捷13,体质15,智力10,感知12,魅力9	|^	力量22,敏捷13,体质19,智力10,感知12,魅力9	|
|^	''技能:''	|^	交涉+1,逃脱术+7,躲藏+11,知识(位面)+6,聆听+7,搜索+6,侦察+9,察言观色+7,生存+1(+3位于其他位面及追踪),游泳+10,绳技+1(+3捆绑)	|^	交涉+1,逃脱术+11,躲藏+11,知识(位面)+6,聆听+11,搜索+14,侦察+15,察言观色+11,生存+1(+3位于其他位面及追踪),游泳+11,绳技+1(+3捆绑)	|^	逃脱术+19,躲藏+15,威吓+17,知识(位面)+18,聆听+21,搜索+22,侦察+25,察言观色+17,生存+1(+3位于其他位面及追踪),游泳+14,绳技+1(+3捆绑)	|
|^	''专长:''	|^	盲斗,闪避	|^	盲斗,闪避,猛力攻击	|^	警觉,盲斗,顺势斩,闪避,精通击破武器,猛力攻击	|
|^	''环境:''	|^	水元素位面	|^	水元素位面	|^	水元素位面	|
|^	''组织:''	|^	单独或成群(2-4)	|^	单独或成群(2-4)	|^	单独或成群(2-4)	|
|^	''挑战等级:''	|^	3	|^	5	|^	9	|
|^	''宝物:''	|^	标准	|^	标准	|^	标准	|
|^	''阵营:''	|^	总是中立	|^	总是中立	|^	总是中立	|
|^	''进化:''	|^	4-6HD(小型)	|^	8-14HD(中型)	|^	16-24HD(大型);25-45HD(超大型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


突蟹龟的壳是蓝绿色。壳内是长着七支肢状突出物的肉体。其中四支有鳍用来移动,两支尖端有爪,最后一支上长有此生物的头。壳上有八个开口,头尾各有四个,可以让突蟹龟自由地伸出不同功能的肢体。

25岁以下的突蟹龟为幼年突蟹龟。它的壳有3尺长,重约60磅。成年突蟹龟的年龄层为26到80岁。它的壳有6尺长,重约220磅。突蟹龟长老能活到150岁。它的壳有9尺长,重约500磅。

突蟹龟会说水族语且相当健谈,但内容大多与食物有关。

!!!战斗

''精通攫抓 (Ex):''使用此能力之前,突蟹龟必须通过其啮咬或爪抓攻击击中对手。然后它就可以通过一个即时动作尝试展开擒抱,该动作不会引发借机攻击。在水下时,突蟹龟可以拉着被擒抱的体型与它相当或更小的受害者以其游泳速度前行 (但是不能奔跑)。它最喜欢的战术是攫抓一个对手,然后后撤,将这名对手从其同伴身边拖离。

''墨汁云 (Ex):''每分钟一次,突蟹龟可以通过一个即时动作喷出一团半径30尺的墨汁云。除此之外,此效果与等级等于突蟹龟生命骰数的施法者所施放的云雾术类似。离开水面时,墨汁会变成一道能射出30尺的喷柱,突蟹龟可将它喷向对手的眼睛。受影响的生物必须通过一个反射豁免检定否则就会目盲一轮。其豁免检定DC分别为幼年13,成年15,长老21。该豁免检定DC基于体质调整值。

''全域视野 (Ex):''突蟹龟壳上的复数开口可以使其观察所有方向,因此在进行侦察和搜索检定时突蟹龟可获得+4的种族加值。对手在夹击突蟹龟时不会获得任何加值。

''技能:''在进行游泳检定来做出特殊动作或躲避危险时,突蟹龟可获得+8的种族加值。它可在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。 
!!!巧言术(Tongues)
|预言系|
|''等级:''吟游诗人2,牧师4,术士/法师3|
|''法术成分:''言语,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''持续时间:''10分钟/等级|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''不可|
|本法术使受术者能够听懂和叙说其他任何智能生物的语言,无论是种族语言或方言。受术者一次只能说一种语言,但是他能了解的语言可以超过一种。巧言术无法使受术者与不会讲话的生物交谈。在嗓音可传达的范围内,所有生物都能理解受术者的话。此法术不能决定其他生物会向受术者说些什么。|
|巧言术可以用魔法恒定术(permanency)恒定。|
|//奥术材料://一个陶制阶梯金字塔小模型,当说出言语成分时,此模型即破碎。|
!!!疲乏之触(Touch of Fatigue)
|死灵系|
|''等级:''术士/法师0|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''被接触的生物|
|''持续时间:''1轮/等级|
|''豁免:''强韧,通过则无效|
|''法术抗力:''可|
|你在接触时引导负能量使目标陷入疲乏状态。你必须通过接触攻击检定来触碰到目标。|
|对方在法术持续时间内会立即陷入疲乏状态。|
|本法术对已经陷入疲乏的生物无效。和普通的疲乏不同,这效果会在法术持续时间到达后消失。|
|//材料成分://一滴汗水。|
!!!愚者之触(Touch of Idiocy)
|惑控系(胁迫)[影响心灵]|
|''等级:''术士/法师2|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''被接触的活物|
|''持续时间:''10分钟/等级|
|''豁免:''无|
|''法术抗力:''可|
|你通过接触降低目标的智能。通过成功的近战接触攻击检定,你能对目标的智力、感知和魅力造成1d6点减值。这种减值不会让其中任何一项减到低于1。|
|如果目标的智力值低于施展某等级的法术的最低要求,他将不能施展那些法术。|
!!! 健壮(TOUGHNESS)[一般专长]

''效果:''你获得3点生命值。

''特殊:''你可以多次选择本专长,其效果累加。
!!! 擅长塔盾(TOWER SHIELD PROFICIENCY)[一般专长]

''先决条件:''擅长盾牌。

''效果:''你能够使用塔盾,并只受标准减值。

''正常:''使用不擅长的盾牌的人物其攻击检定以及所有移动相关的技能检定(包括骑术)都会有盾牌的防具检定减值。

''特殊:''战士自动获得本专长为奖励专长。他们无需选择此专长。

!!! 追踪(TRACK)[一般专长]

''效果:''要找出踪迹或是追踪他人1英里以上,需做生存检定。每当踪迹变得难以追踪时,必须再做一次生存检定。

你的速度减为原来一半(或用原本的速度,但检定受-5减值;或最高用两倍于原来的速度,检定受-20减值)。难度等级依地表的主要形态而定:

|!	地表	|!	难度等级 	|!	地表 	|!	难度等级	|
|^	异常松软 	|^	5 	|^	坚实	|^	15	|
|^	松软 	|^	10 	|^	坚硬	|^	20	|


 

//异常松软的地面://此地形可以印下深而清楚的足迹(如:新雪、厚尘、软泥等)。

//松软地面://此地形足以显示出施压的痕迹,但比新雪或软泥硬,生物常会在此地形留下连续但浅显的足迹。

//坚实地面://大部分的普通户外地面(如:草地、田野、林地等)、特别柔软或肮脏的室内地面(如:厚地毯、积满灰尘的地板)。生物只会留下轻微的踪迹(如:断掉的树枝、一小撮毛发等),但很少留下足迹,即使有也不完整。

//坚硬地面://此地形不会出现足迹,只会留下细微的痕迹(如:擦痕或移动过的小石头),例如:光秃的岩石、室内地板。大部分河床也属于此地形,因为所有足迹会立刻被掩盖或冲走。

下表列出了“生存”检定可能适用的一些调整值。

|!	状况	|!	难度等级调整值	|
|^	被追踪的生物每多三个	|^	-1	|
|^	被追踪生物的体型:^^1^^	|^		|
|^	超微型	|^	+8	|
|^	微型 	|^	+4	|
|^	超小型 	|^	+2	|
|^	小型	|^	+1	|
|^	中型 	|^	+0	|
|^	大型 	|^	-1	|
|^	超大型 	|^	-2	|
|^	巨型 	|^	-4	|
|^	超巨型	|^	-8	|
|^	留下痕迹之后每隔24小时	|^	+1	|
|^	留下痕迹之后每下一小时雨	|^	+1	|
|^	留下痕迹之后被新雪覆盖	|^	+10	|
|^	视线不佳:^^2^^	|^		|
|^	乌云密布或无月光的夜晚	|^	+6	|
|^	月光下	|^	+3	|
|^	起雾或降雨(雪)	|^	+3	|
|^	被追踪目标刻意掩盖痕迹(并以一半的速度移动)	|^	+5	|
|^	1 //若生物群体的体型不一,只以最大体型生物的调整值为准//	|<|
|^	2 //此类状况以最大的调整值为准//	|<|


如果生存检定失败、,你可以在1小时(室外)或10分钟(室内)后,重新搜寻一次。

''正常:''未拥有本专长的人物可以用生存技能找出踪迹,但只能找到DC 10或更低的踪迹。你可以使用搜索技能找出足迹或生物经过的类似标记,DC与上述相同。但你不能使用搜索技能追踪踪迹,即使别人已经找到这些踪迹。

''特殊:''巡林客不需选择即自动获得本专长作为奖励专长。

本专长不能使你找出或追踪法术行动无踪(pass without trace)受术者的行动踪迹。
''践踏(Trample,特异能力):''具有这种特殊攻击能力的生物,可以花费一个整轮动作,以最大双倍速移动逐个践踏任何至少比它小一体型的生物。它只需要从挡在路上的对手上方经过;任何生物,如果它占据的空间完全被具有践踏能力的生物所覆盖,便要承受践踏攻击。如果目标占据空间大于5尺,那么只有当践踏的生物占据所有它占据的方格才被认为是践踏。如果践踏生物仅经过目标占据空间的一部分,目标可以针对践踏的生物作出有-4减值的借机攻击。如果践踏的生物碰巧在一个不合理的位置结束移动,他会自动回到上一个它占据的合理位置,或者最近的合理位置,如果这更近的话。

践踏攻击造成钝击伤害(伤害值等于生物的挥击伤害+1.5倍它的力量调整值)。具体数目在生物的描述文字中给出。

被践踏的生物可以尝试借机攻击,但要受到-4减值。如果它们没有借机攻击,被践踏的生物可以尝试通过反射豁免使践踏伤害减半。

对抗一个生物践踏攻击的豁免DC等于(10+1/2生物HD+它的力量调整值,具体DC在生物描述文字中给出)。践踏的生物每回合只能对每个目标造成一次践踏伤害,无论他的移动经过了目标生物多少次。
!!! 践踏(TRAMPLE)[一般专长]

''先决条件:''骑术级数1、骑乘战斗。

''效果:''若你在骑乘时试图闯越对手,你的目标不能选择避开你。你的坐骑可以对任何你撞倒的目标进行一次蹄踢攻击(Hoof attack),此次攻击可以如常获得针对倒地目标的+4加值。

''特殊:''战士可以选择本专长作为战士的奖励专长。

!!!转变术(Transformation)
|变化系|
|''等级:''术士/法师6|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''1轮/等级|
|你变成一个纯粹的战斗机器——更强,更狠,更快,更精于战斗。你的思维完全转型成为战斗类型,所以你无法施法,甚至不能使用魔法物品。|
|你的力量,敏捷,体质获得+4的增强加值,AC获得+4的天生防御加值,强韧检定获得+5能力加值,并且擅长所有简易和军用武器。你的基本攻击加值为你的人物等级(这也许会使你可以进行多次攻击)。|
|你将失去施法能力,包括需要利用法术启动或完成的魔法物品,就好像你的职业能力里不再有那些法术。|
|//材料成分://一瓶牛之力量药水,你必须喝掉它(它的效果包含在上文所述的法术效果中)。|
!!!化铁为木(Transmute Metal To Wood)
|变化系|
|''等级:''德鲁伊7|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''远距(400英尺+40英尺/等级)|
|''影响区域:''半径40英尺爆发区域内的所有金属|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''可(物体见说明)|
|此法术能将区域内的所有金属物品变成木质。武器、盔甲和其他被生物携带的金属物品都会受到影响。金属制的魔法物品具有法术抗力为20加它自身的施法者等级。神器不受此法术的影响。变成木质后,武器的攻击检定和伤害掷骰都受到-2的减值,防具的盔甲加值-2。变为木质的武器攻击检定若掷出1或2,则武器破裂或折断。变为木质的盔甲受到攻击时,每次对方的攻击检定掷出19或20则该防具的AC加值再-1。|
|只有有限许愿术、奇迹术、祈愿术或类似法术才能使受术物体还原。|
!!!化泥为石(Transmute Mud To Rock)
|变化系[土]|
|''等级:''德鲁伊5,术士/法师5|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/等级)|
|''区域:''至多每等级两个边长10英尺的立方区域(可变)|
|''持续时间:''永久|
|''豁免:''见下文|
|''法术抗力:''不可|
|此法术可将任意深度的普通泥浆或流沙永久变成软性石材(砂岩或类似材质)。|
|泥浆内的生物若可通过反射检定则可及时逃离。|
|化泥为石可以反制和解除化石为泥(transmute rock to mud)。|
|//奥术材料://沙、石灰和水。|
!!!化石为泥(Transmute Rock To Mud)
|变化系[土]|
|''等级:''德鲁伊5,术士/法师5|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/等级)|
|''区域:''至多每等级两个边长10英尺的立方区域(可变)|
|''持续时间:''永久;见下文|
|''豁免:''见下文|
|''法术抗力:''不可|
|此法术可将天然未经斧凿的任何石头变成等量泥浆。带魔法的石头不受此法术影响。制造出的泥浆深度不超过10英尺。不能以浮升、飞行或其他方式逃离泥浆的生物会下沉至臀部或胸部。这些生物的移动速度降为5英尺,攻击检定和AC受到-2的减值。把树干丢到泥浆上,可使生物爬上不至沉下。体形大到可以踩到泥底的生物可以缓慢趟过泥塘,速度为5英尺。|
|如果对着洞穴或地道的顶部施放化石为泥,泥浆会从上落下,散成一滩5英尺深的泥潭。掉落的泥巴和引起的塌方会导致正好位于泥块掉落范围下的所有生物受到8d6点钝击伤害,若通过反射检定,则伤害减半。|
|城堡或大型建筑的石块通常不受此法术的影响,因为化石为泥不能影响加工过的石块,而且影响深度不足以动摇地基。然而小型建筑的地基通常比较浅,因此有可能会受到些损害,或者至少是变得不稳固。|
|泥巴会保持原状,而成功的解除魔法(dispel magic)或化泥为石(transmute mud to rock)可以将泥巴变回石头,但不一定会变回原来的形状。泥巴经过一段时间后会干涸成为尘土,所需时间取决于暴晒、风吹和正常排水状况而定。|
|//奥术材料://陶土和水。|
!!!木遁术(Transport Via Plants)
|咒法系(传送)|
|''等级:''德鲁伊6|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''无限制|
|''目标:''你和被接触到的物体或其他被接触的自愿生物|
|''持续时间:''一轮 |
|''豁免:''无|
|''法术抗力:''不可|
|你可进入任何普通植物(中型或更大)并在一轮内传送到一棵同类的植物内,不论两者距离多远。你进入的植物必须是活的。你不需要熟悉你将到达的植物,但它必须是活的。如果你不确定特定目标植物的位置,只需指出方向和距离,木遁术会将你移动到距离该点最近的同种植物中去。如果目的地附近只有死的该种植物,则法术失效,你会从入口植物弹出。|
|你可以携带不超过你最大负重的物品。每3施法者等级,你可以携带一个自愿的中型生物或更小的生物(携带不超过其最大负载的装备、物品)或等同于此的生物。通过以下代换决定可以携带的更大体型生物的最大数量:一个大型生物相当于两个中型生物,一个超大型生物相当于两个大型生物,以此类推。所有被传送的生物必须和其他一个被传送者接触,并且至少有一个被传送者要与你接触。|
|此法术不能用于传送植物型生物。|
|若你所在的植物被破坏,你和你携带的生物都会死亡,尸体和所带的物品都会被弹出。|
!!!锢魂术(Trap The Soul)
|咒法系(召唤)|
|''等级:''术士/法师8|
|''法术成分:''言语,姿势,材料(器材),见下文|
|''施法时间:''1个标准动作或见下文|
|''距离:''近距(25英尺+5英尺/2等级)|
|''目标:''一个生物|
|''持续时间:''永久;见下文|
|''豁免:''见下文|
|''法术抗力:''可;见下文|
|锢魂术会将一个生物的生命力(以及他的物质形体)囚入宝石。被禁锢的生命被永久保存在宝石内,直到宝石被打碎生命力才会释放,而物质形体也会重组。若被囚禁的是其他位面的强大生物,你可以要求他执行一项任务来换取自由,他必须在获得自由时立即执行任务。在其它情况下,宝石碎裂时生物就重获自由。|
|本法术有两种功效,其启动方式亦不同。|
|//完全施法://首先,你如同施展其他法术一样,用一个标准动作念出最后的咒语以完成施法。目标生物可以进行法术抗力和意志豁免检定。若施法时说出了生物的名字,则法术抗力无效,豁免检定DC+2。若通过检定或法术抗力,宝石会碎裂。|
|//物品触发://第二种方法则阴险得多,因为它需要欺骗目标生物接受写有最后咒语的物品,之后自动囚禁该生物的灵魂。使用此方法时,目标生物的名字和最后的咒语都必须写在宝石上。宝石也可附上共鸣术(sympathy)。只要目标生物拿起或接受该宝石,他的生命力就会自动进入宝石,无法进行法术抗力和豁免检定。 |
|//材料成分://在施展禁锢术之前,你必须准备一颗宝石,其价值由目标生物的HD决定,每HD至少1000金币。若宝石价值不够高,则会在囚禁时碎裂。(若目标生物不存在等级或HD的概念,那么宝石的价值可由研究得知。当该生物获得更高的HD时,宝石的价值要相应提高。)|
|//法器(只针对物品触发方式)://若使用触发方式,则需要一个触发物体,条件如上文所述。|
!!Treant(树人)

''超大型植物''

|''生命骰:'' 7d8+35(66hp)|
|''先攻权:'' -1|
|''速度:'' 30尺(6格)|
|''防御等级:'' 20(-2体型,-1敏捷,+13天生),接触7,措手不及20|
|''基本攻击/擒抱:'' +5/+22|
|''攻击:'' 挥击+12近战(2d6+9)|
|''全回合攻击:'' 2挥击+12近战(2d6+9)|
|''面宽/触及:'' 15尺/15尺|
|''特殊攻击:'' 活化树木,对物体伤害加倍,践踏2d6+13|
|''特性:'' 伤害减免10/挥砍,昏暗视觉,植物特性,易受火焰伤害|
|''豁免:'' 强韧+10,反射+1,意志+7|
|''属性:'' 力量29,敏捷8,体质21,智力12,感知16,魅力12|
|''技能:'' 交涉+3,躲藏-9*,威吓+6,知识(自然)+6,聆听+8,察言观色+8,侦察+8,生存+8(+10地面上)|
|''专长:'' 精通击破武器,钢铁意志,猛力攻击|
|''环境:'' 温带森林|
|''组织:'' 单独或成群(4-7)|
|''挑战等级:'' 8|
|''宝物:'' 标准|
|''阵营:'' 通常是中立善良|
|''进化:'' 8-16HD(超大型);17-21HD(巨型)|
|''等级调整:'' +5|


春、夏季时树人的叶子是深绿色的。秋、冬季时叶子会变成黄色、橘黄色或红色,但是它们几乎不会凋落。树人的双腿并拢时看起来就像树干一样,静止不动的树人看起来和一棵树毫无二致。

树人约30尺高,“树干”直径约2尺。它重约4500磅。

树人说它们自己的语言,以及通用语和木族语。多数还会说一些其他类人生物的语言 -- 至少能说出“离我的树远点!”

!!!战斗
在攻击之前树人会小心地观察敌人。它们通常会突然从隐蔽处冲锋出来践踏盗伐树木的敌人。如果感到压力很大,它们会活化树木作为支援。

''活化树木 (Sp):''树人可以随意活化180尺范围内的任何树木,同时最多可以控制两棵。一般的树木需要一整轮的时间来将自己的根拔起。此后它会以10尺的速度移动并且如树人一样作战。如果树人一旦失去行动能力或距离太远的话,被活化的树木也会失去移动能力。除此之外,此能力类似于橡树守卫法术 (施法等级12)。被活化的树木如树人一样有易受火焰伤害的特性。

''对物体伤害加倍 (Ex):''树人或被活化的树木对物体或建筑进行全回合攻击时可造成双倍伤害。

''践踏 (Ex):''反射豁免检定DC 22,通过则伤害减半。该豁免检定DC基于力量调整值。

''技能:''*树人在森林区域进行躲藏检定时可获得+16的种族加值。 
''宝藏(Treasure):''这里列出该生物拥有多少财产。大多数情况下,生物会在自己的家中或巢穴里存放值钱的东西,而不把它们带出门。具有智力的生物,如果用有易于使用和携带的宝物(比如魔法物品)则会带上并使用它们,而把笨重物品留在家里。宝藏包括钱币、宝物及物品。生物宝藏数量可能各有不同,详见下文。

//标准(Standard)://依照生物的挑战等级(如果是一群生物则改用遭遇等级),参照宝藏表格中的相应等级,对每个宝藏种类掷骰一次百分骰。某些生物的宝藏数量是标准的两倍、三倍,甚至是四倍;这种情况下,对每个宝藏种类掷骰两次、三次或四次。

//无(None)://该生物自己不收集宝藏。

//非标准(Nonstandard)://某种生物的癖好会影响到它们收集的宝藏类型。这些生物使用同样的宝藏表格,但有一些特殊的调整。

//部分钱币(Fractional Coins)://依照生物挑战等级所对应的钱币一栏掷骰,然后乘以给定的比率算得结果。

//%宝物或物品(% Goods or Items)://该生物只是有时拥有宝物或物品。在对宝物或物品进行检定之前,先就给定的百分比掷百分骰。如果成功,则正常的按照对应的宝物或物品一栏掷骰(仍旧有可能最终没有宝物或物品)。

//双倍宝物或物品(Double Goods or Items)://按对应的宝物或物品一栏掷两次骰。

//附加说明(Parenthetical Notes)://某些时候宝物或物品栏中会包括该生物收集的宝物类型的限制说明。

如果说明中包含“无”,这表示生物不收集或无法保存这种东西。如果投出此结果,则当作“没有”来处理。

如果说明中包含“仅有”,该生物仅仅收集这一给定类型的宝藏。这一栏中投出任何结果,都当作这一给定类型的宝藏来处理。

有时则需要不断的重掷,直到得出恰当种类的物品。

!!!树化术(Tree Shape)
|变化系|
|''等级:''德鲁伊2,巡林客3|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''1小时/等级(可解消)|
|本法术能让你把自己变成一棵大型活树或灌木,或是大型枯死树干,还带有些小树枝。即使凑近仔细看,也觉察不出这树实际上是用魔法伪装的生物。实际上无论用什么正常手段检查,你都是棵树或灌木,但侦测魔法(detect magic)会侦测出树上有变化系的微弱法术灵光。变成树后,你仍可正常地观察周围事物,你的生命值和豁免检定也不变。你的AC获得+10的天生防御加值,但是有效敏捷值为0且速度为0。变成树后,你对重击免疫。你身上的所有衣物、装备都会一起变形。|
|你可以一个即时动作解消树化术(而非标准动作)。|
!!!融身入林(Tree Stride)
|咒法系(传送)|
|''等级:''德鲁伊5,巡林客4|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''个人|
|''目标:''自己|
|''持续时间:''1小时/等级或直到离开位置;见下文|
|你获得一种能力,可以进入树木,并从树木内部移动到其它树木内部。你进入的每一棵树必须是同一种类的、活着的且不能比你体型小。当你进入一棵橡树(举例而已)后,你马上会知道传送范围(见下表)内其它橡树的位置,同时你可以选择你想进入的树,或仅仅是从你进入的树里出来。如下表所示,你可以选择进入传送范围内任何对应种类的树。|

|!	树木种类	 |!	传送距离	 |
|^	橡树,白杨,紫杉	 |^	3,000 英尺	 |
|^	榆木,菩提树	 |^	2,000 英尺	 |
|^	其它落叶树	 |^	1,500 英尺	 |
|^	所有松树	 |^	1,000 英尺	 |
|^	所有其它树木	 |^	500 英尺	 |

|每天进入树木的次数等于你的施法者等级(从一棵树传送到另一棵算进入一次)。若超过法术或你离开树木,法术就结束。每次传送为整轮动作。|
|如果你愿意,你可以一直待在树里而不传送,但当法术终止时,你会被迫离开。若你所在的树被砍伐或焚烧,且你未在该行动完成时离开,你会死亡。|
''颤动感知(Tremorsense,特异能力):''具有颤动感知能力的生物能够感觉到地面的震颤,它们可以自动辨别出到任何接触地面的东西的位置。具有颤动感知能力的水栖生物亦可感觉出在水中移动的生物的位置。此能力的有效范围在生物的描述中给出。

如果生物和那些它感知到的东西之间没有直接的地面路线,那么颤动感知范围的定义就是两者间最短的间接路径所能达到的最大距离。

具有此能力的生物自己必须与地面接触,对方也必须处于运动中。

只要其他生物作出身体动作,包括施展含有姿态成分的法术,他们就被认为是在运动中,不需要从一个地方移动到另一个地方。
''Trident of Fish Command(驯海三叉矛):''
这把长六英尺半的+1三叉矛的魔法能力允许使用者魅惑最多14HD的水生动物(意志豁免DC16,若此动物正遭受使用者或其同伴的攻击则获得+5加值),被魅惑生物之间两两距离不能超过30英尺。此能力每天最多能使用3次。使用者能与动物交流,效果如同动物交谈术(speak with animals)。通过豁免的动物不受影响,但它们不会进入三叉矛周围10英尺范围。此能力每天最多可使用3次。

中等附魔系灵光;CL7;制造魔法武器和防具,动物交谈术(speak with animals);价格18650金币;制造花费9325金币+746经验值。
''Trident of Warning(探敌三叉矛):''
这种武器允许使用者探知680英尺内水生食肉动物的方位、深度、种类和数量。使用者必须抓握探敌三叉矛,并指向要探知的方向以获得相关信息。扫描680英尺的半球范围需要1轮。除此之外,武器为一把+2三叉矛。

中等预言系灵光;CL7;制造魔法武器和防具,生物定位术(locate creature);价格10115金币;制造花费5057金币5银币+405经验值。
!!!拌摔(TRIP)

你可以尝试用一次徒手近战攻击来绊摔对手。你只能绊摔体型比你大一级、体型和你相同或是更小的目标。

''进行绊摔攻击:''对你的目标进行一次徒手近战接触攻击。和正常的徒手攻击一样,这会引发目标的一次借机攻击。

如果你攻击成功,那么进行一次力量检定来对抗防御者的敏捷检定或是力量检定(采用调整值更高的那个属性)。对抗者每比中型大一级,就可以在检定时得到+4的加值,而每比中型小一级,则会受到-4的减值。如果防御者有2条以上的腿,或是有其它可以用来稳住身体的依靠使其比一般的类人生物站得更稳,那么就可以在检定上得到+4的加值。如果你胜出,你就可以成功绊摔防御者。如果你失败了,防御者则可以立即作出反击,用他的力量检定来对抗你的敏捷或是力量检定以反过来对你进行绊摔。

//避免借机攻击://如果你有“精通绊摔”专长,或者你是使用武器来进行绊摔(参阅下文),那么你在作出绊摔攻击时就不会引发借机攻击。

''遭到绊摔(倒地):''被绊摔的人物会倒在地上。从地上站起来是一个移动动作。

''绊摔乘骑中的对手:''你可以对乘骑中的对手进行一次绊摔攻击。防御者可以用骑术检定来代替他的敏捷或是力量检定。如果你成功了,就可以将骑手从他的坐骑上拉下来。

''使用武器绊摔:''某些武器可以用来进行绊摔攻击。在这种情况下,你就可以使用该武器来进行近战接触攻击来取代徒手近战接触攻击,而且也不会引发借机攻击。

如果你自己在进行绊摔尝试的时候反遭对方的绊摔,你可以丢弃该武器以避免遭到对方的绊摔。
!!Triton(梭螺鱼人)

''中型异界生物 (本地,水系)''

|''生命骰:'' 3d8+3(16hp)|
|''先攻权:'' +0|
|''速度:'' 5尺(1格),游泳40尺|
|''防御等级:'' 16(+6天生),接触10,措手不及16|
|''基本攻击/擒抱:'' +3/+4|
|''攻击:'' 三叉矛+4近战(1d8+1),或重弩+3远程(1d10/19-20)|
|''全回合攻击:'' 三叉矛+4近战(1d8+1),或重弩+3远程(1d10/19-20)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 类法术能力|
|''特性:'' 黑暗视觉60尺|
|''豁免:'' 强韧+4,反射+3,意志+4|
|''属性:'' 力量12,敏捷10,体质12,智力13,感知13,魅力11|
|''技能:'' 手艺(任意1种)+7,交涉+2,躲藏+6,聆听+7,潜行+6,骑术+6,搜索+7,察言观色+7,侦察+7,生存+7(+9追踪),游泳+9|
|''专长:'' 骑乘战斗,快速骑乘攻击|
|''环境:'' 温带水域|
|''组织:'' 成队(2-5),成群(6-11),或一大群(20-80)|
|''挑战等级:'' 2|
|''宝物:'' 标准|
|''阵营:'' 通常是中立善良|
|''进化:'' 4-9HD(中型)|
|''等级调整:'' +2|


梭螺鱼人有银色的肌肤,下半身颜色则逐渐加深,变成银蓝色的鳞片。梭螺鱼人的发色为深蓝色或蓝绿色。

梭螺鱼人的体型和体重与人类基本相同。

梭螺鱼人会说通用语和水族语。

!!!战斗
生性孤僻的梭螺鱼人倾向于避免战斗,但是在保卫家园时会变得十分勇猛。它们会视具体情况而采取近战或远程武器进行战斗。如果在其巢穴外遭遇到梭螺鱼人的话,它们有90%的几率会骑乘着友善的海洋生物,比如海豚。

''类法术能力:''施法等级7。梭螺鱼人通常会选择水元素来作为战斗伙伴。

|每天1次 - 四级自然盟友召唤术。|

''技能:''在进行游泳检定来做出特殊动作或躲避危险时,梭螺鱼人可获得+8的种族加值。它可在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。
!!Troglodyte(战蜥人)

''中型类人生物 (爬虫)''

|''生命骰:'' 2d8+4(13hp)|
|''先攻权:'' -1|
|''速度:'' 30尺(6格)|
|''防御等级:'' 15(-1敏捷,+6天生),接触9,措手不及15|
|''基本攻击/擒抱:'' +1/+1|
|''攻击:'' 木棒+1近战(1d6),或爪抓+1近战(1d4),或标枪+1远程(1d6)|
|''全回合攻击:'' 木棒+1近战(1d6)及爪抓-1近战(1d4)及啮咬-1近战(1d4);或2爪抓+1近战(1d4)及啮咬-1近战(1d4);或标枪+1远程(1d6)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 散发恶臭|
|''特性:'' 黑暗视觉90尺|
|''豁免:'' 强韧+5,反射-1,意志+0|
|''属性:'' 力量10,敏捷9,体质14,智力8,感知10,魅力10|
|''技能:'' 躲藏+5*,聆听+3|
|''专长:'' 多重攻击,专攻武器(标枪)|
|''环境:'' 地底|
|''组织:'' 成队(2-5),成群(6-11外加1-2巨蜥蜴),或一大群(20-80外加20%非战斗人员以及3-13巨蜥蜴)|
|''挑战等级:'' 1|
|''宝物:'' 50%钱币,50%工艺品,50%物品|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 视人物职业而定|
|''等级调整:'' +2|


战蜥人站立约5尺高,重约150磅。

战蜥人会说龙语。

!!!战斗
一队战蜥人中的一半仅依靠爪和牙攻击;其他的则装备有一或两支标枪和木棒。它们通常会隐藏自己,待机向目标投出密集的标枪,然后展开近战。如果战况对它们不利的话,就会退却并躲藏起来。

''散发恶臭 (Ex):''当战蜥人生气或害怕时,它会分泌出一种油性的、类似于麝素的化学物质,使几乎所有的动物类生物都感到恶心。处于战蜥人30尺范围内的所有活着的生物 (除了战蜥人之外)都必须通过一个DC 13的强韧豁免检定否则会恶心10轮。该豁免检定DC基于体质调整值。成功通过豁免检定的生物在24小时内不会再受同一战蜥人的恶臭所影响。减缓毒发或中和毒素法术可以从受影响的生物身上移除此效果。对毒素免疫的生物不受此效果影响,对毒素有抗力的生物在进行豁免检定时使用其正常加值。

''技能:''战蜥人的皮肤会变色,可以像变色龙一样混入周围环境中,使得它在进行躲藏检定时可获得+4的种族加值。*处于岩石或地底区域时,此加值可提升为+8。

!!!扮演战蜥人人物
战蜥人人物角色拥有以下种族特性。

*-2敏捷,+4体质,-2智力。
*中型体型。
*战蜥人的基本陆地速度为30尺。
*黑暗视觉90尺。
*种族生命骰:战蜥人拥有2个类人生物等级,这使它拥有2d8的生命骰,+1的基本攻击加值,以及强韧+3、反射+0、意志+0的基本豁免加值。
*种族技能:战蜥人的类人生物等级使它拥有等于5 x (2 + 智力调整值,最少为1)的技能点数。它的本职技能为躲藏和聆听。在进行躲藏检定时战蜥人可获得+4的种族加值 (处于岩石或地底区域时为+8)。
*种族专长:战蜥人的类人生物等级使它拥有一项专长。战蜥人可获得多重攻击专长作为其奖励专长。
*+6的天生防御加值。
*天生武器:2 爪抓 (1d4)和啮咬 (1d4)。
*特殊攻击 (见上):散发恶臭。
*天生使用语言:龙语。额外语言:通用语,巨人语,地精语,兽人语。
*天赋职业:牧师。
*等级调整+2。
|!		|!	巨魔 (Troll)	|!	巨魔猎手,6级巡林客 (Troll Hunter, 6th-Level Ranger)	|
|!		|!	大型巨人	|!	大型巨人	|
|^	''生命骰:''	|^	6d8+36(63hp)	|^	6d8+6d8+72(130hp)	|
|^	''先攻权:''	|^	+2	|^	+1	|
|^	''速度:''	|^	30尺(6格)	|^	30尺(6格)	|
|^	''防御等级:''	|^	16(-1体型,+2敏捷,+5天生);接触11,措手不及14	|^	21(-1体型,+1敏捷,+6天生,+5+1链甲杉),接触10,措手不及20	|
|^	''基本攻击/擒抱:''	|^	+4/+14	|^	+10/+21	|
|^	''攻击:''	|^	爪抓+9近战(1d6+6)	|^	爪抓+16近战(1d6+7),或+1战斧+17近战(2d6+8/*3)或标枪+10远程(1d8+7)	|
|^	''全回合攻击:''	|^	2爪抓+9近战(1d6+6)和啮咬+4近战(1d6+3)	|^	2爪抓+16近战(1d6+7)以及啮咬+11近战(1d6+3);或+1战斧+17/+12近战(2d6+8/*3)以及啮咬+11近战(1d6+3);或标枪+10远程(1d8+7)	|
|^	''面宽/触及:''	|^	10尺/10尺	|^	10尺/10尺	|
|^	''特殊攻击:''	|^	撕扯2d6+9	|^	撕扯2d6+10,法术	|
|^	''特性:''	|^	黑暗视觉90尺,昏暗视觉,再生5,嗅觉灵敏	|^	黑暗视觉90尺,宿敌:精灵(+4),宿敌:人类(+2),昏暗视觉,再生5,嗅觉灵敏,荒野认同	|
|^	''豁免检定:''	|^	强韧+11,反射+4,意志+3	|^	强韧+16,反射+8,意志+8	|
|^	''属性:''	|^	力量23,敏捷14,体质23,智力6,感知9,魅力6	|^	力量25,敏捷12,体质22,智力10,感知15,魅力10	|
|^	''技能:''	|^	聆听+5,侦察+6	|^	知识(自然)+6,知识(地下城)+6,聆听+13,无声移动+9,搜索+6,侦察+13,生存+11(在地底或者追踪时+13)	|
|^	''专长:''	|^	警觉,钢铁意志,追踪	|^	警觉,顺势斩,坚韧(奖励),增强天生防御,精通双武器攻击(奖励),钢铁意志,猛力攻击,追踪(奖励),双武器攻击(奖励)	|
|^	''环境:''	|^	寒冷山脉(水生亚种:寒冷水域)	|^	寒冷丘陵	|
|^	''组织:''	|^	单独或者成队(2-4)	|^	单独	|
|^	''挑战等级:''	|^	4	|^	11	|
|^	''宝物:''	|^	标准	|^	标准	|
|^	''阵营:''	|^	通常混乱邪恶	|^	通常混乱邪恶	|
|^	''进化:''	|^	视人物职业而定	|^	视人物职业而定	|
|^	''等级调整:''	|^	+5	|^	+5	|


巨魔直立行走,但是它们的肩膀却总是朝前垂下。巨魔走起路来总是东倒西歪,当奔跑的时候,它们的手臂会垂到地面附近晃荡,虽然看上去十分笨拙,其实巨魔们非常的敏捷。

通常巨魔有9尺高并且重达500磅,雌性巨魔要稍微比雄性更大一些,巨魔身上的硬皮一般是青苔般的绿色,绿色灰色相间或者是腐烂的灰色,它们的毛发一般是墨绿或者铁灰色。

!!!战斗

巨魔完全不怕死,它们会毫不犹豫的投入到近战当中,然后锤打最靠近它们的对手。就算是面对火焰,他们也会尝试绕开发动攻击。

''撕扯(EX):''如果巨魔两次爪抓攻击都命中目标,它就会抓住对手的身体并开始把血肉撕裂。这将自动造成2d6+9的伤害。

''再生(EX):''火焰和强酸可以对巨魔造成正常伤害,如果巨魔失去一段肢体或身体部分,那些部分将在3d6分钟内长出来,它也可以将断裂的部分按在伤口上来瞬间接好.


!!!水生巨魔(SCRAG)

这些巨魔是它们陆地表亲的水生亚种。它们居住在所有可能的水生环境中(前面又说是寒冷….),陆行速度为20尺,游泳速度为30尺。水生巨魔的再生能力仅仅在它们大部分躯体浸入水中时生效.


!!!巨魔猎手
有些比大多数的同族更狡诈的巨魔,并不仅仅满足于将文明社会的居民当成食物,这些屠杀和吞噬类人生物猎物的恐怖巡林客被称为巨魔猎手.

!!!!战斗
巨魔猎手将会使用它们的嗅觉灵敏能力在追踪它们的宿敌上,它们更倾向于在黑暗中猎杀对手.巨魔猎手会使用以下这些法术来保护自己,防止一些特定种类的元素伤害和限制它们的敌人.

典型巨魔猎手法术准备(2;豁免DC12+法术等级):

|1级法术:纠缠术,能量抗力.|

!!!巨魔人物
巨魔人物具有以下种族特性

*+12力量,+4敏捷,+12体质,-4智力(最小3),-2感知,-4魅力
*大型生物 -1 护甲等级,-1攻击检定,-4躲藏检定,+4擒抱检定,负重能力为中等生物的两倍。
*占据/ 触及 10尺/10尺。
*巨魔的陆地基本速度为30尺。
*黑暗视觉60尺以及昏暗视觉。(还是老问题…上面不是90尺么..)
*种族生命骰:巨魔拥有6个巨人等级,他有6d8的生命骰,基本攻击加值为+4,并且基本豁免为强韧+5,反射+2和意志+2。 
*种族技能:巨魔的巨人等级提供了9*(2+智力调整,最少1)的技能点数,它的本职技能是聆听和侦察。
*种族专长:巨魔有三个专长
*天生武器:爪抓(1d6)和啮咬(1d6)
*+5天生防御等级
*特殊攻击(见上):撕扯:巨魔的撕扯可以造成2d6加上1.5倍力量调整值的伤害.
*特殊能力:再生5,嗅觉灵敏
*天生使用语言:巨人语。额外语言:通用语,兽人语。
*天赋职业:战士
*等级调整 +5
!!!完全复生术(True Resurrection)
|咒法系(医疗)|
|''等级:''牧师9|
|''施法时间:''10分钟|
|和死者复活(raise dead)一样,但你可复活死亡时间不超过每施法者等级10年的生物。本法术甚至可以复活尸体已经毁坏的生物,只要你可以明确指认死者(最常用的方法是指出死者的出生或死亡时间地点)。|
|法术完成后,该生物的生命值恢复到最大,健康而充满活力,不会降低等级(或体质),也不会失去已准备好的法术。|
|你可以复活因死亡效应而死的生物,或是被变成不死生物后被摧毁的生物。本法术可以复活元素生物和异界生物,但不可以复活构造生物和不死生物。|
|即便是完全复生术也不可以复活因年迈而自然死亡的生物。|
|//材料成分://喷洒的圣水,和总价至少25,000金币的钻石。|
!!!真知术(True Seeing)
|预言系|
|''等级:''牧师5,德鲁伊7,知识5,术士/法师6|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''被接触的生物|
|''持续时间:''1分钟/等级|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可(无害)|
|你赋予受术者以看到事物真实面目的能力。受术者可以看穿普通和魔法的黑暗,注意到被魔法隐藏的暗门,看到受朦胧术(blur)或移位术(displacement)影响的物体的真实位置,看到隐形的生物或物体,看穿幻术,看出变形者的真实样貌。受术者可以看到灵界位面(但看不到异次元空间)。真知术可看穿的距离为120英尺。|
|然而,真知术并不能透视固体。它不能起到X光的效果。它无法看穿隐蔽,包括雾或类似情况造成的。它也不能侦察到躲藏起来的生物或注意到以普通方法隐藏的密门。此法术效果不能为其他魔法增强,所以不能透过水晶球(crystal ball)使用真知术,也不能和锐耳术/鹰眼术(clairaudience/clairvoyance)合并使用。|
|//材料成分://价值250金币,由蘑菇粉,藏红花和油脂制成的眼药膏。|
!!!克敌机先(True Strike)
|预言系|
|''等级:''术士/法师1|
|''法术成分:''言语,器材|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''自己|
|''持续时间:''见下文|
|你暂时获得敏锐的洞察力,可以看出下回合攻击的时机。你的下一次攻击检定(必须在下一轮结束前)获得+20的洞察加值。除此之外,即便对手有隐蔽,你也不会有失手几率。|
|//器材://小型木制的箭靶复制品。|
!! Tumble(翻滚)(敏捷;需受训;防具检定减值)

如果你的速度被盔甲、过多的装备或物品所降低时,你将不能使用该技能。

''检定:''你可以在跌落时软着陆,或者翻滚过一个对手。你也可以用翻滚技能来取悦观众(如同使用表演技能)。不同任务的翻滚技能DC在下表中给出。

|!	翻滚DC 	|!	任务	|
|^	15 	|^	当计算跌落伤害的时候按照比实际跌落点低10尺的地方跌落计算。	|
|^	15 	|^	在正常的移动中以半速翻滚,这样做不会导致借机攻击。失败意味着你和正常一样受到了借机攻击。针对每个你要越过的敌人都要做一次独立的检定,按照你越过的顺序来决定检定顺序(如果相同则根据玩家的选择来决定顺序)。 第一个敌人后每增加一个敌人都会使翻滚增加2。	|
|^	25 	|^	在正常的移动中以半速翻滚穿过被敌人占据的区域(从敌人的上面、下面、或者身边穿过),不会导致借机攻击。失败意味着你停留在进入敌人占据区域之前的位置上,并会遭到该敌人的借机攻击。 针对所有敌人都要做一次独立的检定。第一个敌人后每增加一个敌人都会使翻滚增加2。	|

有妨碍或者不牢靠的地表,例如天然洞穴地面或者灌木丛,都会阻碍翻滚通过。在翻滚进入这样的一个方格时翻滚检定DC会按照下面的情况进行修正。

|!	地表的情况 	|!	DC修正 	|
|^	轻度妨碍(碎石,少量瓦砾,浅泥塘^^1^^,灌木丛) 	|^	+2	|
|^	重度妨碍(天然洞穴地面,大量瓦砾,稠密的灌木丛) 	|^	+5	|
|^	轻度湿滑(湿的地板) 	|^	+2	|
|^	重度湿滑(冰原) 	|^	+5	|
|^	倾斜或者有斜角 	|^	+2	|
|^	1 //在深泥塘里不可能翻滚。//	|<|




 

//快速翻滚://你可以尝试以比正常快的速度来越过或穿过敌人。如果在你翻滚检定上应用-10减值,你就可以以全速来代替半速。

''动作:''不应用这个概念。翻滚是移动的一部分,因此翻滚检定是移动动作的一个部分。

''重试:''通常不可。一旦一个观众认定翻滚者是个无趣的表演者,他不会轻易接受重复的表演。

在你跌落的时候你能以即时的反应做一次翻滚来降低跌落伤害,每次跌落只能做一次翻滚检定。

''特别:''如果你在翻滚上级数达到5或更高,你在防御式战斗的时候AC将获得+3闪避加值,而不是原来的+2闪避加值。

如果你在翻滚上级数达到5或更高,你在采用全防御这个标准动作的时候AC将得到+6闪避加值,而不是原来的+4闪避加值。

如果你有杂技演员专长(Acrobatic),你在翻滚检定上有+2加值

''共效:''如果你在翻滚上级数达到5或者更高,在平衡和跳跃检定上都将获得+2加值。

如果你在跳跃上级数达到5或者更高,在翻滚检定上都将获得+2加值。

!!!驱散或斥喝不死生物(TURN OR REBUKE UNDEAD)

善良阵营的牧师和圣武士以及一部分中立阵营的牧师可以引导正能量,这种能量可以定住、驱逐(击退)、或是摧毁不死生物。

邪恶阵营的牧师和一部分中立阵营的牧师可以引导负能量,这种能量可以定住、威慑(斥喝)、控制(命令)、或是鼓舞不死生物。

无论是造成哪一种效果,这种战斗动作都统称为“驱散(Turning)”。在尝试对这类生物行使自身的神授控制权时,人物就必须进行驱散检定。

 

!!!!驱散检定

驱散不死生物是一种超自然能力,人物可以通过一个标准动作来施展它。进行驱散不会引发借机攻击。

在驱散不死生物的时候,你必须展示你的圣徽。进行驱散视为一种攻击。

''每日驱散次数:''你每日可以进行驱散的次数等于3+你的魅力调整值。你可以通过选取“额外驱散”专长来增加自己的每日驱散次数。

''驱散距离:''在进行驱散时,你必须先从最靠近你并且可以被你驱散的不死生物开始,而且你无法对距离你60英尺以上,或是对你而言全部掩蔽的不死生物进行驱散。你和目标之间不需要有视线相连,但是你们之间还是需要有效果线相连。

''驱散检定(Turning Check):''首先,你必须投一次驱散检定,以决定你能够驱散到多强大的不死生物。这是一次魅力检定(1d20+你的魅力调整值)。“表:驱散不死生物”为你提供了你所能影响到的最强大的不死生物的生命骰(HD)数,该值和你的等级相关。在这次驱散尝试中,你无法驱散那些HD值超过根据该表所算得数值的不死生物。

''驱散伤害(Turning Damage):''如果你投骰后根据“表:驱散不死生物”所算得的数值足够使你驱散至少一部分距离你60英尺以内的不死生物,那么就投2d6+你的牧师等级+你的魅力调整值来决定驱散伤害。所得结果即是你所能驱散的不死生物的HD总值上限。

如果你的魅力属性只有平均水平或是更低,那么你所得到的驱散伤害值就有可能会低于从“表:驱散不死生物”中得到的不死生物HD值。

你可以跳过驱散距离内那些已经被驱散过的不死生物,不需要再在它们身上浪费你的驱散能量。

''驱散效果与持续时间:''被驱散的不死生物会以它们所能使用的最好同时也是最快的方式从你面前逃离。它们会持续逃跑10轮(1分钟)。如果它们无法逃跑,就会处于畏缩状态(使得任何对它们的攻击都可以得到+2加值)。不过,如果你逼近它们身边10英尺的范围内,它们就会克服驱散效果,并能正常行动。(你可以站在它们身周10英尺的范围以内,这样并不会破坏驱散效果——你只是不能去逼近它们。)你可以对它们进行远程攻击(至少要从10英尺以外),而其他人则可以用任意方式来攻击它们而不破坏驱散效果。

''摧毁不死生物:''如果你的等级是目标不死生物HD值的2倍(或是更多),那么你就会直接摧毁你平时只能施以驱散效果的不死生物。

 

''表:驱散不死生物 ''

|!	驱散检定结果	|!	所能影响到的最强大的不死生物(最高HD值)	|
|^	0或更低	|^	牧师等级 – 4	|
|^	1–3	|^	牧师等级 – 3	|
|^	4–6	|^	牧师等级 – 2	|
|^	7–9	|^	牧师等级 – 1	|
|^	10–12	|^	牧师等级	|
|^	13–15	|^	牧师等级 + 1	|
|^	16–18	|^	牧师等级 + 2	|
|^	19–21	|^	牧师等级 + 3	|
|^	22或更高	|^	牧师等级 + 4	|


!!!!邪恶阵营的牧师和不死生物

邪恶阵营的牧师可以引导负能量来斥喝(rebuke)(威慑)或是命令(command)(控制)不死生物,而非引导正能量来驱散或是毁灭它们。邪恶牧师进行步骤完全相同的驱散检定。而原本会受到驱散效果的不死生物则转而受到斥喝效果,那些会被摧毁的不死生物则转而处于被命令状态。

''斥喝:''遭到斥喝的不死生物会处于畏缩状态,就如同受到了威慑一样(使得任何对它们的攻击检定都可以得到+2加值)。这种效果可以持续长达10轮。

''命令:''处于被命令状态下的不死生物会受到邪恶牧师的心灵控制。该牧师必须通过一个标准动作来对处于被命令状态下的不死生物发号心灵指令。在任何时候,该牧师都可以同时控制住HD总数不超过其等级的不死生物,无论有多少只。为了对新的不死生物进行控制,他可以自愿放弃对任何已处于受控状态下的单个或多个不死生物的控制。

''解除驱散:''邪恶阵营的牧师可以引导负能量来解除善良阵营牧师的驱散效果。邪恶阵营的牧师要进行一次驱散检定,就像他平时尝试斥喝不死生物时一样。如果该驱散检定的结果等于或是大于善良阵营的牧师当时在驱散不死生物时所得到的驱散检定结果,那么相应的不死生物就不再处于被驱散的状态了。邪恶阵营的牧师必须投驱散伤害检定:2d6+牧师等级+魅力调整值来决定他用这种方式能影响总共多少HD的不死生物(就像他在进行斥喝时一样)。

''鼓舞不死生物:''邪恶阵营的牧师可以预先对不死生物进行鼓舞,以对抗敌人的驱散。在鼓舞不死生物时,他必须进行一次驱散检定,就像在进行斥喝时一样,但是检定后对照“表:驱散不死生物”所算出来的HD值将成为被鼓舞对象遭到驱散时的实效性HD值(如果算出来的HD值大于被鼓舞对象的实际HD值的话)。这种鼓舞效果可以持续长达10轮。邪恶阵营的不死生物牧师可以用这种方式来鼓舞自己。

 

!!!!中立阵营的牧师和不死生物

中立阵营的牧师要么能驱散但不能斥喝不死生物,要么能斥喝但不能驱散不死生物。请参阅牧师的“驱散或斥喝不死生物”一节以获取更多有关信息。

即使牧师本身是属于中立阵营的,但引导正能量总是属于善良的行为,而引导负能量则总是属于邪恶的行为。

 

!!!!圣武士和不死生物

从第4级开始,圣武士也可以得到驱散不死生物的能力,在使用该能力时,就视为他们是比自身的实际等级低3级的牧师。

 

!!!!驱散其它生物

某些牧师有能力来驱散除不死生物以外的其它生物。

其驱散检定也是按上述的方式来决定其驱散结果。
''驱散抗力(Turn Resistance,特异能力):''具有此特性的生物(通常为不死生物)比较不容易被牧师或圣武士影响。在进行驱散(turn)、斥喝(rebuke)、命令(command)或鼓舞(bolster)的尝试时,要将说明中的此数目计入生物的总HD当中。

 

''驱散(Turned):''受到驱散亡灵效果的影响。被驱散的不死生物会用其最好最快的方法逃离10轮(1分钟)。如果无法逃离,则处于畏缩状态。

 
!!! 双武器防御(TWO-WEAPON DEFENSE)[一般专长]

''先决条件:''敏捷15、双武器攻击。

''效果:''当舞动一把双头武器或两把武器(不包括天生武器或徒手击打)时,你的防御等级获得+1盾牌加值。

当你进行防御式战斗或做全防动作时,该盾牌加值增加为+2。

''特殊:''战士可以选择本专长作为战士的奖励专长。

!!! 双武器攻击(TWO-WEAPON FIGHTING)[一般专长]

你可以两手各持一把武器战斗。你每轮可以用第二把武器作一次额外攻击。

''先决条件:''敏捷15。

''效果:''你用两把武器作战而遭受的减值将减低。你主手的减值减少2,而副手的减值减少6。

''正常:''若你的副手也使用一把武器,你每轮可用该武器作一次额外攻击。此时你主手的常规攻击将有-6减值而副手的攻击将有-10减值。如果你副手用的是轻型武器,则每只手的攻击检定减值各减少2(徒手击打永远视为轻型武器)。

''特殊:''选择了双武器战斗流派的2级巡林客在穿着轻甲或不穿甲时视为具有本专长,即使他不具备先决条件。

战士可以选择本专长作为战士的奖励专长。
!!!双武器战斗(TWO-WEAPON FIGHTING)

如果你在副手上持有另一把武器,你每轮就可以用这把武器来进行一次额外的攻击。以这种方式进行战斗时,你通常的攻击方式或是主手的攻击就会受到-6的减值,而你副手的攻击则会受到-10的减值。你可以用两种方法来减轻这些减值:

·如果你的副手武器是轻型武器,则上述的两个减值都可以少减2。(徒手攻击视为轻型武器)

·“双武器战斗”专长可以使主手的减值少减2,并使副手的减值少减6。

“表:双武器战斗减值”归纳了所有这些因素组合作用时的效果:

 

''表:双武器战斗减值''

|!	情况	|!	主手	|!	副手	|
|^	正常减值	|^	–6	|^	–10	|
|^	副手持用轻型武器	|^	–4	|^	–8	|
|^	有“双武器战斗”专长	|^	–4	|^	–4	|
|^	副手持用轻型武器并且有“双武器战斗”专长	|^	–2	|^	–2	|


''双头武器:''你可以使用双头武器副手端所在的那一头进行一次额外攻击,就像你在使用两把武器战斗时一样。计算减值时,把副手端所在的那一头视为一把轻型武器。

''投掷类武器:''当你的双手都在投掷武器时候,上述规则也同样适用。以这种方式来使用投掷类武器时,将飞镖和手里剑视为轻型武器,而将套牛索(Bola)、标枪、捕网、以及投石索视为单手型武器。
''昏迷(Unconscious):''生物被击倒并陷入无助状态。若人物当前生命值在-1到-9之间,或非致命伤害超过其当前生命值,则该人物陷入昏迷。
''操灵:''具有此能力的盔甲或盾牌,其穿戴者每天能控制26HD的不死生物,效果等同于操控死灵(Control Undead)。每天的拂晓时,穿戴者失去对仍被控制的不死生物的操纵。具有此能力的盔甲或盾牌上雕刻着骨头形状的装饰;这只是一种装饰,对防具本身无其他影响。

强烈死灵系灵光;CL13;制造魔法武器和防具,操控死灵(Control Undead);价格+49000金币。
''不死生物类(Undead):''它们曾经是生物,但在死去以后被精神或超自然力量活化了,成为了不死生物。


//特征://不死生物具有下列特征。

*d12生命骰。
*基本攻击奖励等于1/2生命骰数总和(类似于法师)。
*擅长的豁免检定:意志。
*技能点数等于每个生命骰(4+智力调整值,最少为1),第一个生命骰的技能点数为它的四倍,前提是此不死生物有智力属性。但是,很多不死生物没有心智,也无法获得技能和专长。

//特性://不死生物拥有下列特性(除非生物描述中另有说明)。

*没有体质属性。
*60尺黑暗视觉。
*对所有影响心灵(mind*affecting)的效果免疫(魅惑[charm]、胁迫[compulsion]、魅影幻觉[phantasm]、心灵幻觉[pattern]、以及士气效果[morale effect])。
*对毒素、睡眠、麻痹、震慑、疾病和死亡效果免疫。
*不受重击、非致命伤害、属性吸取、能量吸取的影响。免疫对它身体属性(力量、敏捷、体质)造成的伤害,同时免疫疲劳和力竭的效果。
*若没有智力属性则无法自己医治伤害,但可以被治疗。负能量(比如制造伤害法术)可以治疗不死生物。快速痊愈特性不管是否具有智力属性都一样运作。
*对任何需要强韧豁免的效果免疫(除非此效果同样对物体有效,或无害)。
*在进行专注检定时用它的魅力调整值。
*不会因巨创而死亡。在生命值减为0或更低的时候便立即被摧毁。
*不受死者复生术(raise dead)和转生术(reincarnate)的法术或类法术能力影响。复活术(resurrection)和完全复活术(true resurrection)能影响不死生物。它们会将不死生物变回它们在变为不死生物之前的活物。
*熟练使用任何和它描述中所穿戴盔甲同类的盔甲(轻、中或重甲),以及比该盔甲轻的盔甲。说明中没有提到穿戴盔甲的不死生物不能熟练使用盔甲。熟练使用任一盔甲的不死生物可以熟练使用盾牌。
*不死生物不需要呼吸、进食或睡眠。

!!!亡灵归亡(Undeath To Death)
|死灵系|
|''等级:''牧师6,术士/法师6|
|''法术成分:''言语,姿势,材料/法器|
|''区域:''40英尺半径爆发范围内的不死生物|
|''豁免:''意志,通过则无效|
|此法术作用类似死亡法阵(circle of death),但本法术如上述提到的一样摧毁不死生物。|
|//材料成分://价值至少500金币的钻石粉末。|
!!!隐匿阵营(Undetectable Alignment)
|防护系|
|''等级:''吟游诗人1,牧师2,圣武士2|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''区域:''近距(25英尺+5英尺/2等级)|
|''目标:''一个生物或物体|
|''持续时间:''24小时|
|''豁免:''意志,通过则无效|
|''法术抗力:''可|
|隐匿阵营可以完全隐藏受术生物或物体的阵营,不受任何预言系效果的影响。|
''Unguent of Timelessness(防腐软膏)'': 涂在任何已死的生命遗骸上(包括皮革、树叶、纸、树木、死尸等),可以减缓时间的影响,一年的时间对于被涂抹的物体只相当于一天。涂覆物体的所有豁免检定有+1抗力加值。此油永远不会挥发,但可以用魔法去除(例如解除其效果)。一扁瓶“防腐油”可涂满8个中型物体表面或相等面积,一个大体形物体相当于2个中体形,而一个超大体型物体相当于2个大体型。

施法者等级:3。先决条件:“制造奇物”。交易价格:150金币。
!!!邪居(Unhallow)
|塑能系[邪恶]|
|''等级:''牧师5,德鲁伊5|
|''法术成分:''言语,姿势,材料|
|''施法时间:''24小时|
|''区域:''接触|
|''影响区域:''一接触点为中心,半径40英尺的弥漫范围|
|''持续时间:''见下文|
|''豁免:''见下文|
|''法术抗力:''可|
|邪居会使得一个地点、居所或建筑物成为邪恶之地。这会产生三种功效。|
|第一,该地点或建筑受到反善良法阵(magic circle against good)保护。|
|第二,所有驱散不死生物的驱散检定受到-4的减值,而斥喝不死生物的驱散检定有+4的亵渎加值。法术抗力对此效果无效。(若作为德鲁伊法术则无此效果。)|
|最后,你能够在邪居中固定一个法术效果。不管该法术正常持续时间和范围如何,被恒定后都将持续一年,并作用于整个邪居范围内。你可以指定决定该法术是作用于全体生物,或是和你具有相同阵营或信仰的生物,或是忠于另一阵营或信仰的生物。一年后,你所固定的效果消失,但只用在该处再次施展邪居即可更新或重置该效果。|
|可以在邪居内固定的法术包括援助术(aid),绝望术(bane),祝福(bless),惊恐术(cause fear),黑暗术(darkness),昼明术(daylight),防死结界(death ward),深幽黑暗术(deeper darkness),侦测邪恶(detect evil),侦测魔法(detect magic),侦测善良(detect good),次元锚(dimensional anchor),识破谎言(discern lies),解除魔法(dispel magic),忍受环境(endure elements),行动自如(freedom of movement),消除隐形(invisibility purge),防护能量伤害(protection from energy),移除恐惧(remove fear),抵抗能量伤害(resist energy),沉默术(silence),巧言术(tongues)与诚实之域(zone of truth)。豁免检定与 法术抗力会对这些效果起作用(详见各法术说明)。|
|在一个区域,一次只能施展一个邪居(及其驻留的法术效果)。|
|邪居可以反制,但不能解除圣居(hallow)。|
|//材料成分://草药、香油与熏香,价值至少1,000金币,如果固定法术,还需要加上被固定法术每法术等级1,000金币。|
!!!邪恶灵光(Unholy Aura)
|防护系[邪恶]|
|''等级:''牧师8,邪恶8|
|''法术成分:''言语,姿势,器材|
|''施法时间:''1个标准动作|
|''区域:''20英尺|
|''目标:''以你为中心半径20英尺爆发范围内的每等级一个生物|
|''豁免:''见下文|
|''法术抗力:''可(无害)|
|一股恶毒的黑暗围绕着受术者,让他们在受到攻击时能获得保护,在受到善良生物的法术时获得抵抗能力,同时削弱击中受术者的善良生物。此防护有四种效果。|
|第一,每个被保护的生物AC获+4的偏斜加值,豁免检定或+4的抗力加值。与防护善良(protection from good)不同,此效果对所有攻击都有效,而非只针对善良生物。|
|第二,一个被保护的生物对善良生物的施法以及善良法术获得25的法术抗力。|
|第三,此法书可阻挡心灵影响或附身法术,如同防护善良(protection from good)一样。|
|最后,若善良生物通过近战攻击检定击中被防护生物,攻击者将受到1d6点暂时力量伤害(强韧,通过则无效)|
|//器材://装有圣物(例如一张写有邪恶文字的羊皮纸)的微型圣物盒,圣物盒价值至少500金币。|
!!!邪影击(Unholy Blight)
|塑能系[邪恶]|
|''等级:''邪恶4 |
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/等级)|
|''影响区域:''20英尺半径的扩散区域|
|''持续时间:''立即|
|''豁免:''意志,通过则部分生效|
|''法术抗力:''可|
|你召唤邪力以重击敌人。这股力量以阴冷而令人反胃的油腻毒气形式出现。|
|只有善良和中立(非邪恶)的生物会受到法术伤害。|
|此法术对善良生物造成每两施法者等级1d8的伤害(最多5d8)(对善良的异界生物造成1d6每施法者等级的伤害,最多10d6),并使其恶心(sickened)1d4轮。通过意志豁免则伤害减半且不会恶心。该效果不会被移除疾病(remove disease)或医疗术(heal)移除,但移除诅咒(remove curse)是有效的。|
|本法术对既非邪恶也非善良的生物只造成一半的伤害,且他们不会恶心。通过意志豁免,他们可将伤害再减半(即降到原来的四分之一)。|
''Unholy(邪恶):''
邪恶武器属于邪恶阵营,充满了强大的邪恶之力,并因此获得相应的伤害减免。攻击善良阵营的生物时,武器能造成2d6点额外伤害。任何企图使用此武器的善良阵营生物会遭受一个负向等级。只要武器在手中,负向等级就一直存在,除非把武器扔掉。这个负向等级并没有造成真正的等级降低,但是只要武器在手中,负向等级便不能以任何方式移除(包括复原术(restoration))。弓、弩和投石索会自动给予其发射的弹药邪恶的力量。

中等塑能系灵光[邪恶阵营];CL7;制造魔法武器和防具,邪影击(unholy blight);价格+2加值。
|!		|!	独角兽UNICORN	|!	天界突击者,7级牧师Celestial Charger, 7th-Level Cleric	|
|!		|!	大型魔法兽	|!	大型魔法兽	|
|^	''生命骰:''	|^	4d10+20(42hp)	|^	8d10+7d8+75(155hp)	|
|^	''先攻权:''	|^	+3	|^	+4	|
|^	''速度:''	|^	60尺(12格)	|^	60尺(12格)	|
|^	''防御等级:''	|^	18(-1体型,+3敏捷,+6天生)接触12,措手不及15	|^	18(-1体型,+4敏捷,+6天生,+5防御护腕+5)接触13,措手不及20	|
|^	''基本攻击/擒抱:''	|^	+4/+13	|^	+13/+24	|
|^	''攻击:''	|^	角顶+11近战(1d8+8)	|^	角顶+22近战(1d8+10)	|
|^	''全回合攻击:''	|^	角顶+11近战(1d8+8)和2蹄击+3近战(1d4+2)	|^	角顶+22近战(1d8+10)和2蹄击+14近战(1d4+3)	|
|^	''面宽/触及:''	|^	10尺/5尺	|^	10尺/5尺	|
|^	''特殊攻击:''	|^	-	|^	超度亡灵13/天,破邪斩,法术	|
|^	''特性:''	|^	黑暗视觉60尺,反邪恶法阵,类法术能力,对毒素,魅惑和胁迫免疫,昏暗视觉,嗅觉灵敏,荒野认同	|^	伤害减免10/魔法,抗酸10,抗寒10抗电10,法术抗力20,反邪恶法阵,类法术能力,对毒素,魅惑和胁迫免疫,黑暗视觉60尺,昏暗视觉,嗅觉灵敏,荒野认同	|
|^	''豁免检定:''	|^	强韧+9,反射+7,意志+6	|^	强韧+16,反射+12,意志+15	|
|^	''属性:''	|^	力量20,敏捷17,体质21,智力10,感知21,魅力24	|^	力量24,敏捷18,体质20,智力13,感知27,魅力22	|
|^	''技能:''	|^	跳跃+21,聆听+11,潜行+9,侦察+11,生存+8*	|^	专注+11,知识(自然)+9,知识(宗教)+8,聆听+15,潜行+12,法术辨识+5,侦察+15,生存+15(+17aboveground)*	|
|^	''专长:''	|^	警觉,技能专攻(生存)	|^	警觉,战斗施法,额外超度,精通超度,奔跑,技能专攻(生存)	|
|^	''环境:''	|^	温暖的森林	|^	混乱善良位面	|
|^	''组织:''	|^	单独,成双或成群(3-6)	|^	单独	|
|^	''挑战等级:''	|^	3	|^	13	|
|^	''宝物:''	|^	标准(不会燃烧的物品)	|^	标准(不会燃烧的物品)	|
|^	''阵营:''	|^	通常是混乱善良	|^	通常是混乱善良	|
|^	''进化:''	|^	5–8HD(大型)	|^	以人物职业等级	|
|^	''等级调整:''	|^	+4(作为部属)	|^	+8(作为部属)	|


独角兽拥有一双海蓝,紫色,棕色或火金色的眼睛。雄性独角兽下巴上有白色胡须。

成年的独角兽有8尺长,站立时肩高5尺,重1200磅。雌性相比雄性显得略小,体重也稍轻。

独角兽会说木族语和通用语。

!!!战斗
独角兽只在保护自己或是他们栖息的森林时才会战斗。他们会发动冲锋,用头上的角如长枪一般刺穿敌人,或用他们的蹄子猛踢对方。独角兽的角视为+3魔法武器,但它的力量在离开独角兽后就会消失。

''反邪恶法阵(超自然):''该能力如同同名法术一样持续。独角兽无法自行压制该能力。

''类法术能力:''独角兽能以即时动作随意使用侦测邪恶。

每天1次独角兽可以使用高等传送术出现在自己家园里的任何地点。它不能传送出森林边界之外,也不用该能力自外面传送进来。

独角兽用它的角接触受伤的生物可以使用医疗轻伤3次/天,使用医疗中伤1次/次(施法者等级5)。用它的角接触可以使用中和毒素3次/天(DC21,施法者等级8级)。该项DC基于魅力。

''荒野认同(特异):''该项能力视同德鲁伊的荒野认同职业能力,独角兽在该项检定上获得+6种族加值。

''技能:''独角兽在潜行技能检定时获得+4种族加值。独角兽在他们的森林边界内进行生存检定获得+3表现加值。

!!!天界突击者CELESTIAL CHARGER

天界突击者在这里是个拥有8HD和至少7级牧师职业的天界独角兽。

!!!战斗
天界突击者的中和毒素能力(DC20)的豁免DC已经更具它的额外生命骰和魅力进行了调整。天界突击者的天生武器在击破伤害减免时视为魔法武器。

''破邪斩(超自然):''每日一次天界突击者在近战中对邪恶生物可以额外造成15点伤害。

//已准备的牧师法术(/7/6/5/4; 豁免DC 18 + 法术等级)://

|0-侦测魔法, 侦测毒素(2), 光亮术, 恩赐术 (2); |
|1st-祝福术 (2), 安抚动物*, 隐雾术, 移除恐惧, 圣域术, 虔诚护盾; |
|2nd-aid* (2), 动物信使, 次级复原术, 移除麻痹, 护卫他人; |
|3rd-祈祷术, 防护能量伤害, 移除诅咒, 灼热光辉(2); |
|4th-凌空而行, 神能, 神圣锤击*, 恢复术|
|*领域法术。领域:动物和善良。 |

''Universal Solvent(万溶剂)'': 能够溶解至尊胶的独特物品,它可以溶解“至尊胶”或任何接合剂、胶或胶水。应用该物品是一个标准动作

Strong transmutation; CL 20th; Craft Wondrous Item, disintegrate; Price 50 gp.
!!!隐形仆役(Unseen Servant)
|咒法系(创造)|
|''等级:''吟游诗人1,术士/法师1 |
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''法术效果:''一个不可见、无心智、无形体的仆役|
|''持续时间:''1小时/等级|
|''豁免:''无|
|''法术抗力:''不可|
|隐形仆役是一股不可见、无心智、无形体的力量,在你的指挥下可以为你完成简单的任务。它可以跑步取来东西,开没有拴住的门,端椅子,或清理东西。仆役一次只能做一件事,但只要在法术有效距离内,你可以要求它不断重复做同一件事。它只能打开普通的门,抽屉,盖子等。它的有效力量值为2(所以它可以举起20磅或拉动100磅)。它可以触动陷阱,但因为它只能加20磅的力,所以可能无法压动某些压力板或机关。若它从事的工作需要进行一次DC超过10的技能检定,或者该工作需要使用必须受训的技能,那么它将不能完成任务。它的速度为15尺。|
|该仆役不能攻击,也不能进行攻击检定。它不会被杀,但如果因区域性攻击受到6点伤害,它就会消散。(遭袭时,它不能进行豁免检定。)若你试图让它前往法术有效范围外的地方(从你的当前位置算起),仆役就会消失。|
|//材料成分://一条线和一块木头。|
!! Use Magic Device(使用魔法装置)(魅力;需受训)

使用这项技能来激活魔法。

''检定:''你可以用这项技能来阅读魔法或者启用一个魔法物品。使用魔法装置技能可以让你使用魔法物品,如同你有对应法术能力或者其他职业的职业特性,或者如同你是另外一个种族,或者如同你有不同的阵营。

在每次启用一个魔法装置(例如魔杖)的时候都要做一次使用魔法装置检定。如果你要在持续情况下用这项技能来模拟阵营或其他一些特性,你需要每个小时做一次相关的使用魔法装置检定。

你必须知道你要模拟哪些东西。即在做使用魔法装置检定来模拟的时候你必须知道你要模拟什么。不同任务的使用魔法装置技能DC在下表中给出。



|!任务  |!	使用魔法装置DC	|
|^	盲目启用 	|^	25	|
|^	解读已经写好的法术 	|^	25加法术等级	|
|^	使用卷轴 	|^	20加法术等级	|
|^	使用魔杖 	|^	20	|
|^	模拟职业特性 	|^	20	|
|^	模拟属性值 	|^	见后文	|
|^	模拟种族	|^	25	|
|^	模拟阵营	|^	30	|

 

//盲目启用://有些魔法物品需要通过特定词语、思想或者动作来启用。你可以如同使用了启用指令一样启用该物品,尽管你并没有真的使用启用指令,甚至你并不知道启用指令的情况下也可以。要做这样的检定你必须作一些等效的动作。即你必须说话,在身边舞动该物品,或者其他类似的动作来启用它。如果你之前至少启用过该物品一次,那么在使用魔法装置检定上你将获得特别的+2加值。如果你失败9或更少,你无法启用该装置。如果失败10或更多,你会遭受到一起事故。这样的事故意味着魔法能量获得了释放,但是并不是按照你所想的方式运作。默认的事故是该物品影响了错误的目标,或者失控的魔法能量对你造成2d6的伤害。除了这种事故外,你使用你尚无法施展法术的卷轴时也有可能产生事故。

//解读已经写好的法术://这种使用方法如同用辨识法术技能来解读已写好的法术,除了这种情况下DC要高出5点。解读已写好的法术需要专注一分钟。

//模拟属性值://要从卷轴上施展法术,你需要在施法主属性(对于法师法术是智力,神术是感知,术士或吟游诗人是魅力)上达到一个较高的值。你的有效属性值(当你尝试从卷轴施法时要模拟的职业所对应的属性)是你的使用魔法装置检定结果减15。如果在对应属性上你已经有足够高的属性值,那么你不需要做这项检定。

//模拟阵营://有些魔法装置会根据使用者的阵营产生正面或负面效果。使用魔法装置技能可以让你根据你所选择的阵营来使用该装置。你一次只能模拟一种阵营。

//模拟职业特性://有些时候你需要使用一项职业特性来启用魔法物品。在这种情况下,你模拟职业的有效等级等于你使用魔法装置检定结果减20。该技能并不能让你真的使用其它职业的职业特性。它只是让你可以启用那装置,如同你具有那项职业特性一样。如果你模拟职业特性的所属职业有阵营要求,你必须达到它的要求,不论是真的达到还是用另外一次独立的使用魔法装置检定来模拟对应阵营(见前)都可以。

//模拟种族://有些魔法装置只能由特定种族成员使用,或者在特定种族成员使用时功能更好。使用魔法装置技能可以让你根据你所选择的种族来使用该装置。你一次只能模拟一种种族。

//使用卷轴://如果你要从卷轴上施展法术,你必须先解读它。正常情况下,要从卷轴上施展法术,你的职业法术列表中必须有该法术。使用魔法装置技能可以让你如同该法术在你的职业法术列表中一样来使用该卷轴。DC等于20加卷轴上法术的施法者等级。另外,要从卷轴上施展法术需要在相关属性上达到一个最低要求(10加法术等级)。如果你没有达到该要求,你必须通过另外一项独立的使用魔法装置检定来模拟属性值(见前)。这种用法也可以用在其他储法型魔法物品(spell completion magic items)上。

使用魔杖(wand):要使用魔杖,该魔杖的法术必须要在你的职业法术列表中。这种用法可以允许你如同该法术在你的职业法术列表中一样来使用魔杖。这种用法也可以用在其他法术触发型魔法物品(spell trigger magic items)上,例如法杖(staff)。

''动作:''不需要。使用魔法装置是启用魔法物品所需的其他动作(如果有)的一部分。

''重试:''可以,但是一旦在尝试启用物品时你投出的自然骰是1,并且你还失败了,那么在24小时内你将无法再次启用该物品。

''特别:''在这项技能上你不能取10。

你不能协助他人进行使用魔法装置检定。只有该物品的使用者需要尝试一次这种检定。

如果你有魔法天赋专长(Magical Aptitude),你在使用魔法装置检定上获得+2加值

''共效:''如果你在辨识法术上级数达到5或者更高,在和卷轴相关的使用魔法装置检定上你将获得+2加值。

如果你在解读文书上级数达到5或者更高,在和卷轴相关的使用魔法装置检定上你将获得+2加值。

如果你在使用魔法装置上级数达到5或者更高,你在用辨识法术技能来解读卷轴上的法术时将获得+2加值。
!! Use Rope(绳技)(敏捷)

''检定:''大部分和绳子相关的任务都相对简单。不同任务的对应DC在下表中给出。

|!	绳技DC	|!	任务	|
|^	10	|^	打一个稳固的结	|
|^	10^^1^^	|^	固定抓钩	|
|^	15	|^	打一个特殊的结,例如可松动的结,会缓慢松开的结,猛地一拉就会松开的结	|
|^	15	|^	用单手把绳子拴在自己身上	|
|^	15	|^	把两条绳子接起来	|
|^	可变	|^	绑人	|
|^	1 //抓钩每扔出去10尺,该DC就会增加2;见后文。//	|<|


//固定抓钩://固定抓钩需要一次绳技检定(DC10,抓钩每投出10尺距离就要+2,上限为50尺DC20)。失败4或者更少意味着抓钩没抓住东西而又掉了下来,允许重试。失败5或者更多意味着抓钩开始的时候抓住了什么,但是一旦开始负重就会在1d4轮内松脱。这个检定是暗投的,这样你将不知道是否绳子能承担自己的体重。

//绑人://当你用绳子把人绑起来的时候,被绑者要用自己的脱逃术检定来对抗你的绳技检定。

因为绑起来比从束缚中挣脱容易,你将在这项检定上获得+10加值。你可以不用做绳技检定,直到有人试着脱逃。

''动作:''可变。投掷抓钩是一个标准动作,并且会引发借机攻击。打结,打一个特殊结,或者单手把绳子拴在自己身上需要一个整轮动作,并且会引发借机攻击。把两条绳子接在一起至少需要5分钟。绑人需要至少1分钟。

''特别:''在绳技检定中,丝绳提供了+2环境加值。如果你在绳子上施展了活化绳(animate rope)法术,在使用这条绳子进行任何绳技检定都将得到+2环境加值。

这些加值互相累加。

如果你有巧手专长(Deft Hands),你在绳技检定上获得+2加值。

''共效:''如果你在绳技上级数达到5或更高,在攀爬绳索、打结绳索、或者绳墙组合时的攀爬检定上将获得+2加值。

如果你在绳技上级数达到5或更高,你在从绳索束缚中挣脱时的脱逃术检定上有+2加值。

如果你在脱逃术上级数达到5或更高,你在用绳索绑人时的检定上有+2加值。

!!Vampire Spawn(吸血衍体)

''中型不死生物''

|''生命骰:'' 4d12+3(29hp)|
|''先攻权:'' +6|
|''速度:'' 30尺(6格)|
|''防御等级:'' 15(+2敏捷,+3天生),接触12,措手不及13|
|''基本攻击/擒抱:'' +2/+5|
|''攻击:'' 挥击+5近战(1d6+4加能量吸取)|
|''全回合攻击:'' 挥击+5近战(1d6+4加能量吸取)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 吸血,支配,能量吸取|
|''特性:'' +2驱散抗性,伤害减免5/银,黑暗视觉60尺,快速治疗2,气态形体,寒冷抗性10,电抗性10,蛛行,不死生物特性|
|''豁免:'' 强韧+1,反射+5,意志+5|
|''属性:'' 力量16,敏捷14,体质—,智力13,感知13,魅力14|
|''技能:'' 唬骗+6,攀爬+8,手艺或专业(任意一项)+4,交涉+4,躲藏+10,跳跃+8,聆听+11,潜行+10,搜索+8,察言观色+11,侦察+11|
|''专长:'' 警觉,精通先攻,闪电反射,技能专攻(所拥有的手艺或专业),强壮|
|''环境:'' 任何|
|''组织:'' 单独或成队(2–5)|
|''挑战等级:'' 4|
|''宝物:'' 标准|
|''阵营:'' 总是邪恶(任意)|
|''进化:'' —|
|''等级调整:'' —|

吸血衍体是吸血鬼杀害凡人时产生的不死生物.如同它们的制造者一般,衍体也受缚于它们的棺材以及墓土.吸血衍体和生前看起来差不多,只是线条变得冷酷而显得凶恶.

吸血衍体说通用语.

!!!战斗

当遭遇凡人时,吸血衍体会使用它们非人的力量拳夯对手并拿对手往墙上或石头上撞. 它们也使用气态形体和飞行能力寻找对手的弱点攻击.

''吸血(特异):''只要成功擒抱住对手,吸血衍体便可以用獠牙从活物身上吮吸血液.只要它压制住对手,它便可以开始吸血,这会每轮造成1d4点体质吸取.每一次吸血攻击成功,吸血衍体都可以得到5点临时生命值.

''支配(超自然):''吸血衍体可以通过看着对手的眼睛来击垮对手的意志.这类似于凝视攻击, 不过吸血衍体必须使用一个标准动作,只是草草看一眼并不能发挥作用.任何目标必须通过一个DC14的意志豁免检定,失败则如同被一个5级施法者施放支配人类影响一般落入吸血衍体的控制.此能力作用范围30尺.豁免DC的关键属性是魅力.

''能量吸取(超自然):''被吸血衍体的挥击命中的活物得到一个负向等级.移除该负向等级的强韧DC是14.该豁免DC的关键属性是魅力.每以此法吸取一个等级,吸血衍体得到5点临时生命值.

''快速治疗(特异):''吸血衍体只要还有至少1点生命,则它每轮治疗2点伤害.如果在战斗中生命值被减至0,吸血衍体将自动转变为气态形体并试图逃跑.它必须在2小时内返回自己的棺材,否则将被完全摧毁(在2小时内它最多可走9哩).在棺材里休息时,它处在无助状态,并将在1小时内1点生命值,然后摆脱无助状态并继续每轮恢复2点生命值.

''气态形体(超自然):''以一个标准动作,吸血衍体可以任意转变为气态形体,效果如同同名法术(施法者等级6级),但其可以一直保持气态形体并获得20尺飞行速度,机动性完美.

''蛛行(特异):''吸血衍体可以如同拥有蛛行术一般攀爬攀爬陡峭的表面.

''技能:''吸血衍体在唬骗,躲藏,聆听,潜行,搜索,察言观色和侦察检定上有+4种族加值.

!!!吸血衍体的弱点 
吸血衍体对所有可以驱除或杀死吸血鬼效果的攻击同样显得十分脆弱.详情见吸血鬼相关说明
吸血鬼的外表如生前一般,只是容貌变得冷酷而野蛮,使它们看起来有狼一般的掠食者特征.

和巫妖类似,他们爱慕虚荣而又颓废,并可能以贵族自居.

虽然有着人类的特征,吸血鬼仍然很容易辨认,它们不会投下影子,也不会在镜子中留下映像.

吸血鬼会说他们生前所会的语言.

!!!创建一个吸血鬼
"吸血鬼"是一个可以加到任何类人生物或类人怪物(以下称为基础生物)上的获得性模板.

除了下述内容,吸血鬼将保留一切基础生物的数值与特殊能力.

''体型和类别:''生物类别变为不死生物 (替换掉类人生物或类人怪物).基础攻击加值,豁免,技能和体型不变. 

''生命骰:''将所有现有生命骰替换为d12.

''速度:''与基础生物相同.如果基础生物有游泳速度,那么吸血鬼也将保留游泳能力并将不再害怕被流动的水浸没(见以下).
 
''防护等级:''基础生物的天生护甲额外+6.

''攻击:''吸血鬼保留所有基础生物的攻击方式,如果其中没有挥击,则它获得挥击攻击.如果基本生物可以使用武器,则吸血鬼保留这些能力.拥有天生武器的生物保留其天生武器.没有武器的吸血鬼使用挥击或原本的天生武器攻击(如果有的话). 拥有武器的吸血鬼则使用武器或挥击,随它的便.

''整轮攻击:''没有武器的吸血鬼使用挥击(见以上)或原本的天生武器攻击(如果有的话).如果装备了武器,它通常使用武器进行首要攻击,挥击和原有的天生武器进行次要攻击. 

''伤害:''吸血鬼拥有挥击攻击.若基础生物没有这种攻击方式,则根据吸血鬼的体型从表中查找对应的伤害.拥有天生攻击的生物保留天生攻击能力或使用列表中的数据,二者取较高值.

|!体型 |!伤害 |
|超微型|1|
|微型|1d2|
|超小型|1d3|
|小型|1d4|
|中型|1d6|
|大型|1d8|
|超大型|2d6|
|巨型|2d8|
|超巨型|4d6|


''特殊攻击:''吸血鬼保留所有基础生物拥有的特殊攻击并获得下述的特殊攻击能力.除非特殊说明,豁免DC都是10+1/2吸血鬼的HD+吸血鬼的魅力调整值.

''吸血(特异):''只要成功擒抱住对手,吸血鬼便可以用獠牙从活物身上吮吸血液.只要它压制住对手,它便可以开始吸血,这会每轮造成1d4点体质吸取.每一次吸血攻击成功,吸血鬼都可以得到5点临时生命值. 

''夜之子(超自然):'' 吸血鬼可以控制世上的低等生物,以一个标准动作,每日可召唤1d6+1个老鼠集群, 1d4+1个蝙蝠集群或一群(3d6只)狼.(若基础生物不是陆生的,此能力也可以召唤其他类似的生物.)这些生物在2d6轮内到来并为吸血鬼服务1小时. 

''创造衍体(超自然):'' 被吸血鬼的能量吸取杀害的类人生物或类人怪物将在埋葬后1d4天内成为吸血衍体而复生(见吸血衍体相关说明). 

吸血鬼将受害者的体质吸取至0或更低时,HD小于等于4的受害者将成为吸血衍体复活,而HD大于等于5的则成为吸血鬼复活.不论如何,新生的吸血鬼或衍体都将被创造它的吸血鬼所奴役直到主人被摧毁.一个吸血鬼同一时间内所奴役的衍体HD数不能大于自身的两倍; 若超出这个限度,新创造的衍体或吸血鬼将获得自由意志.被奴役的吸血鬼也可以自行创造并奴役衍体,依此法,一个吸血鬼头子可以控制相当数量的吸血鬼娄娄.在创造新衍体时,吸血鬼也可以释放现有被奴役的衍体,不过一旦被释放,吸血鬼或吸血衍体就不可被再度奴役.

''支配(超自然):''吸血鬼可以通过看着对手的眼睛来击垮对手的意志.这类似于凝视攻击, 不过吸血鬼必须使用一个标准动作,只是草草看一眼并不能发挥作用.任何目标必须通过一个意志豁免检定,失败则如同被一个12级施法者施放支配人类影响一般落入吸血鬼的控制.此能力作用范围30尺.

''能量吸取(超自然):''被吸血鬼的挥击(或其他吸血鬼拥有的天生武器)命中的活物得到两个负向等级.每以此法吸取一个等级,吸血衍体得到5点临时生命值.吸血鬼每轮可以使用一次能量吸取.

''特性:''吸血鬼保留基础生物的一切特性,并获得下述特性.

''转变形态(超自然):''以一个标准动作,吸血鬼可以变成蝙蝠,凶暴蝙蝠,狼或凶暴形态.当处在转变形态时,吸血鬼将失去挥击攻击和支配能力,但它将得到新形态所提供的天生武器和特殊攻击.它将保留在该形态知道变成一个新的形态或下一次日出.(若基础生物不是陆生的,此能力也允许其他形态.)

''伤害减免(超自然):''吸血鬼拥有伤害减免10/银和魔法.吸血鬼的天生武器在判定穿透伤害减免时视为魔法武器.

''快速治疗(特异):''快速治疗(特异):吸血鬼只要还有至少1点生命,则它每轮治疗5点伤害.如果在战斗中生命值被减至0,吸血鬼将自动转变为气态形体并试图逃跑.它必须在2小时内返回自己的棺材,否则将被完全摧毁(在2小时内它最多可走9哩).吸血鬼处在气态形体时对所有伤害免疫.在棺材里休息时,它处在无助状态,并将在1小时内1点生命值,然后摆脱无助状态并继续每轮恢复5点生命值.

''气态形体(超自然):''以一个标准动作,吸血鬼可以任意转变为气态形体,效果如同同名法术(施法者等级5级),但其可以一直保持气态形体并获得20尺飞行速度,机动性完美.

''抗性(特异):''吸血鬼拥有寒冷抗性10和电抗性10.

''蛛行(特异):''吸血鬼可以如同拥有蛛行术一般攀爬攀爬陡峭的表面

''驱散抗力(特异): ''吸血鬼拥有+4驱散抗力. 

''属性:''依照以下叙述提升基础生物的属性: 力量+6,敏捷 +4,智力+2,感知+2, 魅力+4.作为不死生物,吸血鬼没有体质值.

''技能:''吸血鬼在唬骗,躲藏,聆听,潜行,搜索,察言观色和侦察检定上有+8种族加值,其余同基本生物.

''专长:''吸血鬼获得以下专长,警觉,闪避,精通先攻,闪电反射,前提是基础生物达到要求却没有这些专长.

''环境: ''任何,通常同基础生物.

''组织: ''单独,成对,团伙(3–5)或集团(1–2加2–5吸血衍体)

''挑战等级:''同基础生物+2.

''宝藏:''双倍标准.

''阵营:''总是邪恶(任何).

''进化:'' 视人物等级而定.

''等级调整:''同基础生物+8.

!!!!吸血鬼的弱点
尽管威力非凡,吸血鬼也有相当多的弱点.

''驱除吸血鬼: ''吸血鬼无法忍受强烈的大蒜气味,所以不会接近有那种玩意儿的地方.类似的,会因镜子或强大的神圣徽记而畏缩.这些东西不会伤害吸血鬼—他们只是不想靠近.一个畏缩的吸血鬼必须至少与拿着镜子或圣徽的生物保持5尺距离并在该遭遇的剩余时间中都不能接触或近身攻击拿者那类物品的生物.把持一个吸血鬼不喜欢的东西需要一个标准动作.

吸血鬼也不能穿过流水,但是它可以乘船渡过或在棺材里休息时被抬过去.

除非被主人邀请,否则他们也不能进入其他人的家或房子.他们可以进入那些明确说明对所有人开放的公共场所. 

''杀死吸血鬼:''将吸血鬼的生命值降到0或更低可以使之无力化却不能杀死它(见关于快速治疗的说明).但是,有些攻击可以杀死吸血鬼.被暴露在阳光下会使得吸血鬼迷乱:它将只能做一个移动动作或攻击动作然后如果它无法逃脱,则在下一轮被完全摧毁.类似的, 将吸血鬼没入流动的水中将每回合让其损失1/3的生命值,直到第3回合它将被彻底摧毁.将木桩插进吸血鬼的心脏也会瞬间杀死这个怪物.但除非身体被毁灭,它仍将在木桩被拔除时复活.一个流行的方法是砍下它的脑袋然后将其嘴里灌满圣水(或其他类似的东西).

!!!!吸血鬼人物
吸血鬼总是邪恶的,这将使得相当拥有一部分职业的人物失去其职业能力.另外,不少职业还有附加惩罚.

''牧师:''吸血鬼牧师将失去驱散不死生物的能力并获得呵斥不死生物的能力.此能力不会影响该吸血鬼的控制者或其主人旗下的其他吸血鬼.吸血鬼牧师将拥有以下领域中的两个: 混乱,破坏,邪恶或诡术.

''术士和法师:''吸血鬼术士或法师保留它的职业能力.但如果一个人物拥有的魔宠不是蝙蝠或老鼠,则它和魔宠之间的链接断开,而该魔宠将离开原来的同伴.人物可以召唤另一个魔宠,但必须是蝙蝠或老鼠.
!!!吸血鬼之触(Vampiric Touch)
|死灵系|
|''等级:''术士/法师3|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''被接触的生物|
|''持续时间:''立即/1小时,见下文|
|''豁免:''无|
|''法术抗力:''可|
|你必须成功通过一次近战接触攻击。如果成功,那么你的接触会造成每两个施法者等级1d6点伤害(最大10d6)。你获得等同于此伤害的暂时生命值。但获得的生命值不能超过受害者的目前生命值+10点,因为这已经足以杀死对方。暂时生命值会在1小时后消失。|
!!Vargouille(飞头蛮)

''小型异界生物(邪恶,跨位面)''

|''生命骰:'' 1d8+1(5hp)|
|''先攻权:'' +1|
|''速度:'' 飞行30尺(良好)(6格)|
|''防御等级:'' 12(+1体型,+1敏捷),接触11,措手不及11|
|''基本攻击/擒抱:'' +1/–3|
|''攻击:'' 啮咬+3近战(1d4加毒素)|
|''全回合攻击:'' 啮咬+3近战(1d4加毒素)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 嘶鸣,吻咬,毒素|
|''特性:'' 黑暗视觉60尺|
|''豁免:'' 强韧+3,反射+3,意志+3|
|''属性:'' 力量10,敏捷13,体质12,智力5,感知12,魅力8|
|''技能:'' 躲藏+11,威吓+3,聆听+5,潜行+7,侦察+5|
|''专长:'' 隐秘,武器娴熟|
|''环境:'' 邪恶阵营的位面|
|''组织:'' 成群(2–5)或成团(6–11)|
|''挑战等级:'' 2|
|''宝物:'' 无|
|''阵营:'' 总是中立邪恶|
|''进化:'' 2–3HD(小型)|
|''等级调整:'' —|


飞头蛮稍微比人类头颅大一些,大约18寸高,翼展4尺.重约40磅.

飞头蛮说炼狱语.

!!!战斗
飞头蛮用它们锯齿状的牙齿咬击对手.它们的特殊攻击使得它们更加危险.在判定穿透伤害抗性时,飞头蛮的天生武器和它们装备的武器都视为邪恶阵营.

''嘶鸣(超自然):''飞头蛮的嘴除了啮咬,还可发出恐怖的嘶鸣声.60尺内所有听见嘶鸣或可以清楚看见该飞头蛮的所有非飞头蛮生物必须通过一个DC 12的强韧检定,失败则由于恐惧而被麻痹2d4轮或直到有怪物攻击它,或走出该范围,或离开其视野为止.飞头蛮可以吻咬被麻痹的生物(见以下). 成功豁免的生物在24小时内不会被同一只飞头蛮的嘶鸣所影响.嘶鸣是一种影响心灵的恐惧效果.该豁免DC的关键属性是体质,并有+1种族加值.

''吻咬(超自然):''飞头蛮可以通过一个成功的接触攻击吻咬一个被麻痹的目标.被作用的对手必须通过一个DC 15的强韧检顶,否则将经由一个可怕的转变过程并在24小时内变成另一个飞头蛮(这个过程经常更快;为每个阶段分别骰1d6).

首先,在一个1d6小时的过程中,受害者的头发将全部掉光.接下来的1d6小时内,其耳朵将逐渐变成革化的翼,触手从下颚和头皮中伸出,牙齿变长,直到变成獠牙.在接下来的1d6小时内,受害者每小时受到1点智力和魅力吸取(最少减到3).转变在最后的1d6小时内完成,受害者头部与身体分离(身体当场死亡)并成为一个飞头蛮.此转变过程会被日光中断,一个昼明术也可以延缓死亡,但反转这一变化则需要移除疾病.该豁免DC的基于体质并包括+4种族加值.

''毒素 (特异):''伤口,强韧DC 12失败则无法以自然或魔法的方式治疗飞头蛮的啮咬伤害. 中和毒性或治愈术可移除该效果,而延缓毒性将允许魔法治疗.该豁免DC基于体质,并有+1种族加值.
!!!隐匿之纱(Veil)
|幻术系(五官幻术)|
|''等级:''吟游诗人6,术士/法师6 |
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''远距(400英尺+40英尺/等级)|
|''目标:''一个或多个生物,生物间距不超过30英尺|
|''持续时间:''专注+1小时/等级(可解消)|
|''豁免:''意志,通过则无效;见下文|
|''法术抗力:''可,见下文|
|你可以瞬间改变受术者的外观,之后在法术持续时间内它将保持不变。你可以让受术者变成任何你希望的东西。他的外观、触感和气味都会发生相应的变化。若受术者死亡,则回复原样。你必须先同过易容检定才能复制出特定人物的样貌。该法术可以让你在检定时获得+10的加值。|
|受术者若不愿接受此法术则可进行意志豁免或使用法术抗力,通过则法术无效。若有人与受术者发生互动,可进行意志豁免,通过则不相信,并看穿幻觉,但法术抗力对此无效。|
!!!腹语术(Ventriloquism)
|幻术系(虚假幻觉)|
|''等级:''吟游诗人1,术士/法师1 |
|''法术成分:''言语,器材|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''效果:''有意义的声音,通常是语言|
|''持续时间:''1分钟/等级(解消)|
|''豁免:''意志,通过则不相信(若发生互动)|
|''法术抗力:''不可|
|你可以使你的话语(或其它你可以用嘴巴发出的声音)听起来像是从别的地方发出的。你可以使用任何你会说的语言。听到声音者若通过豁免检定则会知道听到的是幻觉(但仍听得到声音)。|
|//器材://卷成锥形的小张羊皮纸。|
''虫类(Vermin):''这类包括昆虫、蜘蛛、其他节肢动物、蠕虫以及类似无脊椎动物。

//特征://虫类具有下列特征。

*d8生命骰。
*基本攻击奖励等于3/4生命骰数总和(类似于牧师)。
*擅长的豁免检定:强韧。
*技能点数等于每个生命骰(2+智力调整值,最少为1),第一个生命骰的技能点数为它的四倍,前提是此虫类有智力属性。但是,绝大多数虫类没有心智,也无法获得技能和专长。

//特性://虫类拥有下列特性(除非生物描述中另有说明)。

*无心智:没有智力值,因此免疫所有影响心灵(mind*affecting)的效果(魅惑[charm]、胁迫[compulsion]、魅影幻觉[phantasm]、心灵幻觉[pattern]、以及士气效果[morale effect])。
*60尺黑暗视觉。
*仅熟练使用它的天生武器。
*不熟练使用任何盔甲。
*虫类需要呼吸、进食和睡眠。

此类生物依本能行动,由食物及繁殖之类的基本需求所驱动。除非另有注明,否则虫类生物只有在饥饿或受到威胁时才会攻击。

''虫类生物特性:''虫类生物拥有以下特性 (除了在生物详述中所注明的之外)。

*无心智:没有智力属性值,且对所有影响心灵的效果 (魅惑、胁迫、魅影幻觉、心灵幻觉及士气效果)免疫。
*黑暗视觉60尺。
*阵营:总是中立。虫类生物不受人类道德的支配。
*宝物:虫类生物通常不拥有宝物。如果有的话,那么这些宝物被视为曾经由被怪物杀死的生物生前所拥有。


 <<list-links "[tag[核心]]+[tag[怪物]]+[tag[虫类]]-[tag[特殊能力]]-[tag[种类/亚种]]+[sort[title]]>>
''Vest of Escape(脱逃背心)'': 此丝质背心的口袋里,有一件开锁工具,使“开锁”检定有+4能力加值。此外,此背心穿戴者的“脱逃”检定有+6能力加值。

Faint conjuration and transmutation; CL 4th; Craft Wondrous Item, knock, grease; Price 5,200 gp.
''Vestment, Druid’s(德鲁伊祭袍)'': 这件祭袍可穿在其他服装或盔甲外面。大部分祭袍为绿色,绣有植物或动物的图像。当具有自然变身能力的德鲁伊穿上后,每天可以多使用此能力一次。

Moderate transmutation; CL 10th; Craft Wondrous Item, polymorph or wild shape ability; Price 10,000 gp.
''Vicious(反噬):''
反噬武器击中目标时会制造出一道能让使用者和目标产生共鸣的分裂性能量。能量对目标造成额外2d6点伤害,同时对使用者造成1d6点伤害。只有近战武器能获得此能力。

中等死灵系灵光;CL9;制造魔法武器和防具,弱能术(enervation);价格+1加值。

''毒蛇(Viper):''视同+1重型硬头锤。杖头可变为一只毒蛇(即时动作),此功能每天可使用一次,为时十分钟。十分钟内若攻击成功,除了造成正常伤害之外还会使目标中毒。中毒立即造成暂时体质伤害(体质下降1d10点,强韧过则无效,DC=14),并在一分钟后再造成1d10点暂时体质伤害(强韧过则无效,DC=14)。此权杖只服务于邪恶阵营的持有者。

施法者等级:10。先决条件:“制造权杖”,“制造魔法武器及防具”,“毒击”,制造者必须为邪恶阵营。交易价格:19000金币。
!!!恩赐(Virtue)
|变化系|
|''等级:''牧师0,德鲁伊0,圣武士1|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''被接触的生物|
|''持续时间:''1分钟|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可(无害)|
|受术者获得1点暂时生命值。|
!!!灵视(Vision)
|预言系|
|''等级:''术士/法师7 |
|''法术成分:''言语,姿势,材料,经验值|
|''施法时间:''1个标准动作|
|和通晓传奇(legend lore)一样,但更快也更费力。你可以提出一个关于某人、某地或某物的问题,然后施展此法术。若你就在该物体或该人边上,或者就在该地点,那么通过DC20的施法者等级检定(1D20+1每施法者等级;最多+25),你可以得到关于它的一个幻景。若仅仅知道该人、该物、该地的详细信息,则DC为25。若只是听到些传闻,并没有完整信息,则DC为30,且只能得到含糊的信息。|
|//消耗经验值://100点。|
''Vorpal(斩首):''
这种强大而可怕的能力使得武器能砍下敌人的头颅。攻击检定掷出20时(跟着再掷一次攻击检定以确定成功造成重击),武器会砍下对手的头(如果有的话)。某些生物没有头,比如异怪和泥形生物。其他的,比如魔像和除了吸血鬼以外的不死生物,不会因失去头而受到影响。而其余的大部分生物会因为头被砍掉而死亡。斩首武器必须是挥砍类型的武器。(如果未一件非挥砍武器随机掷特殊能力时掷到了此能力,则重掷。)

强烈死灵和变化系灵光;CL9;制造魔法武器和防具,死亡法阵(circle of death),锐锋术(keen edge);价格+5加值。

''易受能量伤害(Vulnerability to Energy):''一些生物有惧怕某种特定能量效果(典型的如寒冷或火焰)的弱点。该效果会对它们造成比一般多一半(50%)的伤害,无论是否有豁免和是否通过了豁免。
!!!女妖之嚎(Wail of The Banshee)
|死灵系[死亡,音波]|
|''等级:''死亡9,术士/法师9|
|''法术成分:''言语|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''区域:''40英尺扩散范围内,1个活物/等级|
|''持续时间:''立即|
|''豁免:''强韧,通过则无效|
|''法术抗力:''可|
|你发出恐怖的尖叫,闻者皆亡(除了你自己)。最接近源发点的生物最先受影响。|
!!!火墙术(Wall of Fire)
|塑能系[火]|
|''等级:''德鲁伊5,火4,术士/法师4|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/等级)|
|''效果:''长度最多为20英尺/等级的火焰薄壁,或半径最多为5英尺每两级的火焰环壁;以上两者都是20英尺高|
|''持续时间:''专注+1轮/等级|
|''豁免:''无|
|''法术抗力:''可|
|一道燃烧着紫色火焰的帘幕跃然而出,它不可移动。火墙的一面——由你决定——会喷出热浪,对10尺内的生物造成2d4点火焰伤害,对10尺外、20尺内的生物造成1d4点火焰伤害。火墙出现时就会造成伤害,自后每到你的行动回合,区域内的生物都会受伤。另外,火墙对试图穿越的生物造成2d6点火焰伤害,施法者每等级再+1点伤害(最多+20点)。火墙对不死生物造成双倍伤害。|
|若你在有生物的地方召出火墙,该处的生物所受伤害和穿越火墙一样。以5英尺为单位,单位墙面在一轮中若受到20点以上的寒冷伤害,则该单位墙面消失。(和对正常物品造成伤害不同,此时寒冷伤害不必除以四。)|
|火墙术可使用魔法恒定术(permanency)恒定。恒定的火墙在受到寒冷伤害时,会消失10分钟,然后恢复原状。|
|//奥术材料成分://一小撮磷粉。|
!!!力墙术(Wall of Force)
|塑能系[力场]|
|''等级:''术士/法师5|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''效果:''面积为每等级10英尺见方的墙|
|''持续时间:''1轮/等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|力墙术能创造出隐形力墙。该墙无法移动,不会遭到任何形式的伤害,且不受大部分法术的影响,包括解除魔法(dispel magic)。但解离术(disintegrate)会立即将它毁灭,消抹权杖(rod of cancellation)、毁灭黑洞(sphere of annihilation)、法师裂解术(mage’s disjunction)也可以。喷吐攻击和法术不能从任何方向穿过力墙。但是,任意门(dimension door)、传送术(teleport)之类的法术可以穿越障碍。灵体生物和实体生物都会被阻挡(但灵体生物可以从上方或下方穿过地板或天花板而绕过这堵墙)。凝视攻击可以穿过力墙。|
|施法者可造出平整的竖直力墙,其面积最多为每等级10英尺见方。制造出的力墙必须是连续无间断的。如果其表面被任何物品或生物阻断,则法术失效。|
|力墙术可以通过魔法恒定术(permanency)永久化。|
|//材料成分://少量纯净的宝石粉末。|
!!!冰墙术(Wall of Ice)
|塑能系[寒冷]|
|''等级:''术士/法师4|
|''法术成分:''言语,动作,材料|
|''施法时间:''1个标准动作|
|''距离:''近距(100英尺+10英尺/等级)|
|''效果:''最多每等级10英尺见方的平面冰墙,或半径至多为3+每等级1英尺的半球冰墙|
|''持续时间:''1分钟/等级|
|''豁免:''反射,通过则无效;见下文|
|''法术抗力:''可|
|你可选择用本法术能创造出平面冰壁或半球冰墙。冰墙不能在被物质物体或生物占据的地方制造出来,在制造时它的表面必须是光滑连续的。当墙被创造出来时,任何在墙邻近的生物都可以通过反射豁免扰乱它的形成,成功的检定意味着法术失效。火可以融化冰墙,它会造成全额伤害(而不是像对物体一样造成半数伤害)。冰墙的急速融化会造成持续10分钟的大面积蒸汽云雾。|
|//平面冰壁://造出一道坚实的冰壁,其厚度为1英寸/施法者等级。面积为10英尺见方/施法者等级(因此,一个10级法师可以造出100尺长10尺高或长50尺高20尺或其他面积不超过1000平方英尺的冰墙)。只要冰壁能找到依靠物,那么它可以呈现任何形状。竖直墙面只需要立于地板上,而水平或倾斜的墙面两端必须固定。|
|每10英尺见方的冰墙其每英寸厚度有3点生命值。生物总是可以自动命中它。只要一部分冰墙的生命值降到0,那么这部分冰墙就会碎裂。如果生物尝试用单独一击来击穿冰墙,那么必须通过DC15+施法者等级的力量检定。|
|即便冰壁被砸穿,严寒仍会留在原处。任何通过的生物(包括砸穿墙面者)都会受到1d6点+1点/施法者等级的寒冷伤害(无豁免检定)。|
|//半球冰墙://冰墙呈半球状,半径最多为3尺+1尺/施法者等级。半球冰墙的强度和平面冰壁一样,但不会对穿越者造成寒冷伤害。|
|//材料成分://一小片石英或类似矿石。|
!!!铁墙术(Wall of Iron)
|咒法系[创造]|
|''等级:''术士/法师6|
|''法术成分:''言语,姿势,材料|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/等级)|
|''效果:''面积最多5英尺见方/等级的铁墙;见下文|
|''持续时间:''立即|
|''豁免:''见下文|
|''法术抗力:''不可|
|你可以凭空造出光滑的竖直铁墙。铁墙可以放置在任何附近的无生命材料中——只要它所在区域允许这么做。若出现的地点有生物或物品,则墙不会出现。它必须是光滑平面,但周边的形状可由你决定。|
|铁墙厚度为1英寸/施法者每4级。你可以令厚度减半以使得其面积翻倍。每5英尺见方的墙面,每英寸厚度有30点生命值,它的硬度为10。一块墙面的生命值若降到0则会碎裂。若要一击贯穿墙面,需要通过力量检定,DC为25,每英寸厚度再+2。|
|你可以在水平表面造出竖直的墙,而不与该表面接触,这样墙就会倒下并压住其下方的生物。若没有外力的影响,墙向两边倒下的概率各为50%。生物可以去推墙而不是让它随机地倒下,但这必须通过DC40的力量检定。如果有空间,生物可以通过反射检定来避开倒下的墙。没能躲开的大型或更小的生物会受到10d6点伤害。该墙无法压伤超大型或更大的生物。|
|和所有铁墙一样,该墙会出现生锈穿孔等自然现象。|
|//材料成分://一小片铁块和价值50金币(1磅)的金粉|
!!!石墙术(Wall of Stone)
|咒法系(创造)[土]|
|''等级:''牧师5,德鲁伊6,土5,术士/法师5|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/等级)|
|''效果:''面积最多5英尺见方/等级的石墙(可变)|
|''持续时间:''立即|
|''豁免:''见下文|
|''法术抗力:''不可|
|此法术会从邻近的石面延伸出一道石墙。每4级施法者等级可造出1英寸厚5英尺见方的石墙。你可以令厚度减半以使得其面积翻倍。若出现的地点有生物或物品,则墙不会出现。|
|与铁墙术(wall of iron)不同,你可以将石墙塑造成几乎任何形状。该墙不必垂直于地面,也不需要地基;但是,它必须由稳固的既有石块中延伸出来。它可以作为跨越峡谷的桥梁或是斜坡,此时,若桥梁跨度超过20英尺,该墙必须呈拱形且需要支撑,这使得石墙面积减半。石墙上也可造出粗糙的城垛,这同样会减小其面积。|
|和其他石墙一样,它也会被解离术(disintegrate)摧毁,也会被击碎。每5英尺见方的石墙每1英寸厚有15点生命值,它的硬度为8。一块墙面的生命值若降到0则会碎裂。若生物想要一击贯穿则须通过力量检定,DC为20,每英寸厚度+2。|
|石墙可以被塑造成能困住生物的形状,但这很困难。生物可以通过反射检定来避免被围困。|
|//奥术材料成分://一小块花岗岩。|
!!!棘墙术(Wall of Thorns)
|咒法系(创造)|
|''等级:''德鲁伊5,植物5|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''近距(100英尺+10英尺/等级)|
|''效果:''荆棘丛,体积最多为每等级一个边长10英尺立方体(可变)|
|''持续时间:''10分钟/等级(可解消)|
|''豁免:''无|
|''法术抗力:''不可|
|棘墙术会造出一道坚韧的荆棘障碍,上面长有和人手指差不多长的尖刺。任何想要在棘墙中移动的生物,每轮受到25减去其AC的挥砍伤害。在这个计算中敏捷和闪避加值不计入AC。(若不考虑敏捷和闪避加值的情况下生物AC高于25,则不会受伤。)|
|你可以造出5尺厚的墙,如此便可造出大小为10*10*5英尺的棘墙垛,数目等同于你施法者等级的两倍。穿过这种棘墙造成的伤害不变,但生物通过的时间会变短。|
|生物必须通过力量检定才能在棘墙里移动,这是个整轮动作。检定结果每比20高5,生物可前进5尺(最高可以正常地面速度前进)。如上所述,移动或试图移动都会造成伤害。被困在棘墙里的生物可以选择不动,以避免伤害。|
|施法时位于法术范围内生物也会受伤,如同在其中移动一样。生物可以试图离开,亦可等在里面直至法术终止。生物若具有自由穿越荆棘丛的能力则可以正常速度毫发无伤地通过棘墙。|
|利刃可以慢慢斩开棘墙,每10分钟可开出一英尺深的通路。普通火焰无法点燃棘墙,但魔法火焰可在10分钟内烧毁它。|
|无论它的样貌如何,棘墙并非植物,所以影响植物的法术对它无效。|
!!!曲木术(Warp Wood)
|变化系|
|''等级:''德鲁伊2 |
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''效果:''一件小型木制物品/等级,全部位于半径20尺范围内|
|''持续时间:''立即|
|''豁免:''意志,通过则失效(物体)|
|''法术抗力:''可(物体) |
|你可以使木材弯曲变形,永久的摧毁它的强度和形状,让它变得不再笔直。弯曲了的门会弹开(或被卡住,以致需要通过力量检定来砸开,两种可能由你选择)。船会产生裂缝。扭曲了的远程武器无法使用。扭曲的近战武器在攻击检定上受-4减值。|
|每施法者等级可弯曲一件小型或更小或相当于此的物品。1件中型物品视作2件小型物品,1件大型物品视作4件小型物品,1件超大型物品视作8件小型物品,1件巨型物品视作16件小型物品,1件超巨型物品视作32件小型物品。|
|反之,你也可使用此法术矫直木材(将受术物品复原),将受到此法术或因其他方式弯曲的木材变直。因此法术弯曲的物品不能用完全修复术(make whole)修复。|
|你可以使用多个连续的曲木术来弯曲(或变直)一个无法用一个法术处理的过大物品。|
|在物品完全弯曲以前,它不会受到不良影响。|
''生命骰数:'' d8。

!!!!本职技能

武者的本职技能如下(括号中为该技能的关键属性): 攀爬 (力量),驯养动物(魅力),威吓(魅力),跳跃(力量),骑术 (敏捷),游泳(力量)。

''1级人物起始技能点:''(2 + 智力调整值) 4 x 。

''升级技能点数:'' 2 + 智力调整值。

 

''表: 武者''

|!	NPC等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|
|^	1	|^	+1	|^	+2	|^	+0	|^	+0	|
|^	2	|^	+2	|^	+3	|^	+0	|^	+0	|
|^	3	|^	+3	|^	+3	|^	+1	|^	+1	|
|^	4	|^	+4	|^	+4	|^	+1	|^	+1	|
|^	5	|^	+5	|^	+4	|^	+1	|^	+1	|
|^	6	|^	+6/+1	|^	+5	|^	+2	|^	+2	|
|^	7	|^	+7/+2	|^	+5	|^	+2	|^	+2	|
|^	8	|^	+8/+3	|^	+6	|^	+2	|^	+2	|
|^	9	|^	+9/+4	|^	+6	|^	+3	|^	+3	|
|^	10	|^	+10/+5	|^	+7	|^	+3	|^	+3	|
|^	11	|^	+11/+6/+1	|^	+7	|^	+3	|^	+3	|
|^	12	|^	+12/+7/+2	|^	+8	|^	+4	|^	+4	|
|^	13	|^	+13/+8/+3	|^	+8	|^	+4	|^	+4	|
|^	14	|^	+14/+9/+4	|^	+9	|^	+4	|^	+4	|
|^	15	|^	+15/+10/+5	|^	+9	|^	+5	|^	+5	|
|^	16	|^	+16/+11/+6/+1	|^	+10	|^	+5	|^	+5	|
|^	17	|^	+17/+12/+7/+2	|^	+10	|^	+5	|^	+5	|
|^	18	|^	+18/+13/+8/+3	|^	+11	|^	+6	|^	+6	|
|^	19	|^	+19/+14/+9/+4	|^	+11	|^	+6	|^	+6	|
|^	20	|^	+20/+15/+10/+5	|^	+12	|^	+6	|^	+6	|


!!!!职业特性

下述为武者 NPC职业的职业特性。

''擅长武器和防具: ''武者擅长所有简单武器与军用武器,以及所有类型盔甲与盾牌。

!!!水中呼吸(Water Breathing)
|变化系|
|''等级:''牧师3,德鲁伊3,术士/法师3,水3|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的活物|
|''持续时间:''2小时/等级;见正文|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可(无害)|
|受术者可在水下自由呼吸。总持续时间需要平均分给所有你接触到的生物。|
|此受术者不会让受术者无法在空气中呼吸。|
|//奥术材料成分://一截芦苇或稻草。|
''水系(Water)亚种:''此亚种包括和水元素位面相关的元素和异界生物。水系生物总是具有游泳速度,在水中移动时不需要进行游泳检定。水系生物可以在水下呼吸,通常也可以呼吸空气。

!!!水面行走(Water Walk)
|变化系[水]|
|''等级:''牧师3,巡林客3|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''一个接触到的生物/等级|
|''持续时间:''10分钟/等级(可解消)|
|''豁免:''意志,通过则无效(无害)|
|''法术抗力:''可(无害)|
|受术的生物可以像行走在坚实地面上一样走在任何液体上。受术者可以顺利通过泥浆,油,雪,流沙,流水,冰面,甚至熔岩,只是受术者的双足会陷入液体表面一至两英寸。(穿越熔岩的生物仍会因靠近高热而受伤。)受术者可以像在平地一样行走、奔跑、冲刺。|
|若是在水底施展此法术(或受术者全部或部分浸在任何液体中),受术者将会以60英尺/轮的速度升起直到他踏上液面。|
''Water Walking(水面行走):''这是镶有猫眼石的戒指,穿戴者如同持续带有“水面行走”法术。

施法者等级:9。先决条件:“锻造戒指”,“水面行走”。交易价格:15000金币。
!!!力竭波(Waves of Exhaustion)
|死灵系|
|''等级:''术士/法师7|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''60英尺|
|''区域:''锥形爆发范围|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''可|
|负能量波会使得法术范围内的所有活物力竭(exhausted)。本法术对已经陷入力竭的生物无效。|
!!!疲乏波(Waves of Fatigue)
|死灵系|
|''等级:''术士/法师5|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''30英尺|
|''区域:''锥形爆发范围|
|''持续时间:''立即|
|''豁免:''无|
|''法术抗力:''可|
|负能量波会使得法术范围内的所有生物疲乏(fatigued)。本法术对已经陷入疲乏的生物无效。|
!!! 武器娴熟(WEAPON FINESSE)[一般专长]

''先决条件:''基本攻击加值+1。

''效果:''当使用适合于你的生物体型的轻型武器、细剑、鞭子或刺链时,你可以在攻击检定中使用你的敏捷调整值而非力量调整值。若你装备有盾牌,其防具检定减值将作用于你的攻击检定。

''特殊:''战士可以选择本专长作为战士的奖励专长。

天生武器永远视为轻型武器。

!!! 专攻武器(WEAPON FOCUS)[一般专长]

选择一种武器,包括选择徒手或擒抱(如果你是施法者,那么还包括射线)。

''先决条件:''擅长所选择的武器、基本攻击加值+1。

''效果:''在使用所选择的武器时你作的攻击检定具有+1加值。。

''特殊:''你可以多次选择此专长,其效果并不累加。每次你都必须选择不同种类的武器。

战士可以选择本专长作为战士的奖励专长。对某武器而言,战士一定要在拥有专攻武器后,才可以选择专精武器。
!!! 专精武器(WEAPON SPECIALIZATION)[一般专长]

选择一种你已经拥有专攻武器专长的武器,包括选择徒手或擒抱。你在使用该武器时可造成额外伤害。

''先决条件:''擅长所选择的武器、对所选择的武器具有专攻武器、战士等级4级。

''效果:''在使用所选择的武器时你作的伤害检定具有+2加值。

''特殊:''你可以多次选择此专长,其效果并不累加。每次你都必须选择不同种类的武器。

战士可以选择本专长作为其战士奖励专长。
!!Weasel(鼬 )

''超小型动物''

|''生命骰:'' 1/2 d8 (2 hp)|
|''先攻权:'' +2|
|''速度:'' 20尺 (4格),攀爬20尺|
|''防御等级:'' 14 (+2体型,+2敏捷),接触14,措手不及12|
|''基本攻击/擒抱:'' +0/ -12|
|''攻击:'' 啮咬 +4 近战 (1d3-4)|
|''全回合攻击:'' 啮咬 +4 近战 (1d3-4)|
|''面宽/触及:'' 2-1/2尺/ 0尺|
|''特殊攻击:'' 攀附|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+2,反射+4,意志+1|
|''属性:'' 力量3,敏捷15,体质10,智力2,感知12,魅力5|
|''技能:'' 平衡+12,攀爬+10,躲藏+11,潜行+8,侦察+3|
|''专长:'' 灵活,武器娴熟|
|''环境:'' 温带山区|
|''组织:'' 单独|
|''挑战等级:'' 1/ 4|
|''进化:'' -|
|''等级调整:'' -|

这些细小的哺乳动物是攻击性很强的掠食者,但它们通常只捕捉较小的猎物。这里列出的数据也适用于貂。

!!!战斗

''攀附 (Ex):''如果鼬的啮咬攻击击中对手的话,那么它就可以通过其有力的颚紧紧咬住对手身体,并且只要还保持在攀附状态,它每轮就可自动造成啮咬伤害。攀附中的鼬会在其防御等级上失去敏捷加值,使其防御等级变为12。攀附中的鼬可被武器攻击或者被擒抱。想要通过擒抱挣脱攀附中的鼬,对手必须成功压制住它。

''技能:''在进行潜行检定时鼬可获得+4的种族加值,进行平衡及攀爬检定时可获得+8的种族加值。它们可使用其敏捷调整值进行攀爬检定。鼬可在攀爬检定中总是取10,即使很匆忙时或受到威胁时也可以。
!!!蛛网术(Web)
|咒法系(创造)|
|''等级:''术士/法师2|
|''法术成分:''言语、姿势、材料|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/每等级)|
|''效果:''半径20英尺扩散范围内的蜘蛛网|
|持续时间;10分钟/每等级|
|''豁免:''反射,通过则无效;见下文|
|''法术杭力:''可|
|蛛网术可造出一大片多层又坚韧又粘稠的丝状物。这些粘丝会困住其中的生物。它们看起来像蜘蛛网,但远比蜘蛛网更大更粗。这些粘丝必须固定在两个或多个完全相对的固定点上,否则就会因不能完全张开而消失。在蛛网中的生物会被粘丝纠缠住。但攻击蛛网内的生物不会让你也被纠缠住|
|法术范围内的任何生物都必须进行反射豁免。如果豁免成功,那么尽管依然是被纠缠状态,但是仍然能够移动,只是移动会因纠缠而变得比往常困难(见后)。如果豁免失败,那么生物被缠住并且不能移动,但可以用一轮的时间挣脱,挣脱需要通过DC20的力量检定或是DC25的脱逃检定。一旦挣脱(不管是因为最初的反射豁免还是后来的力量检定或脱逃检定),那么生物尽管仍然被纠缠。但可以缓慢地在蛛网内移动。如果要进行移动,那么每轮都要做一次新的力量或脱逃检定。若检定结果超过10,则每超过整5点可以移动5英尺。|
|你和对手之间若至少有5英尺蛛网,就会形成掩蔽。若你们之间的蛛网有20英尺以上,则形成完全掩蔽。|
|蛛网术产生的粘丝是易燃物。一把魔法火焰剑可以轻松切开它。任何火焰可以以5平方英尺每轮的速度将其点燃烧除,蛛网燃烧时,困在其中的生物会受到2d4点火焰伤害。|
|蛛网术的效果可以利用魔法恒定术(permanency)永久化。被损伤的(而非被摧毁的)永久化蛛网会在10分钟后复原。|
|//材料成分://一点蜘蛛网。|
!!!怪影杀手(Weird)
|幻术系(魅影幻觉)[恐惧,影响心灵]|
|''等级:''术士/法师9|
|''目标:''任意数量生物,其中任意两者间距不得超过30英尺|
|与魅影杀手(phantasmal killer)相同,但可影响多个生物。只有受术者能看到攻击他们的魅影生物,但你可看到魅影的阴影轮廓。|
|若受术者通过强韧检定,仍会受到3d6点伤害,并震慑1轮。受术者的力量还会受到1d4点暂时伤害。|
这些海洋哺乳动物中的一些种类是体型最大的已知动物。一些较小的鲸 (比如下面列出的独角鲸)是凶猛的掠食者,会攻击它们所侦测到的任何东西。

''盲视 (Ex):''鲸可借助大多数生物都无法听到的高频声波来“看见”东西,这使它们能够定位120尺范围内的物体和生物。沉默术可以使此能力失去作用,并迫使鲸依赖其与人类相当的视力进行观察。

''闭气 (Ex):''在可能遇溺之前,鲸可以摒住呼吸达 8 x 其体质值的轮数。

''技能:''在进行游泳检定做出特殊动作或躲避危险时,鲸可获得+8的种族加值。它可以在游泳检定中总是取10,即使注意力被分散或处于危险时也一样。它可在游泳中使用奔跑动作,但是只能直线前进。*在进行侦察及聆听检定时鲸可获得+4的种族加值。如果其盲视能力失去作用的话,就会失去这些加值。



!!!Baleen Whale(须鲸 )

''巨型动物''

|''生命骰:'' 12d8+78 (132 hp)|
|''先攻权:'' +1|
|''速度:'' 游泳40尺 (8格)|
|''防御等级:'' 16 (-4体型,+1敏捷,+9天生),接触7,措手不及15|
|''基本攻击/擒抱:'' +9/ +33|
|''攻击:'' 尾击 +17 近战 (1d8+18)|
|''全回合攻击:'' 尾击 +17 近战 (1d8+18)|
|''面宽/触及:'' 20尺/ 15尺|
|''特殊攻击:'' -|
|''特性:'' 盲视120尺,闭气,昏暗视觉|
|''豁免:'' 强韧+14,反射+9,意志+5|
|''属性:'' 力量35,敏捷13,体质22,智力2,感知12,魅力6|
|''技能:'' 聆听+15*,侦察+14*,游泳+20|
|''专长:'' 警觉,顽强,坚忍,健壮 (2)|
|''环境:'' 温暖的水域|
|''组织:'' 单独|
|''挑战等级:'' 6|
|''进化:'' 13-18HD (巨型);19-36HD (超巨型)|
|''等级调整:'' -|

这里列出的数据也适用于30到60尺长的、以浮游生物为食的鲸,比如灰鲸、座头鲸或露脊鲸。

这些巨大的生物超乎寻常的温柔。如果受到骚扰或挑衅,它们的反应通常是马上离开。


!!!Cachalot Whale(抹香鲸 )

''巨型动物''

|''生命骰:'' 12d8+87 (141 hp)|
|''先攻权:'' +1|
|''速度:'' 游泳40尺 (8格)|
|''防御等级:'' 16 (-4体型,+1敏捷,+9天生),接触7,措手不及15|
|''基本攻击/擒抱:'' +9/ +33|
|''攻击:'' 啮咬 +17 近战 (4d6+12)|
|''全回合攻击:'' 啮咬 +17 近战 (4d6+12)及尾击 +12 近战 (1d8+6)|
|''面宽/触及:'' 20尺/ 15尺|
|''特殊攻击:'' -|
|''特性:'' 盲视120尺,闭气,昏暗视觉|
|''豁免:'' 强韧+15,反射+9,意志+6|
|''属性:'' 力量35,敏捷13,体质24,智力2,感知14,魅力6|
|''技能:'' 聆听+15*,侦察+14*,游泳+20|
|''专长:'' 警觉,顽强,坚忍,强化天生攻击 (啮咬),健壮|
|''环境:'' 温带水域|
|''组织:'' 单独或成群 (6-11)|
|''挑战等级:'' 7|
|''进化:'' 13-18HD (巨型);19-36HD (超巨型)|
|''等级调整:'' -|

抹香鲸,也被称作巨头鲸,其体长可达60尺。它们捕食巨乌贼。

!!!Orca(独角鲸/ 逆戟鲸/ 虎鲸 )

''超大型动物''

|''生命骰:'' 9d8+48 (88 hp)|
|''先攻权:'' +2|
|''速度:'' 游泳50尺 (10格)|
|''防御等级:'' 16 (-2体型,+2敏捷,+6天生),接触10,措手不及14|
|''基本攻击/擒抱:'' +6/ +22|
|''攻击:'' 啮咬 +12 近战 (2d6+12)|
|''全回合攻击:'' 啮咬 +12 近战 (2d6+12)|
|''面宽/触及:'' 15尺/ 10尺|
|''特殊攻击:'' -|
|''特性:'' 盲视120尺,闭气,昏暗视觉|
|''豁免:'' 强韧+11,反射+8,意志+5|
|''属性:'' 力量27,敏捷15,体质21,智力2,感知14,魅力6|
|''技能:'' 聆听+14*,侦察+14*,游泳+16|
|''专长:'' 警觉,坚忍,飞跑,健壮|
|''环境:'' 寒冷的水域|
|''组织:'' 单独或成群 (6-11)|
|''挑战等级:'' 5|
|''进化:'' 10-13HD (超大型);14-27HD (巨型)|
|''等级调整:'' -|

这些凶猛的生物约30尺长。它们以鱼类、乌贼、海豹及其他鲸类为食。


!!! 旋风攻击(WHIRLWIND ATTACK)[一般专长]

''先决条件:''敏捷13、智力13、寓守于攻、闪避、灵活移动、跳跃攻击、基本攻击加值+4。

''效果:''当发动整轮攻击时,你可以放弃常规攻击,取而代之的以你完全的基本攻击加值对每个在攻击范围内的对手作一次近战攻击。

当使用本专长时,你同时放弃其他专长、法术或能力所赋予你的任何奖励或额外攻击。

''特殊:''战士可以选择本专长作为其战士奖励专长。
!!!旋风术(Whirlwind)
|塑能系[气]|
|''等级:''气8,德鲁伊8|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''长距(400英尺+40英尺/每等级)|
|''效果:''底宽10英尺,顶宽30英尺,高30英尺的旋风|
|持续时间;1轮/每等级(可解消)|
|''豁免:''反射,通过则无效;见下文|
|''法术杭力:''可 |
|此法术造出一股狂暴的旋风,旋风可以在空中、陆上或海面行进,它的速度为每轮60英尺。你可以专注控制旋风的每一步走向,或以简单的命令指示。指挥走向或改变指令都属于标准动作。旋风是在你的回合中移动。如果旋风移到法术距离以外,则会完全不受控制的随机移动1d3轮,然后消散。(你无法再次获得旋风的控制权,即便它回到法术范围内)|
|任何大型或更小的生物一旦遇到旋风就必须进行反射检定,未通过则受到3d6点伤害。中型或更小的生物若第一次检定失败,则需再次进行检定,若失败则被卷到旋风中,在你的回合中每轮受1d8点伤害,且不能再进行检定。你可以随时要求旋风甩出卷入的生物,这些倒霉的家伙将落在被甩出时旋风所在的地方。|
!!!风讯术(Whispering Wind)
|变化系[气]|
|''等级:''吟游诗人2,术士/法师2|
|''法术成分:''言语,姿势|
|''施法时间:''1个标准动作|
|''距离:''1英里/等级|
|''影响区域:''半径10英尺的扩散区域|
|''持续时间:''不多于1小时/等级或直到抵达目的地后能量发散|
|''豁免:''无|
|''法术抗力:''不可|
|你可以利用风向指定地点传送讯息或声音。风讯会前往法术有效距离内你熟悉的特定地点,前提是有路径可以到达那里。在到达目的地之前携带讯息的风如同和风一般轻柔而不为人察觉。抵达目的地后便低声发出讯息,然后消失。注意,无论当地是否有人能听到它,讯息都会被发出。之后微风便会消散。|
|你可以传送的讯息不能多于25个字,也可以传送其他可以在一轮内发出的声音,或仅仅是传出风声。你可以控制风讯的速度,最低为每小时只走1英里,最高则为10分钟急行1英里。|
|风讯抵达目的地后会在目标上空盘旋,直到传完讯息。就像魔嘴(magic mouth)一样,风讯不能不能用作法术的言语成分,也不能作为命令词或启动魔法效果。|
!!! 法术扩展(WIDEN SPELL)[超魔专长]

''效果:''你可以增加一个爆发(burst)、散发(emanation)、直线(line)或扩散(spread)形状法术的作用范围。所有关于该法术作用范围的数值都增加一倍。扩展的法术需占用高于原本一个等级的法术位。

不具有上述四种区域范围的法术不受此专长影响。
!!Wight(尸妖)

''中型不死生物''

|''生命骰:'' 4d12(26hp)|
|''先攻权:'' +1|
|''速度:'' 30尺(6格)|
|''防御等级:'' 15(+1敏捷,+4天生),接触11,措手不及14|
|''基本攻击/擒抱:'' +2/+3|
|''攻击:'' 挥击+3近战(1d4+1加能量吸取)|
|''全回合攻击:'' 挥击+3近战(1d4+1加能量吸取)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 创造衍体,能量吸取|
|''特性:'' 黑暗视觉60尺,不死生物特性|
|''豁免:'' 强韧+1,反射+2,意志+5|
|''属性:'' 力量12,敏捷12,体质-,智力11,感知13,魅力15|
|''技能:'' 躲藏+8,聆听+7,潜行+16,侦察+7|
|''专长:'' 警觉,盲斗|
|''环境:'' 任何|
|''组织:'' 单独,成对,成队(3-5)或成群(6-11)|
|''挑战等级:'' 3|
|''宝物:'' 无|
|''阵营:'' 总是守序邪恶|
|''进化:'' 5-8HD(中型)|
|''等级调整:'' -|

尸妖的形象就像是他们生前形态的歪曲而古怪的映像.尸妖的身高和重量都和人类相当

尸妖说通用语.

!!!战斗

尸妖用它们的拳头捶打攻击对手.

''创造衍体(超自然):''任何被尸妖杀死的类人生物将在1d4轮内变成另一个尸妖.衍体将被创造它的尸妖控制直至被摧毁.它们不保留生前的任何能力.

''能量吸取(超自然):'' 被尸妖挥击击中的活物将得到一个负向等级. 移除该负向等级的强韧检定DC是14.该豁免DC的关键属性是魅力.每以此法吸收一个等级,尸妖便获得5点临时生命值.

''技能:'' 尸妖在潜行上拥有+8种族加值.


''野性:''当此盔甲或盾牌的穿戴者使用自然变身能力时,盔甲的盔甲加值(和任何增强加值)仍然有效。具有此能力的盔甲或盾牌包覆着叶子形的装饰。当穿戴者处在变身状态下,防具是隐形的。

中等变化系灵光;CL9;制造魔法武器和防具,恶意变形术(Baleful Polymorph);价格+3加值。
!!Will-O’-Wisp(鬼火)

''小型异怪(风系)''

|''生命骰:'' 9d8(40hp)|
|''先攻权:'' +13|
|''速度:'' 飞行50尺(完美)(10格)|
|''防御等级:'' 29(+1体形,+9敏捷,+9偏斜),接触29,措手不及20|
|''基本攻击/擒抱:'' +6/-3|
|''攻击:'' 电击+16近战接触(2d8电)|
|''全回合攻击:'' 电击+16近战接触(2d8电)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' -|
|''特性:'' 黑暗视觉60尺,对魔法免疫,天生隐形|
|''豁免:'' 强韧+3,反射+12,意志+9|
|''属性:'' 力量1,敏捷29,体质10,智力15,感知16,魅力12|
|''技能:'' 唬骗+13,交涉+3,易容+1(演技+3),威吓+3,聆听+17,搜索+14,侦察+17,生存+3(追迹+5)|
|''专长:'' 警觉,盲斗,闪避,精通先攻,武器娴熟|
|''环境:'' 温带沼泽|
|''组织:'' 单独,成对或成列(3-4)|
|''挑战等级:'' 6|
|''宝物:'' 1/10金币;50%宝物;50%物品|
|''阵营:'' 通常是混乱邪恶|
|''进化:'' 10-18HD(小型)|
|''等级调整:'' -|

鬼火可能是黄色,白色,绿色或蓝色.它们经常被误认为提灯,尤其是在它们居住大雾弥漫的湿地或沼泽中.鬼火的身体是一个直径约1尺,重约3磅的海绵状球体,它发光的躯体发出的光大约相当于一个火把.
鬼火会说通用语和水族语.它们没有发声器官,却能通过震动发出鬼魅般的声音.

!!!战斗

鬼火通常会避免战斗.它们更愿意扰乱并迷惑冒险者们,诱引他们进入沼泽或其他危险的地方.当它们被迫战斗时,他们会以近战接触攻击的形式放出少量电流.

''对魔法免疫(特异):'' 鬼火对大部分允许法术抗性的法术和类法术能力免疫,除了魔发飞弹 和迷宫术.
''天生隐形(特异):''一个受惊吓或恐惧的鬼火可以熄灭它的光芒,从而如被施展了同名法术一般成为隐形.

!!!御风而行(Wind Walk)
|变化系[气]|
|''等级:''牧师6,德鲁伊7|
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''你和每三级一个接触到的生物|
|''持续时间:''1小时/等级(可解消);见下文|
|''豁免:''无或意志,通过则无效(无害)|
|''法术抗力:''不可或可(无害)|
|你将自己变成一团云样雾气(如同气化形体(gaseous form))在空气中高速穿梭。你可以带上其他生物,它们各自独立行动。|
|通常,御风而行者以10尺的速度移动,并具有完美机动性。如果受术者愿意,一股魔法风可以将御风而行者吹起,最高可以每轮600尺的速度移动(每小时60英里),但机动性为不良。御风而行者并非隐形,而是呈半透明雾状。若全身均着白衣,那么会有80%的机率被误认作云、雾、蒸汽之类的东西。|
|御风而行者随时可以变回原形,之后又可恢复为云雾状。变成蒸汽和从蒸汽变回都须花费5轮时间,且计入法术的持续时间(在实体形体期间的时间亦计入持续时间)。如法术说明,你可以解消法术,亦可只解消某个受术者的法术而不影响其他人。|
|法术持续时间中的最后一分钟,云雾状态下的御风而行者自动以每轮60尺的速度下降(共下降600尺),当然如果愿意也可以以更快速度下降。这效果是法术即将终止的警告。 |
!!!风墙术(Wind Wall)
|塑能系[气]|
|''等级:''气2,牧师3,德鲁伊3,巡林客2,术士/法师3|
|''法术成分:''言语,姿势,材料/法器|
|''施法时间:''1个标准动作|
|''距离:''中距(100英尺+10英尺/等级)|
|''效果:''最多长10英尺/等级,高5英尺/等级的墙(可变)|
|''持续时间:''1轮/等级|
|''豁免:''无;见下文|
|''法术抗力:''可|
|本法术会造出一道隐形的竖直风帘。其厚度为两英尺,且有一定的强度。风帘中总是存在咆哮的气流,比鹰小的鸟类会被吹走,未抓紧的纸片或轻质物品也会被吹飞。(生物可通过反射检定以抓住物品。)小型和超小型的飞行生物无法穿过风墙。布料和没绑紧的物品会在风墙内会被向上吹。箭矢会向上偏斜而射失,其他穿过风帘的普通远程武器有30%的失手几率。(巨人投掷的大石块,攻城器的投射物,以及其他巨大的远程武器则不受影响。)气体,多数喷吐武器和气态生物无法通过该墙(虚体生物不受影响)。|
|风墙必须垂直于地面,但可以任意地蜿蜒。可以制造圆柱形或立方体形风墙来隔离特定地点。|
|//奥术材料成分://一把微型的扇子和一根罕见的羽毛。|
''飞翼盾:''这面圆形重木盾有+3增强加值。盾牌边缘上装饰着许多小小的羽翼。一旦被启动,盾牌能带着使用者飞行,如同飞行术(fly),每天1次。盾牌承载133磅重量以下时每轮能飞行60英尺;承载266磅以下时每轮飞行40英尺。
微弱变化系灵光;CL5;制造魔法武器和防具,飞行术(fly);价格17257金币;制造花费8628金币5银币+690经验值。
!!Winter Wolf(冬狼)

''大型魔法兽(寒系)''

|''生命骰:'' 6d10+18(51hp)|
|''先攻权:'' +5|
|''速度:'' 50尺(10格)|
|''防御等级:'' 15(–1体型,+1敏捷,+5天生),接触10,措手不及14|
|''基本攻击/擒抱:'' +6/+14|
|''攻击:'' 啮咬+9近战(1d8+6加1d6寒冷)|
|''全回合攻击:'' 啮咬+9近战(1d8+6加1d6寒冷)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 喷吐武器,寒冰咬,摔拌攻击|
|''特性:'' 黑暗视觉60尺,对寒冷免疫,昏暗视觉,灵敏嗅觉,畏火|
|''豁免:'' 强韧+8,反射+6,意志+3|
|''属性:'' 力量18,敏捷13,体质16,智力9,感知13,魅力10|
|''技能:'' 躲藏–1*,聆听+6,潜行+7,侦察+6,生存+1*|
|''专长:'' 警觉,精通先攻,追踪|
|''环境:'' 寒带森林|
|''组织:'' 单独,成对或成群(3–5)|
|''挑战等级:'' 5|
|''宝物:'' 1/10金币;50%宝物;50%物品|
|''阵营:'' 通常是中立邪恶|
|''进化:'' 7–9HD(大型);10–18HD(超大型)|
|''等级调整:'' +3(作为部属)|

!!!战斗
冬狼通常成群狩猎. 它们的规模,黠智和可怕的喷吐武器足以让它们猎杀体型比自己大得多的生物.冬狼群通常会包围对手,然后轮流攻击以拖挎对手.如情况紧急,冬狼会选择压制敌人.

''喷吐武器(超自然):'' 15尺锥状,每1d4轮一次, 伤害4d6寒冷,反射DC16减半.该DC的关键属性是体质. 

''寒冰咬(超自然):'' 冬狼的啮咬攻击如同霜冻武器,每次啮咬都对对手造成额外的1d6点寒冷伤害.

''摔拌攻击(特异):'' 冬狼若啮咬攻击命中对手,则它不需要作接触攻击或引发借机攻击就可以尝试以一个即时动作摔拌对手(+8检定调整).如果尝试失败,对手也无法反摔拌冬狼.

''技能:''冬狼在聆听,潜行和侦察检定上有+1种族加值,在躲藏检定上有+2种族加值. 

*它们的天然毛色使它们在雪域和冰域上时躲藏检定上有+7 种族加值.冬狼在用嗅觉追踪时生存检定有+4种族加值.
!!!祈愿术(Wish)
|共通|
|''等级:''术士/法师9 |
|''法术成分:''言语,消耗经验值|
|''施法时间:''1个标准动作|
|''距离:''见下文|
|''目标、效果、影响区域:''见下文|
|''持续时间:''见下文|
|''豁免:''见下文|
|''法术抗力:''可|
|祈愿术是术士和法师最强大的法术。只要大声说出愿望就可以改变现实来满足你的愿望。|
|但是即便是祈愿术,仍有其限制。|
|祈愿术可造成以下任一效果。|
*复制任意一个法术等级不高于8级的术士或法师法术,只要它不属于你的禁阻学派。|
*复制任意一个法术等级不高于6级的其它法术,只要它不属于你的禁阻学派。|
*复制任意一个法术等级不高于7级的术士或法师法术,即便是你的禁阻学派。|
*复制任意一个法术等级不高于5级的其它法术,即便是你的禁阻学派。|
*移除大部分有害的法术效果,例如指使术(geas/quest)或精神错乱(insanity)。|
*创造出价值不超过25,000金币的非魔法物品。|
*创造魔法物品,或给已有的魔法物品增添新的能力。|
*针对生物的某项属性给以+1的内在加值,同时连续施展2到5个祈愿术可使同一属性获得+2至+5的内在加值。(同时施展两个祈愿术获得+2加值,施展三个获得+3,以此类推)。内在加值立即生效,所以不会被解除。注意:单一属性的内在加值不会超过5,且不能累加,只有最高加值有效。|
*去除受伤或不良状态。单独的一个祈愿术可以医治每施法者等级一个生物,所有被医治的生物必须是同一种不良状态。例如你可以为你和你的队友医治伤害,或为所有队员解毒,但一次施法不能同时医治伤害和解毒。祈愿术不能挽回施法时消耗的经验值和复活时失去的等级和体质。|
*复活死者。祈愿术可以通过复制复生术(resurrection)来复活死者。祈愿术可以复活尸体被毁坏的生物,但这需要两个祈愿术:一个使尸体复原,另一个使其复活。祈愿术不能恢复复活时失去的经验值等级。|
*传送人员。一个祈愿术可以传送每等级一个生物自任何位面的任何地点至任何目的地,而不必考虑当地坏境。生物若不情愿,则可通过意志豁免或法术抗力使法术失效。|
*取消灾祸。祈愿术可取消一个新近发生的事件。祈愿术可以强制重投上一轮的任何掷骰(包括你的前一回合)。现实将因此改变来适应新的结果。比如祈愿术可以让对手重投已成功了的豁免检定或取消一次重击(或者攻击检定,或者重击判定),或使朋友重掷失败了的豁免检定等等。但是,重掷的结果也许会比原来更差,不情愿的生物可以通过意志豁免或法术抗力使法术失效。|
|你可以试图产生比上述种种更强的效果,但这么做很危险(你的愿望会照字面意思得到实行,但是却完全不是你期望的结果,或是仅仅实行了其中的一部分)。|
|复制产生的法术和原来一样具有豁免检定和法术抗力(但豁免DC以9级计)。|
|//材料成分://若祈愿术复制的法术需要价值超过10,000金币的法术材料,你必须支付该材料。|
|//消耗经验值://施展祈愿术至少要消耗5,000点经验值。若祈愿术复制的法术需消耗经验值,那么以较多者为准。用祈愿术制造或改良魔法物品,除消耗必须的5,000点经验值外,还需消耗两倍于通常制造或改良魔法物品的经验值。|
''枯萎(Withering):''“枯萎权杖”是一把不会造成生命值伤害的+1轻型硬头锤。持用者可用权杖进行近战接触攻击,遭击中者会受到1d4点暂时力量伤害,及1d4点暂时体质伤害。如果造成重击,则为永久属性吸取。无论如何,遭攻击者都可以进行强韧检定(DC=14),若通过则无效。

施法者等级:13。先决条件:“制造权杖”,“制造魔法武器及防具”,“疫病术”。交易价格:17000金币。
''阵营:''任意

''生命骰:''d4

 
!!!! 本职技能
法师的本职技能(和各技能的关键属性)为:专注(体质),手艺(智力),文书解读(智力),知识(所有方面,需逐个选择)(智力),专业(智力),法术辨识(智力)。技能说明见技能部分。

''1级人物起始技能点:''(2+智力修正)x4

''升级技能点数:''2+智力修正。

 

''表:法师''

|!		|!		|!		|!		|!		|!		|!	---------- 每日法术 ---------|<|<|<|<|<|<|<|<|<|
|!	等级	|!	基本攻击加值	|!	强韧豁免	|!	反射豁免	|!	意志豁免	|!	特殊	|!	0级	|!	1级	|!	2级	|!	3级	|!	4级	|!	5级	|!	6级	|!	7级	|!	8级	|!	9级	|
|^	1	|^	+0	|^	+0	|^	+0	|^	+2	|^	召唤魔宠,抄录卷轴	|^	3	|^	1	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	2	|^	+1	|^	+0	|^	+0	|^	+3	|^		|^	4	|^	2	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	3	|^	+1	|^	+1	|^	+1	|^	+3	|^		|^	4	|^	2	|^	1	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	4	|^	+2	|^	+1	|^	+1	|^	+4	|^		|^	4	|^	3	|^	2	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	5	|^	+2	|^	+1	|^	+1	|^	+4	|^	奖励专长	|^	4	|^	3	|^	2	|^	1	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	6	|^	+3	|^	+2	|^	+2	|^	+5	|^		|^	4	|^	3	|^	3	|^	2	|^	-	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	7	|^	+3	|^	+2	|^	+2	|^	+5	|^		|^	4	|^	4	|^	3	|^	2	|^	1	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	8	|^	+4	|^	+2	|^	+2	|^	+6	|^		|^	4	|^	4	|^	3	|^	3	|^	2	|^	-	|^	-	|^	-	|^	-	|^	-	|
|^	9	|^	+4	|^	+3	|^	+3	|^	+6	|^		|^	4	|^	4	|^	4	|^	3	|^	2	|^	1	|^	-	|^	-	|^	-	|^	-	|
|^	10	|^	+5	|^	+3	|^	+3	|^	+7	|^	奖励专长	|^	4	|^	4	|^	4	|^	3	|^	3	|^	2	|^	-	|^	-	|^	-	|^	-	|
|^	11	|^	+5	|^	+3	|^	+3	|^	+7	|^		|^	4	|^	4	|^	4	|^	4	|^	3	|^	2	|^	1	|^	-	|^	-	|^	-	|
|^	12	|^	+6/+1	|^	+4	|^	+4	|^	+8	|^		|^	4	|^	4	|^	4	|^	4	|^	3	|^	3	|^	2	|^	-	|^	-	|^	-	|
|^	13	|^	+6/+1	|^	+4	|^	+4	|^	+8	|^		|^	4	|^	4	|^	4	|^	4	|^	4	|^	3	|^	2	|^	1	|^	-	|^	-	|
|^	14	|^	+7/+2	|^	+4	|^	+4	|^	+9	|^		|^	4	|^	4	|^	4	|^	4	|^	4	|^	3	|^	3	|^	2	|^	-	|^	-	|
|^	15	|^	+7/+2	|^	+5	|^	+5	|^	+9	|^	奖励专长	|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	3	|^	2	|^	1	|^	-	|
|^	16	|^	+8/+3	|^	+5	|^	+5	|^	+10	|^		|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	3	|^	3	|^	2	|^	-	|
|^	17	|^	+8/+3	|^	+5	|^	+5	|^	+10	|^		|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	3	|^	2	|^	1	|
|^	18	|^	+9/+4	|^	+6	|^	+6	|^	+11	|^		|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	3	|^	3	|^	2	|
|^	19	|^	+9/+4	|^	+6	|^	+6	|^	+11	|^		|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	3	|^	3	|
|^	20	|^	+10/+5	|^	+6	|^	+6	|^	+12	|^	奖励专长	|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|^	4	|

 

!!!! 职业特性
以下是法师的职业特性。

''武器和防具擅长:''法师擅长使用木棒、匕首、重弩、轻弩、木棍,但是不擅长使用任何盔甲或盾牌。任何防具都会限制法师的动作,因而导致法师施展具有姿态成分的法术时失败。

''法术:''法师施展术士/法师法术列表中的奥术。他必须预先选择并准备法术(见后)。

要学习、准备或施展法术,法师的智力必须达到10+法术等级。抵抗法师法术的豁免难度等级为10+法术等级+法师智力修正。

和其他施法者一样,法师每天在每个法术等级上只能施展有限数量的法术。他的基本每日法术分配方案列在表:法师内。另外,如果他有较高的智力值,他还可以获得每日奖励法术。

和吟游诗人或术士不同,法师可以知道任意数量的法术。他必须通过一晚良好的睡眠并花费1小时研习他的法术书来选择和准备法术。法师在研习法术书时决定要准备的法术。

''额外语言:''法师可以以龙语(Draconic)替换他的种族额外语言列表中的一种。

''魔宠(Familiar):''法师可以用和术士一样的方法获得魔宠。详见术士说明和之后的魔宠信息。

''抄录卷轴(Scribe Scroll):''一级时,法师获得抄录卷轴(Scribe Scroll)作为奖励专长。

''奖励专长:''在5,10,15,20级时,法师都可以获得一个奖励专长。在每次获得这些专长时他可以挑选超魔专长、物品制造专长或者法术熟稔专长。法师依然必须达到这些专长的前提要求,包括最低施法者等级。

这些奖励专长是对因角色升级而获得专长的补充。当法师选择角色升级专长时,他不受法师奖励专长的限制。

''法术书(Spellbooks):''法师必须每天研习他的法术书来准备法术。他不能准备任何没有记录在他法术书内的法术,除了阅读魔法(read magic),任何法师都可以凭记忆准备这个法术。

在开始游戏的时候法师会带有一本法术书,该法术书内记录了所有的0级法术(除了他的禁止学派法术,如果有的话;见之后学派专精),再加上3个玩家选择的一级法术。法师的每一点智力加值可以让起始法术书内多获得一个一级法术。每获得一个新的法师等级,法师都可以获得两个法术添加在法术书中,这两个法术可以是任何他能施展的法术等级上的法术(基于他新的法师等级)。无论何时,法师都可以将其他法师法术书上的法术加入自己的法术书。

 

!!! 学派专精(SCHOOL SPECIALIZATION)

一个法术学派是八大类法术的一种,每类法术都有一个共同的特色。如果愿意,法师可以专精某一个魔法学派(见后)。学派专精可以让法师施展他所选定学派的额外法术,但是他永远不能施展其他某些学派法术。

专精法师每天每个法术等级上都可以多准备一个专精学派的法术。在学习他选择的学派法术时,他的法术辨识检定有+2加值。

法师必须在一级的时候决定是否专精,以及专精哪一个学派。在此时,他必须放弃其他两类魔法学派(除非他选择专精预言系,见后),这些将是他的禁止学派。

法师永远不能放弃预言系来满足此要求。

法师不能使用禁止学派的法术,哪怕是卷轴或者法杖。他也不能在以后更改他的专精学派或者禁止学派。

八类奥术学派为:防护系(abjuration),咒法系(conjuration),预言系(divination),惑控系(enchantment),塑能系(evocation),幻术系(illusion),死灵系(necromancy),以及变化系(transmutation)。

凡是不能归入任何一类法术学派的法术都称为共通法术(universal)。

//防护系(Abjuration)://用于防护、阻挡,或者消除的法术。防护系专精法师叫做护法师(abjurer)。

//咒法系(Conjuration)://为施法者带来生物或者物质的法术。咒法系专精法师叫做咒法师(conjurer)。

//预言系(Divination)://用于揭示信息的法术。预言系专精法师叫做预言师(diviner)。和其他专精法师不同,预言师只需放弃一类其他法术。

//惑控系(Enchantment)://使受术者获得一些特性或者让施法者控制其它生物的法术。惑控系专精法师称为惑控师(enchanter)。

//塑能系(Evocation)://用于操纵能量或者从虚无中创造物质的法术。塑能系专精法师称为塑能师(evoker)。

//幻术系(Illusion)://能够改变感觉或者创造虚假幻象的法术。幻术系专精法师称为幻术师(illusionist)。

//死灵系(Necromancy)://操纵、创造,或者摧毁生命和生命力的法术。死灵系专精法师称作死灵师(necromancer)。

//变化系(Transmutation)://变化受术对象物理形态或者很精细的改变受术对象一些特性的法术。变化系专精法师称作变化师(transmuter)。

//共通法术(Universal)://这一类法术并非法术学派,而是那些所有法师都可以学习的法术总称。法师不能把共通法术当作专精学派或者禁止学派。只有少数法术属于这一类。

 

!!! 魔宠(FAMILIARS)

魔宠是一种普通动物,在被术士或法师召唤出来为其服务时获得新力量,同时变为魔法兽。它保留它作为动物时的外形、生命骰、基本攻击加值、基本豁免加值、技能,还有专长,但是在考虑依赖于分类的魔法效果时,它视为魔法兽而非动物。只有一个普通的未受训的动物才能成为魔宠。动物伙伴无法成为魔宠。

魔宠会给他的主人(术士或法师)带来特殊能力,见下表。这些特殊能力只有在主人和魔宠彼此相距1英里内才起作用。

在确定魔宠的那些跟主人等级相关的特殊能力时要将所有有魔宠职业的等级累加起来。

|!	魔宠	|!	特殊	|
|^	蝙蝠(Bat)	|^	主人在聆听检定上获得+3加值	|
|^	猫(Cat)	|^	主人在潜行检定上获得+3加值	|
|^	猎鹰(Hawk) 	|^	主人在明亮光线中的侦察检定上获得+3加值	|
|^	蜥蜴(Lizard) 	|^	主人在攀爬检定上获得+3加值	|
|^	猫头鹰(Owl)	|^	主人在阴影中的侦察检定上获得+3加值	|
|^	老鼠(Rat) 	|^	主人在强韧豁免上获得+2加值	|
|^	渡鸦^^1^^(Raven) 	|^	主人在估价检定上获得+3加值	|
|^	蛇^^2^^(Snake) 	|^	主人在唬骗检定上获得+3加值	|
|^	蟾蜍(Toad) 	|^	主人增加3点生命值	|
|^	鼬(Weasel) 	|^	主人在反射豁免上获得+2加值	|
|^	1根据主人的选择,渡鸦魔宠会说主人的一种语言,这是超自然能力。	|<|
|^	2超小型蝰蛇(Tiny viper)	|<|

 

''魔宠基本说明:''使用魔宠同类生物的数据,但是作如下调整。

//生命骰://在计算和生命骰有关的效果时,使用主人的人物等级或者魔宠正常的生命骰数,以高者为准。

//生命值://魔宠的生命值为主人总生命值(不包括暂时生命值)的一半,舍去小数,生命值和魔宠实际生命骰无关。

//攻击://使用主人的基本攻击加值,是根据其所有职业计算出的基本攻击加值。 用魔宠的敏捷修正或力量修正中较高者加在魔宠的天生武器近战加值上。

伤害和魔宠的普通同类生物相同。

//豁免检定://在每项豁免检定上,使用魔宠自身的基础豁免加值(强韧+2,反射+2,意志+0)或者主人的(根据主人所有职业等级计算得出),以较好者为准。在豁免上魔宠使用自己的属性修正,魔宠也无法从主人那里分享任何其他可能有的豁免加值。

//技能://在主人或魔宠有技能级数的技能上,使用魔宠同类动物的正常技能级数或者主人的技能级数,以较高的为准。不管哪种情况,魔宠都使用自己的属性修正。但无论魔宠的总技能修正是多少,有些技能依然超过了魔宠的能力而无法使用。

''魔宠能力说明:''所有魔宠都有特殊能力(或者给它们主人提供能力),这些能力依赖于主人所有拥有魔宠的职业的总等级,如下表所示。该表给出的能力时可以累加的。

//天生防御调整(Natural Armor Adj)://该数值增强了魔宠的天生防御。

//智力(Int)://魔宠的智力值。

//警觉(Alertness,特异能力)://当魔宠在一臂之距内时,主人获得警觉专长。

//精通反射闪避(Improved Evasion,特异能力)://有些攻击效果若通过反射检定可以减少一半伤害,如果魔宠遭到此类攻击,在通过反射检定后它将不受伤害,如果检定失败它也只受到一半伤害。

//法术共享(Share Spells,特异能力)://根据主人的选择,他可以让他施放给自己的法术(不包括类法术能力)同样影响自己的魔宠。该魔宠必须在施法发生效果时处在主人周围5英尺范围内。

如果该法术或者法术效果不是瞬间的而是有持续时间,那么在魔宠离开5尺范围后该法术将无法影响此魔宠,并且也不会再次影响它,就算它在法术持续时间到期前回到主人身边也是如此。另外,主人可以对魔宠施展那些法术目标为“自己”(“You”)的法术(按照远程接触法术方式)而不是只能对自己施展。

即使某些法术通常不会影响魔宠同类生物(魔法兽),主人也可以用这种方式和魔宠共享该法术。

//情感链接(Empathic Link,超自然能力)://主人和他的魔宠之间有着内心上的连接,情感连接的最远距离为1英里。主人无法用他魔宠的双眼去看,但是他们彼此分享心灵。由于这种连接的天生限制,只有一般的心灵感受可以被传递。

因为这种情感链接,主人对那些他魔宠曾经遇上的事物或去过的地点也会建立起相同的关联。

//传递接触法术(Deliver Touch Spells,超自然能力)://如果主人等级达到三级或以上,魔宠可以替他传递接触性法术。如果主人施展接触性法术时魔宠和他在一起,他可以指定他的魔宠为“接触者”。魔宠之后即可像主人本人一样去传递此接触性法术。和正常情况一样,如果在法术被传递前主人施展了另外一个法术,该接触法术消散。

//与主人交谈(Speak with Master,特异能力)://如果主人等级为5级或者更高,魔宠和主人之间可以通过语言来交流,就像他们正在使用通用语交谈一样。其他生物在没有魔法帮助的情况下无法理解这种交流的内容。

//与动物同类交谈(Speak with Animals of Its Kind,特异能力)://如果主人等级为7级或更高,魔宠就可以和它近似种类的动物进行交流(包括凶暴动物):蝙蝠与蝙蝠,老鼠与啮齿动物,猫与猫科动物,猎鹰、猫头鹰、渡鸦与鸟类,蜥蜴和蛇与爬虫类动物,蟾蜍与两栖动物,鼬与类似动物(鼬,水貂,斑纹臭鼬,白鼬,臭鼬,狼獾,獾)。它们之间的交流受对象生物智力的限制。

//法术抗力(Spell Resistance,特异能力)://如果主人11级或者更高等级,魔宠就会获得法术抗力,抗力值等于主人等级+5。要用法术影响魔宠,施法者必须在施法者等级检定(1d20+施法者等级)中得到等于或大于魔宠法术抗力的结果值。

//探知魔宠(Scry on Familiar,类法术能力)://主人达到13级或者更高等级时,他可以对其进行探知(如同施展探知(scrying)法术),该能力每日一次。

|!	主人职业等级	|!	天生防御调整	|!	智力	|!特殊 |
|^	1-2 	|^	+1 	|^	6 	|^	警觉,精通反射闪避,法术共享,情感链接	|
|^	3-4 	|^	+2 	|^	7 	|^	传递接触法术	|
|^	5-6 	|^	+3 	|^	8 	|^	与主人交谈	|
|^	7-8 	|^	+4 	|^	9 	|^	与动物同类交谈	|
|^	9-10 	|^	+5 	|^	10 	|^	-	|
|^	11-12 	|^	+6 	|^	11 	|^	法术抗力	|
|^	13-14 	|^	+7 	|^	12 	|^	探知魔宠	|
|^	15-16 	|^	+8 	|^	13 	|^	-	|
|^	17-18 	|^	+9 	|^	14 	|^	-	|
|^	19-20 	|^	+10 	|^	15 	|^	-	|



 

!!! 奥术和防具(ARCANE SPELLS AND ARMOR)

法师和术士不知道如何有效的穿戴防具。

如果愿意,他们依然可以穿戴防具(尽管他们会因此而很不灵活),他们也可以通过训练来学习如何正确使用防具(通过不同的盔甲擅长专长--轻甲,中甲,重甲--和盾牌擅长专长),他们还可以通过兼职其它职业来擅长使用防具。但是即使法师或术士穿着了他们擅长使用的防具,它们依然有可能干扰施法。

防具会限制法师或术士在施展具有姿态成分法术(大部分法术含有此成分)时必须作的精确手势。盔甲和盾牌说明中列出了不同盔甲和盾牌的奥术失败概率。与此不同的是,吟游诗人不仅知道如何有效的穿戴轻甲,他们还不受轻甲的奥术失败概率影响。但是穿着比轻甲重的盔甲或者使用任何盾牌时还是会受到一般的奥术失败概率影响,即使他擅长使用这些防具也是如此。

如果一个法术不具有姿态成分,那么在穿戴盔甲时奥术施法者可以毫无问题的施展它。这些法术同样可以在施法者手被绑起来或者被擒抱中(依然要进行通常的专注检定)时施展。另外,超魔专长静发施法可以让施法者以比正常法术等级高一级的方式来准备或施展一个去掉姿态成分的法术。这种情况下穿着防具施法也不会有奥术失败的风险。
''Wizardry(巫术):''此特殊戒指有四种样式(一级、二级、三级、四级),只有奥术释放者可以使用。穿戴者每日特定等级的奥术数量上限可以加倍。“一级巫术戒指”可使一级法术的每日数量上限加倍,“二级巫术戒指”可使二级法术的每日数量上限加倍,以此类推。因属性值或专精而额外增加的法术数量不会加倍。

中等(巫术I)或者强烈(巫术II-IV)(无学派);施法者等级:11(“一级巫术戒指”)、14(“二级巫术戒指”)、17(“三级巫术戒指”)或20(“四级巫术戒指”)。先决条件:“锻造戒指”,“有限愿望”。交易价格:20000金币(“一级巫术戒指”)、40000金币(“二级巫术戒指”)、70000金币(“三级巫术戒指”)、100000金币(“四级巫术戒指”)。
!!Wolf(狼 )

''中型动物''

|''生命骰:'' 2d8+4 (13 hp)|
|''先攻权:'' +2|
|''速度:'' 50尺 (10格)|
|''防御等级:'' 14 (+2敏捷,+2天生),接触12,措手不及12|
|''基本攻击/擒抱:'' +1/ +2|
|''攻击:'' 啮咬 +3 近战 (1d6+1)|
|''全回合攻击:'' 啮咬 +3 近战 (1d6+1)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 绊摔|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+5,反射+5,意志+1|
|''属性:'' 力量13,敏捷15,体质15,智力2,感知12,魅力6|
|''技能:'' 躲藏+2,聆听+3,潜行+3,侦察+3,生存+1*|
|''专长:'' 追踪,专攻武器 (啮咬)|
|''环境:'' 温带森林|
|''组织:'' 单独,成对,或成群 (7-16)|
|''挑战等级:'' 1|
|''进化:'' 3HD (中型);4-6HD (大型)|
|''等级调整:'' -|

狼是以固执和狡猾而著称的群居猎食者。

!!!战斗
它们最喜欢的战术是让几只单独的狼从正面攻击敌人,同时其他的狼绕个圈从敌人的后方进行夹击。

''绊摔 (Ex):''狼一旦通过其啮咬攻击击中对手就可通过一个即时动作对对手尝试展开拌摔 (+1检定调整值),该动作不会引发借机攻击。即使尝试失败,对手也不能反过来拌摔狼。

''技能:''*在通过嗅觉追踪进行生存检定时狼可获得+4的种族加值。
!!Wolverine(狼獾 )

''中型动物''

|''生命骰:'' 3d8+15 (28 hp)|
|''先攻权:'' +2|
|''速度:'' 30尺 (6格),掘穴10尺,攀爬10尺|
|''防御等级:'' 14 (+2敏捷,+2天生),接触12,措手不及12|
|''基本攻击/擒抱:'' +2/ +4|
|''攻击:'' 爪抓 +4 近战 (1d4+2)|
|''全回合攻击:'' 2 爪抓 +4 近战 (1d4+2)及啮咬 -1 近战 (1d6+1)|
|''面宽/触及:'' 5尺/ 5尺|
|''特殊攻击:'' 凶暴|
|''特性:'' 昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+7,反射+5,意志+2|
|''属性:'' 力量14,敏捷15,体质19,智力2,感知12,魅力10|
|''技能:'' 攀爬+10,聆听+6,侦察+6|
|''专长:'' 警觉,健壮,追踪|
|''环境:'' 寒冷的森林|
|''组织:'' 单独|
|''挑战等级:'' 2|
|''进化:'' 4-5HD (大型)|
|''等级调整:'' -|

这些生物与獾类似,但是体型更大,力量更强,而且更加凶猛。

!!!战斗

''凶暴 (Ex):''狼獾如果在战斗中受伤,那么下一轮它就会进入凶暴状态,疯狂地用爪抓和啮咬攻击,直到对手或自己死亡为止。凶暴状态中的狼獾力量+4,体质+4,防御等级-2。狼獾无法自行终止它的凶暴状态。

''技能:''狼獾在进行攀爬检定时会获得+8的种族加值,并且可以在做攀爬检定时总是取10,即使是在很匆忙或者受到威胁时也可以。

''惊异(Wonder):''这是一把不可预测的权杖,每次使用时(标准动作)会随机产生奇怪的效果。可能产生的效果如下述,DM可任意修改效果,以符合剧情需要。预设效果包括:

|!	d%	 |!	特殊效果	 |
|^	01–05	 |^	对目标施展“缓慢术”持续10轮(意志DC=15).	 |
|^	06–10	 |^	“妖火”包围目标。	 |
|^	11–15	 |^	再投一次D%,使用者误信效果为第二次D%出的效果,持续1轮。(无豁免)	 |
|^	16–20	 |^	“造风术”,强度为暴风(意志DC=14)	 |
|^	21–25	 |^	得知目标的外在想法,持续1D4轮,无豁免(效果如同“侦测思想”)	 |
|^	26–30	 |^	“臭云术”,距离30英尺(DC=15)	 |
|^	31–33	 |^	权杖半径60英尺内降下倾盆大雨,持续1轮	 |
|^	34–36	 |^	“召唤术”召唤动物:犀牛(01-25)大象(26-50)或老鼠(51-100)	 |
|^	37–46	 |^	“闪电束”(70英尺长。5英尺宽),6d6伤害(DC=15)	 |
|^	47–49	 |^	冒出600只蝴蝶振翅飞舞,遮蔽25英尺范围内所有人(包括使用者)的视线。(反射DC=14)持续两轮。	 |
|^	50–53	 |^	“变巨术”,权杖60英尺内的指定目标(DC=13).	 |
|^	54–58	 |^	“黑暗术”范围为直径30英尺的半球体,球心距权杖30英尺。	 |
|^	59–62	 |^	权杖前方160平方英尺范围长出草皮,或原有草皮长大10倍。	 |
|^	63–65	 |^	将重1000磅以下、体积30立方英尺以下的无生命体转为灵体	 |
|^	66–69	 |^	“缩小术”,使用者受到该效果影响。(无豁免)	 |
|^	70–79	 |^	对目标物或前方100英尺处发出“火球术”,造成6D6点伤害(DC=15)	 |
|^	80–84	 |^	“隐形”效果笼罩使用者	 |
|^	85–87	 |^	若目标距离60英尺内则长出叶子持续24小时。	 |
|^	88–90	 |^	向前射出10到40颗宝石,每颗宝石价值1GP,射程30英尺。每颗宝石对路径上的生物造成1点伤害:投5D4决定伤害总值,平均分配到这些生物上。	 |
|^	91–95	 |^	权杖前方40英尺乘30英尺区域内光芒闪动,范围内生物成为目盲,持续1D6轮(强韧DC=15,通过无效)	 |
|^	96–97	 |^	使用者或目标(各有50%机会)永远变成蓝色、绿色或者紫色(无豁免)	 |
|^	98–100	 |^	若目标在60英尺内,则受到“石化术”(如果目标已经被石化则为“解除石化”,强韧DC=18)	 |


施法者等级:10。先决条件:“制造权杖”,“困惑术”,制造者必须为混乱阵营。交易价格:12000金币。
!!!塑木术(Wood Shape)
|变化系|
|''等级:''德鲁伊2 |
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''接触|
|''目标:''接触到的一块木材,体积不大于10立方英尺加每等级1立方英尺|
|''持续时间:''立即|
|''豁免:''意志,通过则无效(物体)|
|''法术抗力:''可(物体)|
|塑木术可重新塑造一块已存在的木头的形状以符合你的需要。该法术可以做出粗糙的柜子、门等,但细节部分无法做出。含有可动零件的成品有30%的几率无法运作。|
!!!混沌真言(Word of Chaos)
|塑能系[混乱,音波]|
|''等级:''混乱7,牧师7|
|''法术成分:''言语|
|''施法时间:''1个标准动作|
|''距离:''40英尺|
|''区域:''以你为中心,40英尺扩散半径内的非混乱生物|
|''持续时间:''立即|
|''豁免:''无或意志,通过则无效;见下文|
|''法术抗力:''可|
|法术范围内的非混乱生物在听到混沌真言时,会承受以下不良效果。|
|这些效果是可以累加的,并且同时起作用。无法对这些效果进行豁免判定。|
|//变聋://生物耳聋1d4轮。|
|//震慑://生物震慑1轮。|
|//困惑://生物困惑1d10分钟,效果如同困惑术(confusion),这是影响心灵的惑控系效果。|
|//被杀://活着的生物死亡。不死生物被摧毁。|

|!	生命骰数	 |!	效果	 |
|^	等同施法者等级	 |^	变聋	 |
|^	至多比施法者等级低1级	 |^	震慑,耳聋	 |
|^	至多比施法者等级低5级	 |^	困惑,震慑,耳聋	 |
|^	至多比施法者等级低10级	 |^	被杀,困惑,震慑,耳聋	 |

|此外,若你施法时处于你的原属界域,则处于法术范围内的跨位面非混乱生物会被立即逐回他们的原属界域。被驱逐的生物24小时内不能返回。无论生物是否听到混沌真言此效果都有效。生物可进行意志豁免(受到-4减值)使得放逐效果失效。|
|生命骰数超过你施法者等级的生物不会受混沌真言的影响。|


!!!回返真言(Word of Recall)
|咒法系(传送)|
|''等级:''牧师6,德鲁伊8 |
|''法术成分:''言语|
|''施法时间:''1个标准动作|
|''距离:''无限制|
|''目标:''你和你接触到的物品或其他自愿的生物|
|''持续时间:''立即|
|''豁免:''无,或意志通过则无效(无害,物品)|
|''法术抗力:''不可或可(无害,物品)|
|在完全念出咒语时,回返真言会立即把你传送回你的避难所。你必须在准备法术时就指定好避难所,并且那里必须是你非常熟悉的地方。实际传送到的目的地是不得超过10英尺乘10英尺的区域。你可以在传送至同位面内的任何地方,但不可跨位面。你还可以携带不超过你最大负重的物品。每三施法者等级,你还可以带一个自愿的中型或小型生物(分别可携带不超过其最大负重的物品装备)或等同于此的生物。一个大型生物视作两个中型生物,一个巨型生物视作两个大型生物,以此类推。所有被传送的生物必须和其他一个被传送者接触,并且至少有一个被传送者要与你接触。超出限制则法术失效。|
|非自愿的生物不能用回返真言传送。同样,生物的意志豁免(或法术抗力)能阻止被他持有的物品被传送。无主的非魔法物品不能进行豁免检定。|
!!Worg(座狼)

''中型魔法兽''

|''生命骰:'' 4d10+8(30hp)|
|''先攻权:'' +2|
|''速度:'' 50尺(10格)|
|''防御等级:'' 14(+2敏捷,+2天生),接触12,措手不及12|
|''基本攻击/擒抱:'' +4/+7|
|''攻击:'' 啮咬+7近战(1d6+4)|
|''全回合攻击:'' 啮咬+7近战(1d6+4)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 摔拌攻击|
|''特性:'' 黑暗视觉60尺,昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+6,反射+6,意志+3|
|''属性:'' 力量17,敏捷15,体质15,智力6,感知14,魅力10|
|''技能:'' 躲藏+4,聆听+6,潜行+6,侦察+6,生存+2*|
|''专长:'' 警觉,追踪|
|''环境:'' 温带平原|
|''组织:'' 单独,成对或成群(6–11)|
|''挑战等级:'' 2|
|''宝物:'' 1/10金币;50%宝物;50%物品|
|''阵营:'' 通常是中立邪恶|
|''进化:'' 5–6HD(中型);7–12HD(大型)|
|''等级调整:'' +1(作为部属)|

典型的座狼拥有灰色或黑色的毛皮,长5尺,肩高3尺,重300磅.

比那些较小的表亲更聪明,座狼说它们自己的语言.有些也会说通用语和地精语.

!!!战斗
独行的座狼会找那些小的猎物下手,而夫妻档或狼群则会合力干掉大家伙,但是它们都会使用一击脱离的战术耗死对手.一个狼群通常会包围对手,然后每只狼轮流攻击,打中就退, 知道对手体力耗尽,则一涌而上轰杀之.若它们失去耐心或拥有压倒性的数量优势,则会试图压制对手.

''摔拌攻击(特异): ''座狼若啮咬攻击命中对手,则它不需要作接触攻击或引发借机攻击就可以尝试以一个即时动作摔拌对手(+3检定调整).如果尝试失败,对手也无法反摔拌座狼.

''技能:''技能:座狼在聆听,潜行和侦察检定上有+1种族加值,在躲藏检定上有+2种族加值. 

*座狼在用嗅觉追踪时生存检定有+4种族加值.
''Wounding(血光):''
被血光武器打中的生物会受到1点因失血造成的体质伤害。重击不会累加体质伤害。免疫重击的生物(例如植物和构装生物)不受武器造成的体质伤害。

中等塑能系灵光;CL10;制造魔法武器和防具,法师之剑(mage's sword);价格+2加值。
|!		|!	缚灵	|!	惧栗缚灵	|
|!		|!	中型不死生物(虚体)	|!	大型不死生物(虚体)	|
|^	''生命骰:''	|^	5d12(32hp)	|^	16d12(104hp)	|
|^	''先攻权:''	|^	+7	|^	+13	|
|^	''速度:''	|^	飞行60尺(良好)(12格)	|^	飞行60尺(良好)(12格)	|
|^	''防御等级:''	|^	15(+3敏捷,+2偏斜),接触15,措手不及12	|^	25(-1体型,+9敏捷,+7偏斜),接触25,措手不及16	|
|^	''基本攻击/擒抱:''	|^	+2/-	|^	+8/-	|
|^	''攻击:''	|^	虚体之触+5近战(1d4加1d6体质吸取)	|^	体虚之触+16近战(2d6加1d8体质吸取)	|
|^	''全回合攻击:''	|^	虚体之触+5近战(1d4加1d6体质吸取)	|^	体虚之触+16近战(2d6加1d8体质吸取	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	10尺/10尺	|
|^	''特殊攻击:''	|^	体质吸取,创造衍体	|^	体质吸取,创造衍体	|
|^	''特性:''	|^	黑暗视觉60尺,阳光失能,虚体特性,+2驱散抗力,不死生物特性,妖气	|^	黑暗视觉60尺,阳光失能,虚体特性,生命探知60尺,不死生物特性,妖气	|
|^	''豁免检定:''	|^	强韧+1,反射+4,意志+6	|^	强韧+5,反射+14,意志+14	|
|^	''属性:''	|^	力量-,敏捷16,体质-,智力14,感知14,魅力15	|^	力量-,敏捷28,体质-,智力17,感知18,魅力24	|
|^	''技能:''	|^	交涉+6,躲藏+11,威吓+10,聆听+12,搜索+10,察言观色+8,侦察+12,生存+2(+4追迹)	|^	交涉+9,躲藏+24,威吓+26,知识(宗教)+22,聆听+25,搜索+22,察言观色+23,侦察+25,生存+4(+6追迹)	|
|^	''专长:''	|^	警觉,盲斗,战斗反射,精通先攻	|^	警觉,盲斗,战斗反射,闪避,精通先攻,强化天生攻击(虚体之触),机动力,跳跃攻击	|
|^	''环境:''	|^	任何	|^	任何	|
|^	''组织:''	|^	单独,成队(2-5)或成群(6-11)	|^	单独	|
|^	''挑战等级:''	|^	5	|^	11	|
|^	''宝物:''	|^	无	|^	无	|
|^	''阵营:''	|^	总是守序邪恶	|^	总是守序邪恶	|
|^	''进化:''	|^	6-10HD(中型)	|^	17-32HD(大型)	|
|^	''等级调整:''	|^	-	|^	-	|


缚灵是一种由邪恶和黑暗产生的一种虚体生物.有时,缚灵可怕的外表是批着装甲或持有武器的. 然而这种外表只是反映了它们生前的形态,而并不能影响它们的AC或战斗能力.

一个缚灵如人类一般高,惧栗缚灵则大约有食人魔大小.由于它们都是虚体,所以它们都没有重量.

缚灵说通用语和炼狱语.

!!!战斗

缚灵和惧栗缚灵都拥有以下能力.

''妖气(超自然):'' 野生或驯养的动物都可以在30尺内感受到缚灵的妖气.他们将不愿继续靠近,如果被强迫靠近,只要持续处在这个范围内,它们就会陷入恐慌.

''阳光失能(特异):''在天然阳光中,缚灵将完全无力化(不需要是"昼明术"造成的)并尽可能逃离那里.

!!!缚灵
''体质吸取(超自然):''被缚灵的虚体之触击中的活物必须通过一个DC14的强韧豁免否则将受到1d6点体质吸取.该豁免DC的关键属性是魅力.一旦这个攻击成功,缚灵将得到5点临时生命值.

''创造衍体(超自然):''任何被缚灵杀死的类人生物将在1d4轮内变成另一个缚灵.它的身体将保持完好,但是灵魂被扯出身体并产生转变.衍体将被创造它的缚灵控制直至被摧毁.它们不保留生前的任何能力.

!!!惧栗缚灵
潜藏在遗忘的神殿和遗弃的地方的深处,它们是最古老也最可怕的缚灵.它们可以感知附近那些让它们饥渴的活物.尽管体型有些臃肿,惧栗缚灵却拥有非凡的迅捷,他们使用跳跃攻击专和天生的接触攻击造成致命的效果后便融回阴影或墙壁中.

''生命探知(超自然):''就如同拥有盲感能力一般,惧栗缚灵可以感知并定位60尺范围内的活物.它也将自动感知到它们的生命力,如同使用了观命术.

''体质吸取(超自然):''被惧栗缚灵的虚体之触击中的活物必须通过一个DC25的强韧豁免否则将受到1d8点体质吸取.该豁免DC的关键属性是魅力.一旦这个攻击成功,惧栗缚灵将得到5点临时生命值.

''创造衍体(超自然):''任何被惧栗缚灵杀死的类人生物将在1d4轮内变成另一个缚灵.它的身体将保持完好,但是灵魂被扯出身体并产生转变.衍体将被创造它的缚灵控制直至被摧毁.它们不保留生前的任何能力.
!!Wyvern(双足飞龙)

''大型龙类''

|''生命骰:'' 7d12+14(59hp)|
|''先攻权:'' +1|
|''速度:'' 20尺(4格),飞行60尺(笨拙)|
|''防御等级:'' 18(–1体型,+1敏捷,+8天生),接触10,措手不及17|
|''基本攻击/擒抱:'' +7/+15|
|''攻击:'' 螯刺+10近战(1d6+4加毒素)或爪抓+10近战(2d6+4)或啮咬+10近战(2d8+4)|
|''全回合攻击:'' 螯刺+10近战(1d6+4加毒素)和啮咬+10近战(2d8+4)和2翼击+8近战(1d8+2)和2爪抓+10近战(2d6+4)|
|''面宽/触及:'' 10尺/5尺|
|''特殊攻击:'' 毒素,精通擒抱|
|''特性:'' 黑暗视觉60尺,对睡眠术和麻痹免疫,昏暗视觉,灵敏嗅觉|
|''豁免:'' 强韧+7,反射+6,意志+6|
|''属性:'' 力量19,敏捷12,体质15,智力6,感知12,魅力9|
|''技能:'' 躲藏+7,聆听+13,潜行+11,侦察+16|
|''专长:'' 能力专攻(毒素),警觉,飞跃攻击,多重攻击|
|''环境:'' 热带山脉|
|''组织:'' 单独,成对或组队(3–6)|
|''挑战等级:'' 6|
|''宝物:'' 标准|
|''阵营:'' 通常是中立|
|''进化:'' 8–10HD(超大型);11–21HD(巨型)|
|''等级调整:'' —|

双足飞龙是一种带有巨毒尾刺的巨大的飞行蜥蜴,它们是真龙的远亲.

双足飞龙深棕色或灰色的身体有15尺长其中一半是尾的长度.它的翼展约有20尺,体重约一吨.

双足飞龙说龙语, 但通常它们不会为了组织语言而费心,它们只发出一些嘶嘶声或者来自喉咙深处的低吼.

!!!战斗

双足飞龙通常很傻但很好斗,它们几乎会攻击一切不是明显强于自身的东西.双足飞龙会从空中俯冲向对手,用爪子将对手攫住,然后用尾刺将之杀死.双足飞龙只有在使用飞跃攻击时才能用爪子进行挥砍.

''精通擒抱(特异): ''使用此能力时,双足飞龙必须使用爪抓击中对手.它不必引发借机攻击就可以尝试以一个即时动作擒抱对手.如果它赢得擒抱检定,则可以抓住对手并开始刺击. 

''毒素(特异):''伤口,强韧DC17,即时和后续伤害2d6体质.该DC的关键属性是体质.

''技能:''双足飞龙在侦察检定上有+3种族加值.
''X-Ray Vision(X光扫描)'':启动后可使穿戴者透视物体,透视距离20英尺,即使没有光源也可以看见物体(例如:穿戴者可透视上锁的木箱,即使箱内无光也能看见内藏之物)。扫描时可以穿透20英尺厚的布、木头或类似的动植物制品,石头或某些金属只能穿透10英尺,有些金属完全无法穿透。
!!Xill(锡尔族)

''中型异界生物(跨位面)''

|''生命骰:'' 5d8+10(32Hp)|
|''先攻权:'' +7|
|''速度:'' 40尺(8格)|
|''防御等级:'' 20(+3敏捷,+7天然),接触13,措手不及17|
|''基本攻击/擒抱:'' +5/+7|
|''攻击:'' 短剑+7近身(1d6+2/19-20)或爪抓+7近身(1d4+2)或长弓+8远程(1d8/x3)|
|''全回合攻击:'' 短剑+5/+5近身(1d6+2/19-20,1d6+1/19-20)和爪抓+5/+5近身(1d4+2,1d4+1)或爪抓+5/+5/+5/+5近身(1d4+2,1d4+1)或长弓+4/+4远程(1d8/x3)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 植入卵囊,精通擒抱,麻痹|
|''特性:'' 法术抗力21,黑暗视觉60尺,位面行走|
|''豁免:'' 强韧+6,反射+7,意志+5|
|''属性:'' 力量15,敏捷16,体质15,智力12,感知12,魅力11|
|''技能:'' 平衡+13,攀爬+10,交涉+2,逃脱+11,恐吓+8,聆听+9,潜行+11,察言观色+8,侦察+9,反滚+11,绳技+3(捆绑+5)|
|''专长:'' 精通先攻,多重攻击,多武器攻击|
|''环境:'' 灵位面|
|''组织:'' 单独,或者成队(2~5个)|
|''挑战等级:'' 6|
|''宝物:'' 标准|
|''阵营:'' 总是守序邪恶|
|''进化:'' 6~8HD(中型),9~15HD(大型)|
|''等级调整:'' +4|

锡尔族人站起来大概4到5英尺高,体重差不多100磅。
它们说炼狱语。

!!!战斗
锡尔族人可是说是一种危险的对手,它们竟然能同时使用四只手打架。有些更开化的也用武器,通常使用两把武器,空出两只爪子用来擒抱。

锡尔族人特别经常的埋伏在灵位面等待合适的猎物,而且运用位面行走的能力来进行游击战(伏击、狙击、骚扰、偷袭、破袭等等...)。在战斗中充分利用它优秀得翻滚技术:比如,通常一两位锡尔族人采用诱敌深入的战术来吸引较强大的敌人的攻击,将敌人引入预先的包围圈之后则采用死守阻击战术,等待同伴来个机动的里应外合,将敌人杀个片甲不留。

''植入卵囊(Ex):''通过一个标准动作,锡尔族人可以在一个已经麻痹的生物的身体里...下一个蛋(汗,难道锡尔族人全都是母的?)。幼虫的孵化需要90天,而后将寄主体内所有一切全部吃光。移出疾病法术可以除去寄生卵(似乎..孵出来的就没办法了),一个成功的难度为25的医疗鉴定也可以做到这样。不过即使失败了,医疗者也可以重试,但是每次尝试(不论成功与否)都会给病人带来1d4的伤害。(另 这也是这种生物命名的原因)

''精通擒抱(Ex):''要使用这种能力,锡尔族人必须之少有一只爪能摸到敌人。这样它就可以尝试去用一个自由动作擒抱,而不会引起借机攻击。每增加一只成功击中对方的爪子,就会带来+2的擒抱判定加值。如果锡尔族人成功将对方定身而且持续到下一个回合,它就会自动地用它的小嘴和尖牙在敌人身上“亲”上一口,这温柔的一小嘴自然不会带来伤害,但却会使对方神魂颠倒、身体麻痹,呃,不过据说这与锡尔族人特有的神经毒液也许有些拉拢。

''麻痹(Ex):''被锡尔族人轻轻一吻之后,对方必需成功通过一个难度为14的强韧鉴定来把持自己内心的欲火。否则势必会过于兴奋而引起1d4小时的麻痹。该豁免DC的关键属性是体质。

''位面行走(Su):''锡尔族人这些位面旅行家喜欢透过位面的褶皱来攻击它们的敌人,宛如神兵天降一般。它们可以用一个类移动作来离开灵位面,却需要两个类以动作回来,在它们做位面转移的时候是不可以移动的。在喜儿族人的身体逐渐消隐的时候,打中它们成了一件比较困难的事:在第一轮攻击者有20%的几率失手,而到了第二轮,这个数字更增及到了50%。每个锡尔族人都可以顺带手捎上一个自愿或者已经无助的物体一起进行位面行走。





|!		|!	小索尔石怪	|!	中型索尔石怪	|!	索尔石怪长老	|
|!		|!	小型异界生物(跨位面,土系)	|!	中型异界生物(跨位面,土系)	|!	大型异界生物(跨位面,土系)	|
|^	''生命骰:''	|^	3d8+9(22hp)	|^	7d8+17(48hp)	|^	15d8+63(130hp)	|
|^	''先攻权:''	|^	+0	|^	+0	|^	+0	|
|^	''速度:''	|^	20尺(4格),遁地20尺	|^	20尺(4格),遁地20尺	|^	20尺(4格),遁地20尺	|
|^	''防御等级:''	|^	23(+1体形,+12天生),接触11,措手不及23	|^	24(+14天生),接触10,措手不及24	|^	25(-1体形,+16天生),接触9,措手不及25	|
|^	''基本攻击/擒抱:''	|^	+3/+1	|^	+7/+10	|^	+15/+26	|
|^	''攻击:''	|^	啮咬+6近战(2d8+2)	|^	啮咬+10近战(4d6+3)	|^	啮咬+21近战(4d8+7)	|
|^	''全回合攻击:''	|^	啮咬+6近战(2d8+2)及3爪抓+4近战(1d3+1)	|^	啮咬+10近战(4d6+3)及3爪抓+8近战(1d4+1)	|^	啮咬+21近战(4d8+7)及3爪抓+19近战(1d6+3)	|
|^	''面宽/触及:''	|^	5尺/5尺	|^	5尺/5尺	|^	10尺/10尺	|
|^	''特殊攻击:''	|^	-	|^	-	|^	-	|
|^	''特性:''	|^	全域视野,掘穴,伤害减免5/钝击,昏暗视觉60尺,免疫(火焰,寒冷),电击抗力10,颤动感知60尺	|^	全域视野,掘穴,伤害减免5/钝击,昏暗视觉60尺,免疫(火焰,寒冷),电击抗力10,颤动感知60尺	|^	全域视野,掘穴,伤害减免5/钝击,昏暗视觉60尺,免疫(火焰,寒冷),电击抗力10,颤动感知60尺	|
|^	''豁免检定:''	|^	强韧+5,反射+3,意志+3	|^	强韧+7,反射+5,意志+5	|^	强韧+13,反射+9,意志+9	|
|^	''属性:''	|^	力量15,敏捷10,体质15,智力10,感知11,魅力10	|^	力量17,敏捷10,体质15,智力10,感知11,魅力10	|^	力量25,敏捷10,体质19,智力10,感知11,魅力10	|
|^	''技能:''	|^	躲藏+10,威吓+3,知识(地下城)+6,聆听+6,潜行+3,搜索+6,侦察+8,野外生存+6(+8追踪时或在地底时)	|^	躲藏+10,威吓+10,知识(地下城)+10,聆听+10,潜行+10,搜索+10,侦察+10,野外生存+10(+12追踪时或在地底时)	|^	躲藏+14,威吓+18,知识(地下城)+18,聆听+18,潜行+18,搜索+22,侦察+22,野外生存+18(+20追踪时或在地底时)	|
|^	''专长:''	|^	多重攻击,健壮	|^	顺势斩,多重攻击,猛力攻击,健壮	|^	无畏一击(Awesome Blow),顺势斩,大顺势斩,精通冲撞,多重攻击,猛力攻击,健壮	|
|^	''环境:''	|^	土元素位面	|^	土元素位面	|^	土元素位面	|
|^	''组织:''	|^	单独,成对,成群(3-5)	|^	单独,成对,成群(3-5)	|^	单独,成对,成群(6-11)	|
|^	''挑战等级:''	|^	3	|^	6	|^	8	|
|^	''宝物:''	|^	无	|^	无	|^	无	|
|^	''阵营:''	|^	通常是绝对中立	|^	通常是绝对中立	|^	通常是绝对中立	|
|^	''进化:''	|^	4-6HD(小型)	|^	8-14HD(中型)	|^	16-21HD(大型);22–45HD(巨型)	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


小索尔石怪差不多身高3尺,腰宽也是3尺,体重大约120磅。中型索尔石怪得身高腰宽则同时增加到5尺,体重大约600磅。索尔石怪长老更是身高腰宽8尺,体重达到9000磅。

索尔石怪能说通用语和土族语

!!!战斗
索尔石怪不会攻击任何“肉制品”除非要保护自己或者自己的财产,它们根本不能产生蛋白酶来消化吸收蛋白质。索尔石怪对巴佬或者其他主物质面的东西毫不感冒,只有一种例外情况,那些携带着索尔石怪食物--贵重金属或者矿石--的家伙。它们可以在20尺外就闻到它们的“食物”。寻找食物的索尔石怪可以变得相当好斗,尤其是在主物质面,那个食物比它们老家难找得多的地方。(所以呢,与索尔石怪“坦诚相见”是个好主意,如果你明白我的意思,恩,裸体。)

索尔石怪特别喜欢的战术就是在石头里面伏击,直到敌人进入了触及的“射程”,便会突然得冒出来奇袭敌人。如果是有组的整群索尔石怪,它们会派遣一个先遣谈判专家冒出石头表面,通过熟练的使用威吓等交涉技巧来进行一场以食物为主题的“谈判”来达到兵不血刃的目的,同时其他成员则继续躲在石头里,为谈判失败后的突袭作准备。

''全域视野 (EX):''索尔石怪的身体上相当和谐的生长着3只眼睛,这使得索尔石怪可以向任何方向看,如果在搜索和侦察时,这能带来+4得种族加值。索尔石怪不能被夹击。

''掘穴 (EX):''索尔石怪能在石头、泥土或者几乎一切土质种类内部滑行,除了金属。这就像鱼儿在水里游泳一样容易。这不会遗留下任何隧道或洞穴,也不会产生任何震动或者记号标志着索尔石怪的出现。将一个 [地动术]斜体 魔法投向索尔石怪正在遁行的区域,可以将它向后抛出30尺。此外还可以另索尔石怪震慑1轮,除非它成功通过了DC15的强稳豁免。
!!Yeth Hound(夜嘶猎犬)

''中型异界生物 (跨位面,邪恶)''

|''生命骰:'' 3d8+6(19hp)|
|''先攻权:'' +6|
|''速度:'' 40尺(8格),飞行60尺(良好)|
|''防御等级:'' 20(+2敏捷,+8天生),接触12,措手不及18|
|''基本攻击/擒抱:'' +3/+6|
|''攻击:'' 啮咬+6近战(1d8+4)|
|''全回合攻击:'' 啮咬+6近战(1d8+4)|
|''面宽/触及:'' 5尺/5尺|
|''特殊攻击:'' 咆哮,绊摔|
|''特性:'' 伤害减免10/银,黑暗视觉60尺,飞行,灵敏嗅觉|
|''豁免:'' 强韧+5,反射+5,意志+5|
|''属性:'' 力量17,敏捷15,体质15,智力6,感知14,魅力10|
|''技能:'' 聆听+11,侦察+11,搜索+7,生存+11(+13追踪)*|
|''专长:'' 精通先攻,追踪|
|''环境:'' 邪恶位面|
|''组织:'' 单独,成对,或成群(6-11)|
|''挑战等级:'' 3|
|''宝物:'' 无|
|''阵营:'' 总是中立邪恶|
|''进化:'' 4-6HD(中型);7-9HD(大型)|
|''等级调整:'' +3(作为伙伴)|


夜嘶猎犬站立时肩高约5尺,重约400磅。

夜嘶猎犬不会说话,但是能听懂炼狱语。

!!!战斗
夜嘶猎犬只在夜晚进行狩猎。它们畏惧太阳且从不在阳光下出现,尽管它们的生存也依赖于阳光。

在对抗伤害减免时,夜嘶猎犬的天生武器与它所持有的任何武器一样,都被视为具有邪恶阵营。

''咆哮 (Su):''夜嘶猎犬在咆哮时,处于300尺扩散范围内除了邪恶的异界生物外的所有生物都必须通过一个DC 11的意志豁免检定否则就会恐慌达2d4轮。这是一种音波性的影响心灵的恐惧效果。无论是否通过豁免检定,被影响的生物在24小时内对同一夜嘶猎犬的咆哮免疫。该豁免检定DC基于魅力调整值。

''绊摔 (Ex):''夜嘶猎犬一旦通过啮咬攻击击中对手就可以通过一个即时动作尝试绊摔对手 (+3检定调整值),这不需要像通常那样进行接触攻击,同时也不会引发借机攻击。即使尝试失败,对手也不能反过来绊摔夜嘶猎犬。

''飞行 (Su):''夜嘶猎犬可以通过一个即时动作开始或结束飞行。

''技能:''*通过嗅觉追踪进行生存检定时夜嘶猎犬可获得+4的种族加值。
!!Yrthak(角翼魔兽)

''超大型魔法兽''

|''生命骰:'' 12d10+36(102hp)|
|''先攻权:'' +6|
|''速度:'' 20尺(4格),飞行60尺(普通)|
|''防御等级:'' 18(-2体型,+2敏捷,+8天生),接触10,措手不及16|
|''基本攻击/擒抱:'' +12/+25|
|''攻击:'' 啮咬+15近战(2d8+5),或音波枪+12远程接触(6d6)|
|''全回合攻击:'' 啮咬+15近战(2d8+5)及2爪抓+13近战(1d6+2);或音波枪+12远程接触(6d6)|
|''面宽/触及:'' 15尺/10尺|
|''特殊攻击:'' 音波枪,爆裂|
|''特性:'' 盲视120尺,免疫,易受音波伤害|
|''豁免:'' 强韧+11,反射+10,意志+5|
|''属性:'' 力量20,敏捷14,体质17,智力7,感知13,魅力11|
|''技能:'' 聆听+12,潜行+10|
|''专长:'' 坚忍,飞越攻击,精通先攻,多重攻击,攫取|
|''环境:'' 温带山脉|
|''组织:'' 单独或成队(2-4)|
|''挑战等级:'' 9|
|''宝物:'' 无|
|''阵营:'' 偏向中立|
|''进化:'' 13-16HD(超大型);17-36HD(巨型)|
|''等级调整:'' -|

角翼魔兽是瞎的。它通过其长舌上的特殊感知器官来感测声波和移动。它能通过其头部的突出物来发射出强力的集束声波。角翼魔兽颜色为黄绿色,翅膀和背鳍偏向黄色,头部和身躯则偏向绿色。它的牙齿是黄色的。

角翼魔兽长约20尺,翼展约40尺。它重约5000磅。

尽管有相当的智力,但是角翼魔兽不会说话。

!!!战斗
角翼魔兽喜欢从空中攻击,以音波扫射地面或攫取起猎物再将其摔下。

''音波枪 (Su):''每2轮一次,角翼魔兽能将音波能量聚焦为一道60尺长的射线。这孰与远程接触攻击,且能对单一目标造成6d6点伤害。

''爆裂 (Su):''角翼魔兽可对地面、巨石、石墙或类似的东西发射音波枪以造成碎石纷飞的爆炸。此攻击可对爆炸点中心10尺范围内造成2d6点穿刺伤害。这被算作音波枪攻击,因此只能每2轮使用一次,且永远也不会在进行了音波枪攻击的之后一轮中进行。

''盲视 (Ex):''角翼魔兽能探知120尺范围内的所有敌人。一旦超出范围,则视为角翼魔兽处于目盲状态。凝视攻击、幻术之类法术的视觉效果及其他需要目视的攻击对角翼魔兽无效。角翼魔兽的听觉一旦受损就视为目盲,所有目标对它而言都处于全隐蔽状态。

''免疫:''角翼魔兽对凝视攻击、视觉效果、幻术及其他需要目视的攻击免疫。

''技能:''在进行聆听检定时角翼魔兽可获得+4的种族加值。
僵尸是被黑暗而罪恶的法术所复活的尸体。

由于它们极度缺乏智力,所以对刚创造出来的僵尸下达命令时必须非常简单扼要。

!!!创造一个僵尸

“僵尸”是一个可以添加倒任何有骨架结构的实体生物(非不死生物)上的模板(以下将它简称为“基本生物”)。

''体型和种类:''生物种类变为不死生物。它依然保留其非阵营(例如善良)和非外型的子类别。它不会得到额外的子类别。除此之外,它将使用基本生物的资料列及特殊能力,除了以下几点:

''生命骰:''失去所有由职业等级而获得的生命骰(最少剩余一),将余下的生命骰数翻倍并提升至d12。若基本生物拥有10个以上的生命骰(不包括由经验获得的),它便不能由“操控死尸”法术来变成僵尸。

''速度:''若基本生物能够飞行,则其机动性降至笨拙。

''防御等级:''天生防御加值根据僵尸体型获得额外加值:

|!体型|!AC加值|
|超小型或更小|+0|
|小型|+1|
|中型|+2|
|大型|+3|
|超大型|+4|
|巨型|+7|
|超巨型|+11|

''基本攻击:''僵尸的基本攻击加值等同于1/2生命骰。

''攻击:''僵尸保留其所有天生武器,人造武器攻击,以及武器熟练程度。僵尸同时可以获得挥击能力。

''伤害:''天生武器和人造武器造成其通常伤害,挥击攻击造成的伤害取决于骷髅的体型(在基本生物的挥击伤害中取其高者)。

|!体型 |!伤害 |
|超微型|1|
|微型|1d2|
|超小型|1d3|
|小型|1d4|
|中型|1d6|
|大型|1d8|
|超大型|2d6|
|巨型|2d8|
|超巨型|4d6|


''特殊攻击:''僵尸不保留基本生物的特殊攻击。

''特性:''僵尸会失去基本生物的大部分特性。它保留其增强近战和远程攻击的特异能力。僵尸同时获得下列特性:

//伤害减免5/挥砍://僵尸是由许多肉块堆积而成的。

//只有部分动作(Single Actions Only,Ex)://僵尸的反应很慢,因而每轮中只能做出一个移动动作或攻击动作。它们只能在冲刺中才能同时移动和攻击。

''豁免:''基础豁免变更为:强韧+1/3HD,反射+1/3HD,意志+1/2HD+2

''属性:''僵尸获得力量+2,敏捷-2,它不具有体质和智力属性,其感知变为10,魅力变为1。

''技能:''僵尸没有技能。

''专长:''僵尸失去基本生物的所有专长同时获得健壮的专长。

''环境:''任何陆地和地底

''组织:''任何

''挑战等级:''取决于生命骰,如下:

|!生命骰|!挑战等级|
|1/2|1/8|
|1|1/4|
|2|1/2|
|4|1|
|6|3|
|8-10|4|
|12-14|5|
|15-16|6|
|18-20|7|


''宝物:''无

''阵营:''总是中立邪恶

''进化:''同基本生物,但生命骰数翻倍(若基本生物进化根据职业等级则-) 


|!		|!	狗头人僵尸(Kobold Zombie)	|!	人类平民僵尸(Human Commoner Zombie)	|!	战蜥人僵尸(Troglodyte Zombie)	|
|!		|!	小型不死生物	|!	中型不死生物	|!	中型不死生物	|
|^	''生命骰:''	|^	2d12+3(16hp)	|^	2d12+3(16hp)	|^	4d12+3(29hp)	|
|^	''先攻权:''	|^	+0	|^	-1	|^	-2	|
|^	''速度:''	|^	30ft(6格,无法奔跑)	|^	30ft(6格,无法奔跑)	|^	30ft(6格,无法奔跑)	|
|^	''防御等级:''	|^	13(+1体型,+2天生),接触11,措手不及13	|^	11(-1敏捷,+2天生),接触9,措手不及11	|^	16(-2敏捷,+8天生),接触9,措手不及11	|
|^	''基本攻击/擒抱:''	|^	+1/-4	|^	+1/+2	|^	+1/+2	|
|^	''攻击:''	|^	矛+1近战(1d6-1/x3),或挥击+1近战(1d4-1),或轻十字弓+2远程(1d6/19-20)	|^	挥击+2近战(1d6+1/18-20),或木棒+2近战(1d6+1)	|^	巨木棒+3近战(1d10+1),或啮咬+3近战(1d4+1),或挥击+2近战(1d6+1),或标枪+0远程(1d6+1)	|
|^	''全回合攻击:''	|^	矛+0近战(1d6-1/x3),或挥击+0近战(1d4-1),或轻十字弓+1远程(1d6/19-20)	|^	挥击+2近战(1d6+1/18-20),或木棒+2近战(1d6+1)	|^	巨木棒+3近战(1d10+1),或啮咬+3近战(1d4+1),或挥击+2近战(1d6+1),或标枪+0远程(1d6+1)	|
|^	''面宽/触及:''	|^	5ft/5ft	|^	5ft/5ft	|^	5ft/5ft	|
|^	''特殊攻击:''	|^	-	|^	-	|^	-	|
|^	''特性:''	|^	只有部分动作,伤害减免5/挥砍,黑暗视觉60英尺,不死生物特性	|^	只有部分动作,伤害减免5/挥砍,黑暗视觉60英尺,不死生物特性	|^	只有部分动作,伤害减免5/挥砍,黑暗视觉60英尺,不死生物特性	|
|^	''豁免检定:''	|^	强韧+0,反射+0,意志+3	|^	强韧+0,反射-1,意志+3	|^	强韧+1,反射-1,意志+4	|
|^	''属性:''	|^	力量8,敏捷11,体质-,智力-,感知10,魅力1	|^	力量12,敏捷8,体质-,智力-,感知10,魅力1	|^	力量12,敏捷7,体质-,智力-,感知10,魅力1	|
|^	''技能:''	|^	-	|^	-	|^	-	|
|^	''专长:''	|^	强壮	|^	强壮	|^	强壮	|
|^	''环境:''	|^	暖和的树林	|^	任何	|^	地底	|
|^	''组织:''	|^	任何	|^	任何	|^	任何	|
|^	''挑战等级:''	|^	1/2	|^	1/2	|^	1	|
|^	''宝物:''	|^	无	|^	无	|^	无	|
|^	''阵营:''	|^	总是中立邪恶	|^	总是中立邪恶	|^	总是中立邪恶	|
|^	''进化:''	|^	无	|^	无	|^	无	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


|!		|!	熊地精僵尸(Bugbear Zombie)	|!	食人魔僵尸(Ogre Zombie)	|!	牛头人僵尸(Minotaur Zombie)	|
|!		|!	中型不死生物	|!	大型不死生物	|!	大型不死生物	|
|^	''生命骰:''	|^	6d12+3(42hp)	|^	8d12+3(55hp)	|^	12d12+3(81hp)	|
|^	''先攻权:''	|^	+0	|^	-2	|^	-1	|
|^	''速度:''	|^	30ft(6格,无法奔跑)	|^	30ft(6格,无法奔跑)	|^	30ft(6格,无法奔跑)	|
|^	''防御等级:''	|^	16(+5天生,+1小木盾),接触10,措手不及16	|^	15(-1体型,-2敏捷,+8天生),接触7,措手不及15	|^	16(-1体型,-1敏捷,+8天生),接触8,措手不及16	|
|^	''基本攻击/擒抱:''	|^	+3/+6	|^	+4/+14	|^	+6/+15	|
|^	''攻击:''	|^	钉头锤+6近战(1d8+3),或挥击+6近战(1d6+3),或标枪+3远程(1d6+2)	|^	巨木棒+9近战(2d8+9),或挥击+9近战(1d8+9),或标枪+1远程(1d8+6)	|^	巨斧+10近战(3d6+7/x3),或角顶+10近战(1d8+5),或挥击+10近战(1d8+5)	|
|^	''全回合攻击:''	|^	钉头锤+6近战(1d8+3),或挥击+6近战(1d6+3),或标枪+3远程(1d6+2)	|^	巨木棒+9近战(2d8+9),或挥击+9近战(1d8+9),或标枪+1远程(1d8+6)	|^	巨斧+10近战(3d6+7/x3),或抵撞+10近战(1d8+5),或挥击+10近战(1d8+5)	|
|^	''面宽/触及:''	|^	5ft/5ft	|^	10ft/10ft	|^	10ft/10ft	|
|^	''特殊攻击:''	|^	-	|^	-	|^	-	|
|^	''特性:''	|^	只有部分动作,伤害减免5/挥砍,黑暗视觉60英尺,不死生物特性	|^	只有部分动作,伤害减免5/挥砍,黑暗视觉60英尺,不死生物特性	|^	只有部分动作,伤害减免5/挥砍,黑暗视觉60英尺,不死生物特性	|
|^	''豁免检定:''	|^	强韧+2,反射+2,意志+5	|^	强韧+2,反射+0,意志+6	|^	强韧+4,反射+3,意志+8	|
|^	''属性:''	|^	力量17,敏捷10,体质-,智力-,感知10,魅力1	|^	力量23,敏捷6,体质-,智力-,感知10,魅力1	|^	力量21,敏捷8,体质-,智力-,感知10,魅力1	|
|^	''技能:''	|^	-	|^	-	|^	-	|
|^	''专长:''	|^	强壮	|^	强壮	|^	强壮	|
|^	''环境:''	|^	暖和的山脉	|^	暖和的丘陵	|^	地底	|
|^	''组织:''	|^	任何	|^	任何	|^	任何	|
|^	''挑战等级:''	|^	2	|^	3	|^	4	|
|^	''宝物:''	|^	无	|^	无	|^	无	|
|^	''阵营:''	|^	总是中立邪恶	|^	总是中立邪恶	|^	总是中立邪恶	|
|^	''进化:''	|^	无	|^	无	|^	无	|
|^	''等级调整:''	|^	-	|^	-	|^	-	|


|!		|!	翼龙僵尸(Wyvern Zombie)	|!	灰袋兽僵尸(Gray Render Zombie)	|
|!		|!	大型不死生物	|!	大型不死生物	|
|^	''生命骰:''	|^	14d12+3(94hp)	|^	20d12+3(94hp)	|
|^	''先攻权:''	|^	+0	|^	-1	|
|^	''速度:''	|^	20ft(4格,无法奔跑),飞行60ft(笨拙)	|^	30ft(6格,无法奔跑)	|
|^	''防御等级:''	|^	20(-2体型,+12天生),接触8,措手不及20	|^	16(-1体型,+12天生),接触8,措手不及16	|
|^	''基本攻击/擒抱:''	|^	+7/+16	|^	+10/+21	|
|^	''攻击:''	|^	挥击+11近战(2d6+7),或耙抓+11近战(2d6+5)	|^	啮咬+16近战(2d6+7),或挥击+16近战(1d8+10)	|
|^	''全回合攻击:''	|^	挥击+11近战(2d6+7),或耙抓+11近战(2d6+5)	|^	啮咬+16近战(2d6+7),或挥击+16近战(1d8+10)	|
|^	''面宽/触及:''	|^	10ft/10ft	|^	10ft/10ft	|
|^	''特殊攻击:''	|^	-	|^	-	|
|^	''特性:''	|^	只有部分动作,伤害减免5/挥砍,黑暗视觉60英尺,不死生物特性	|^	只有部分动作,伤害减免5/挥砍,黑暗视觉60英尺,不死生物特性	|
|^	''豁免检定:''	|^	强韧+4,反射+4,意志+9	|^	强韧+6,反射+5,意志+12	|
|^	''属性:''	|^	力量21,敏捷10,体质-,智力-,感知10,魅力1	|^	力量25,敏捷8,体质-,智力-,感知10,魅力1	|
|^	''技能:''	|^	-	|^	-	|
|^	''专长:''	|^	强壮	|^	强壮	|
|^	''环境:''	|^	温带丘陵	|^	温带沼泽	|
|^	''组织:''	|^	任何	|^	任何	|
|^	''挑战等级:''	|^	4	|^	6	|
|^	''宝物:''	|^	无	|^	无	|
|^	''阵营:''	|^	总是中立邪恶	|^	总是中立邪恶	|
|^	''进化:''	|^	16-20(超大型)	|^	无	|
|^	''等级调整:''	|^	-	|^	-	|
!!!静默之域(Zone of Silence)
|幻术系(五官幻觉)|
|''等级:''吟游诗人4|
|''法术成分:''言语,姿势|
|''施法时间:''1轮|
|''距离:''个人|
|''区域:''以你为中心,半径5英尺的弥漫范围|
|''持续时间:''1小时/等级(可解消)|
|通过施展静默之域,你可以操控你邻近的声波,你和法术范围内的人可以自由交谈,但在这外面的人听不到里面的任何对话和声音,包括基于语言或音波的法术效果也一样。该法术效果以你为中心,并且随你一起移动。任何进入法术范围的人都会受到该法术的影响,而离开的人将不会受到影响。但要注意的是,可以通过侦察检定用读唇的方式得知静默之域内的人在说什么。|
!!!诚实之域(Zone of Truth)
|惑控系(胁迫)[影响心灵]|
|''等级:''牧师2,圣武士2 |
|''法术成分:''言语,姿势,法器|
|''施法时间:''1个标准动作|
|''距离:''近距(25英尺+5英尺/2等级)|
|''区域:'' 20英尺半径的弥漫区域|
|''持续时间:''1分钟/等级|
|''豁免:''意志,通过则无效|
|''法术抗力:''可|
|任何处于法术弥漫范围内(包括进入)的生物都不能蓄意说谎。生物可在施法或首次进入弥漫范围时进行意志检定,通过则不受影响。受影响的生物会意识到该效果的存在。因此,他们可以拒绝回答那些通常要说谎的问题,或者以其它实话来回避问题。生物一旦离开区域就不再受影响,想说什么就说什么。|